From 9f6e960a25dd3b1b15eeec790410a88e39d23ad1 Mon Sep 17 00:00:00 2001 From: Seaswimmer Date: Fri, 22 Mar 2024 21:53:19 +0000 Subject: [PATCH 01/49] fix(pterodactyl): fixed a broken msg.edit() call in `[p]pterodactyl set regex blacklist add]` --- pterodactyl/pterodactyl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index 08c9763..65b9bf7 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -531,7 +531,7 @@ class Pterodactyl(commands.Cog): await view.wait() if view.result is True: blacklist.update({name: regex}) - await msg.edit(f"Updated `{name}` in the regex blacklist.\n{box(regex, 're')}") + await msg.edit(content=f"Updated `{name}` in the regex blacklist.\n{box(regex, 're')}") else: await msg.edit(content="Cancelled.") From 6ec79c9f920594b6e28a1afa4533e9df77f83922 Mon Sep 17 00:00:00 2001 From: Seaswimmer Date: Sat, 23 Mar 2024 14:59:20 +0000 Subject: [PATCH 02/49] fix(pterodactyl): pylint fix --- pterodactyl/pterodactyl.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index 65b9bf7..c068c65 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -145,9 +145,7 @@ class Pterodactyl(commands.Cog): if await config.api_endpoint() == "minecraft": status, response = await mcsrvstatus.get_status(await config.topic_hostname(), await config.topic_port()) if status and 'list' in response['players']: - output_str = '' - for player in response['players']['list']: - output_str += f"{player}\n" + output_str = str.join(response['players']['list'], '\n') return output_str, response['players']['list'] return None From 50d1d7900b6eea3ea400ce52f6a80c9029e6fbea Mon Sep 17 00:00:00 2001 From: Seaswimmer Date: Sat, 23 Mar 2024 15:02:46 +0000 Subject: [PATCH 03/49] fix(pterodactyl): fixed `[pterodactyl players]` command --- pterodactyl/pterodactyl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index c068c65..92fa773 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -145,7 +145,7 @@ class Pterodactyl(commands.Cog): if await config.api_endpoint() == "minecraft": status, response = await mcsrvstatus.get_status(await config.topic_hostname(), await config.topic_port()) if status and 'list' in response['players']: - output_str = str.join(response['players']['list'], '\n') + output_str = '\n'.join(response['players']['list']) return output_str, response['players']['list'] return None From 43464db6a7c51bc69282b1ae3dc507a4aae851de Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 26 Mar 2024 03:04:06 -0400 Subject: [PATCH 04/49] fix(pterodactyl): replace newlines with whitespace to prevent formatting errors --- pterodactyl/pterodactyl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index 92fa773..601106a 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -132,7 +132,7 @@ class Pterodactyl(commands.Cog): "C": str(message.author.color), "D": message.author.discriminator, "I": str(message.author.id), - "M": message.content.replace('"',''), + "M": message.content.replace('"','').replace("\n", " "), "N": message.author.display_name, "U": message.author.name, "V": await config.invite() or "use [p]pterodactyl config invite to change me", From 1edb08a1271f12098ca0bed11a735f7162cedd14 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 03:29:35 -0400 Subject: [PATCH 05/49] feat(backup): updated to Red 3.5.6+ --- backup/backup.py | 23 +- poetry.lock | 1800 ++++++++++++++++++++++------------------------ 2 files changed, 851 insertions(+), 972 deletions(-) diff --git a/backup/backup.py b/backup/backup.py index cde40fa..08d6c24 100644 --- a/backup/backup.py +++ b/backup/backup.py @@ -14,8 +14,7 @@ from redbot.cogs.downloader import errors from redbot.cogs.downloader.converters import InstalledCog from redbot.core import commands from redbot.core.bot import Red -from redbot.core.utils.chat_formatting import (error, humanize_list, - text_to_file) +from redbot.core.utils.chat_formatting import error, humanize_list, text_to_file # pylint: disable=protected-access @@ -159,17 +158,15 @@ class Backup(commands.Cog): ) self.logger.debug("Repository %s already exists", name) - # This is commented out because errors.AuthenticationError is not yet implemented in Red 3.5.5's Downloader cog. - # Rather, it is only in the development version and will be added in version 3.5.6 (or whatever the next version is). - # except errors.AuthenticationError as err: - # repo_e.append(f"Authentication error while adding repository {name}. See logs for more information.") - # self.logger.exception( - # "Something went wrong whilst cloning %s (to revision %s)", - # url, - # branch, - # exc_info=err, - # ) - # continue + except errors.AuthenticationError as err: + repo_e.append(f"Authentication error while adding repository {name}. See logs for more information.") + self.logger.exception( + "Something went wrong whilst cloning %s (to revision %s)", + url, + branch, + exc_info=err, + ) + continue except errors.CloningError as err: repo_e.append( diff --git a/poetry.lock b/poetry.lock index 74076cd..97d9c51 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,126 +1,99 @@ # This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. -[[package]] -name = "aiodns" -version = "3.0.0" -description = "Simple DNS resolver for asyncio" -optional = false -python-versions = "*" -files = [ - {file = "aiodns-3.0.0-py3-none-any.whl", hash = "sha256:2b19bc5f97e5c936638d28e665923c093d8af2bf3aa88d35c43417fa25d136a2"}, - {file = "aiodns-3.0.0.tar.gz", hash = "sha256:946bdfabe743fceeeb093c8a010f5d1645f708a241be849e17edfb0e49e08cd6"}, -] - -[package.dependencies] -pycares = ">=4.0.0" - [[package]] name = "aiohttp" -version = "3.8.5" +version = "3.9.3" description = "Async http client/server framework (asyncio)" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:939677b61f9d72a4fa2a042a5eee2a99a24001a67c13da113b2e30396567db54"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f56455b0c2c7cc3b0c584815264461d07b177f903a04481dfc33e08a89f0c26b"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bca77a198bb6e69795ef2f09a5f4c12758487f83f33d63acde5f0d4919815768"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e083c285857b78ee21a96ba1eb1b5339733c3563f72980728ca2b08b53826ca5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df822ee7feaaeffb99c1a9e5e608800bd8eda6e5f18f5cfb0dc7eeb2eaa6bbec"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:acef0899fea7492145d2bbaaaec7b345c87753168589cc7faf0afec9afe9b747"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cd73265a9e5ea618014802ab01babf1940cecb90c9762d8b9e7d2cc1e1969ec6"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a78ed8a53a1221393d9637c01870248a6f4ea5b214a59a92a36f18151739452c"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6b0e029353361f1746bac2e4cc19b32f972ec03f0f943b390c4ab3371840aabf"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7cf5c9458e1e90e3c390c2639f1017a0379a99a94fdfad3a1fd966a2874bba52"}, + {file = "aiohttp-3.9.3-cp310-cp310-win32.whl", hash = "sha256:3e59c23c52765951b69ec45ddbbc9403a8761ee6f57253250c6e1536cacc758b"}, + {file = "aiohttp-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:055ce4f74b82551678291473f66dc9fb9048a50d8324278751926ff0ae7715e5"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b88f9386ff1ad91ace19d2a1c0225896e28815ee09fc6a8932fded8cda97c3d"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c46956ed82961e31557b6857a5ca153c67e5476972e5f7190015018760938da2"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07b837ef0d2f252f96009e9b8435ec1fef68ef8b1461933253d318748ec1acdc"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad46e6f620574b3b4801c68255492e0159d1712271cc99d8bdf35f2043ec266"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ed3e046ea7b14938112ccd53d91c1539af3e6679b222f9469981e3dac7ba1ce"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:039df344b45ae0b34ac885ab5b53940b174530d4dd8a14ed8b0e2155b9dddccb"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7943c414d3a8d9235f5f15c22ace69787c140c80b718dcd57caaade95f7cd93b"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84871a243359bb42c12728f04d181a389718710129b36b6aad0fc4655a7647d4"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5eafe2c065df5401ba06821b9a054d9cb2848867f3c59801b5d07a0be3a380ae"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9d3c9b50f19704552f23b4eaea1fc082fdd82c63429a6506446cbd8737823da3"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:f033d80bc6283092613882dfe40419c6a6a1527e04fc69350e87a9df02bbc283"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:2c895a656dd7e061b2fd6bb77d971cc38f2afc277229ce7dd3552de8313a483e"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1f5a71d25cd8106eab05f8704cd9167b6e5187bcdf8f090a66c6d88b634802b4"}, + {file = "aiohttp-3.9.3-cp311-cp311-win32.whl", hash = "sha256:50fca156d718f8ced687a373f9e140c1bb765ca16e3d6f4fe116e3df7c05b2c5"}, + {file = "aiohttp-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:5fe9ce6c09668063b8447f85d43b8d1c4e5d3d7e92c63173e6180b2ac5d46dd8"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:38a19bc3b686ad55804ae931012f78f7a534cce165d089a2059f658f6c91fa60"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:770d015888c2a598b377bd2f663adfd947d78c0124cfe7b959e1ef39f5b13869"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee43080e75fc92bf36219926c8e6de497f9b247301bbf88c5c7593d931426679"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52df73f14ed99cee84865b95a3d9e044f226320a87af208f068ecc33e0c35b96"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc9b311743a78043b26ffaeeb9715dc360335e5517832f5a8e339f8a43581e4d"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b955ed993491f1a5da7f92e98d5dad3c1e14dc175f74517c4e610b1f2456fb11"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:504b6981675ace64c28bf4a05a508af5cde526e36492c98916127f5a02354d53"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fe5571784af92b6bc2fda8d1925cccdf24642d49546d3144948a6a1ed58ca5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ba39e9c8627edc56544c8628cc180d88605df3892beeb2b94c9bc857774848ca"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e5e46b578c0e9db71d04c4b506a2121c0cb371dd89af17a0586ff6769d4c58c1"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:938a9653e1e0c592053f815f7028e41a3062e902095e5a7dc84617c87267ebd5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:c3452ea726c76e92f3b9fae4b34a151981a9ec0a4847a627c43d71a15ac32aa6"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ff30218887e62209942f91ac1be902cc80cddb86bf00fbc6783b7a43b2bea26f"}, + {file = "aiohttp-3.9.3-cp312-cp312-win32.whl", hash = "sha256:38f307b41e0bea3294a9a2a87833191e4bcf89bb0365e83a8be3a58b31fb7f38"}, + {file = "aiohttp-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:b791a3143681a520c0a17e26ae7465f1b6f99461a28019d1a2f425236e6eedb5"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ed621426d961df79aa3b963ac7af0d40392956ffa9be022024cd16297b30c8c"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7f46acd6a194287b7e41e87957bfe2ad1ad88318d447caf5b090012f2c5bb528"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feeb18a801aacb098220e2c3eea59a512362eb408d4afd0c242044c33ad6d542"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f734e38fd8666f53da904c52a23ce517f1b07722118d750405af7e4123933511"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b40670ec7e2156d8e57f70aec34a7216407848dfe6c693ef131ddf6e76feb672"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdd215b7b7fd4a53994f238d0f46b7ba4ac4c0adb12452beee724ddd0743ae5d"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:017a21b0df49039c8f46ca0971b3a7fdc1f56741ab1240cb90ca408049766168"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99abf0bba688259a496f966211c49a514e65afa9b3073a1fcee08856e04425b"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:648056db9a9fa565d3fa851880f99f45e3f9a771dd3ff3bb0c048ea83fb28194"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8aacb477dc26797ee089721536a292a664846489c49d3ef9725f992449eda5a8"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:522a11c934ea660ff8953eda090dcd2154d367dec1ae3c540aff9f8a5c109ab4"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5bce0dc147ca85caa5d33debc4f4d65e8e8b5c97c7f9f660f215fa74fc49a321"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b4af9f25b49a7be47c0972139e59ec0e8285c371049df1a63b6ca81fdd216a2"}, + {file = "aiohttp-3.9.3-cp38-cp38-win32.whl", hash = "sha256:298abd678033b8571995650ccee753d9458dfa0377be4dba91e4491da3f2be63"}, + {file = "aiohttp-3.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:69361bfdca5468c0488d7017b9b1e5ce769d40b46a9f4a2eed26b78619e9396c"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0fa43c32d1643f518491d9d3a730f85f5bbaedcbd7fbcae27435bb8b7a061b29"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:835a55b7ca49468aaaac0b217092dfdff370e6c215c9224c52f30daaa735c1c1"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06a9b2c8837d9a94fae16c6223acc14b4dfdff216ab9b7202e07a9a09541168f"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abf151955990d23f84205286938796c55ff11bbfb4ccfada8c9c83ae6b3c89a3"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59c26c95975f26e662ca78fdf543d4eeaef70e533a672b4113dd888bd2423caa"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f95511dd5d0e05fd9728bac4096319f80615aaef4acbecb35a990afebe953b0e"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595f105710293e76b9dc09f52e0dd896bd064a79346234b521f6b968ffdd8e58"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7c8b816c2b5af5c8a436df44ca08258fc1a13b449393a91484225fcb7545533"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f1088fa100bf46e7b398ffd9904f4808a0612e1d966b4aa43baa535d1b6341eb"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f59dfe57bb1ec82ac0698ebfcdb7bcd0e99c255bd637ff613760d5f33e7c81b3"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:361a1026c9dd4aba0109e4040e2aecf9884f5cfe1b1b1bd3d09419c205e2e53d"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:363afe77cfcbe3a36353d8ea133e904b108feea505aa4792dad6585a8192c55a"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e2c45c208c62e955e8256949eb225bd8b66a4c9b6865729a786f2aa79b72e9d"}, + {file = "aiohttp-3.9.3-cp39-cp39-win32.whl", hash = "sha256:f7217af2e14da0856e082e96ff637f14ae45c10a5714b63c77f26d8884cf1051"}, + {file = "aiohttp-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:27468897f628c627230dba07ec65dc8d0db566923c48f29e084ce382119802bc"}, + {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, ] [package.dependencies] aiosignal = ">=1.1.2" -async-timeout = ">=4.0.0a3,<5.0" attrs = ">=17.3.0" -charset-normalizer = ">=2.0,<4.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" yarl = ">=1.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns", "cchardet"] +speedups = ["Brotli", "aiodns", "brotlicffi"] [[package]] name = "aiohttp-json-rpc" @@ -152,63 +125,63 @@ frozenlist = ">=1.1.0" [[package]] name = "apsw" -version = "3.43.1.0" +version = "3.45.2.0" description = "Another Python SQLite Wrapper" optional = false python-versions = ">=3.8" files = [ - {file = "apsw-3.43.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bb37e563cac333b276c9374d67f629319fa52b122d779e0da3f104a96c608149"}, - {file = "apsw-3.43.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e17d33f189cc7054bee7b8958d105946458c6721391152cbe21501319fa5f8b0"}, - {file = "apsw-3.43.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c92dae70e33719907091f8bd789d9b4a17d93782a88961b16bb52d260d9b3f30"}, - {file = "apsw-3.43.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:962180d60eedf37f5d880d35ca4c6517a7a83c087a84f7e96b7703f859c89196"}, - {file = "apsw-3.43.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f86dd863b38164b22316445f131d923a9b362ac885b937ac21ac6f4931c8287d"}, - {file = "apsw-3.43.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcb4a386d44dce8e3fda996a9e8f712a7d83a48e742ac9b790389983a9c5a5b7"}, - {file = "apsw-3.43.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:53ba8459f68ab8a480693462606c445ec45885833c3d559dc6f7fbf9cda69c89"}, - {file = "apsw-3.43.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d39f2d1aa25cd8ad040b43faf71ace9560c3e5e9532445e78a6713366b43f9a2"}, - {file = "apsw-3.43.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d05931e7e9757faa224f9bed4f97761bb2f106f208b359ca3bff2116fa24e41a"}, - {file = "apsw-3.43.1.0-cp310-cp310-win32.whl", hash = "sha256:ea6590b36506200aae48934cff9c23cd544b81af6e2fdc920c9e8c42ca289880"}, - {file = "apsw-3.43.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:10e64d6c80c630b775e86e849e9c56a52df8cf36fd13a8d4a58eb4ae77422cc9"}, - {file = "apsw-3.43.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5fbd5369a17e9f34bc9c5a28fb6712df4147ce92ae3885d9dda37ae5b74f0627"}, - {file = "apsw-3.43.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:00704fc3ccd2336f01559ffa05dd8aefad8b9d476322e0164b7e6d98636e63e9"}, - {file = "apsw-3.43.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:09c9a8fc8e452fea6a96a5af6a5d8813435dd07f98402315c07492fd7bc4dcb9"}, - {file = "apsw-3.43.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab9f963106f41a5eeb48084a993acc7196a2e698c2c45ac540fac8aa54995e15"}, - {file = "apsw-3.43.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a4795840f6300173cdd45785cff35cc9d7294b660b57a1fc30aa65e245dd4d6"}, - {file = "apsw-3.43.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57e32195f2fd9decfb8520c7826a35e6a486547a49624eed9a471f45ce544fce"}, - {file = "apsw-3.43.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b496a42f1899e6113ceede4f633f186e3665d918fb0aad8e41e638b45c4fb7cd"}, - {file = "apsw-3.43.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0df9557e8cbbee826a8d0ada2f4bc69df2b9c74ba7be39b493a054617ff18741"}, - {file = "apsw-3.43.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:663999a3998b38a855e4e61d11f051289f1a687416e3109503efea8c2e611b7c"}, - {file = "apsw-3.43.1.0-cp311-cp311-win32.whl", hash = "sha256:900e0ce793bd5771a4908c997384895a7dbf7c4dba8cf1f91d460dbeeb715fa4"}, - {file = "apsw-3.43.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:9505d9b5ee6fbd8bcc27fe27795cfb17a9d8634b8f7c346dafb4e092374e6cc0"}, - {file = "apsw-3.43.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5bd6bfb59f95bdf07fdb4365e3d6ccc94be310b583ad60cddebd892527973dff"}, - {file = "apsw-3.43.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ea2151b6e836637b8a8425a27978880916a87fb48e3833acfeabdfa25caabaf1"}, - {file = "apsw-3.43.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c88b680cd311b1a1ceba3f8e82ab97ededb4046a738822120a0aa65583abb058"}, - {file = "apsw-3.43.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ae19356528befc07a99789a0a5c58d24cf71c1e80623a2d8660525833070df"}, - {file = "apsw-3.43.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d614af7d9827c868b5ed61b74b41e33fd9805b19820b54a7d4892f071ce5509e"}, - {file = "apsw-3.43.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:06c3831a8142c1e3458bd4e450c9243558f6c1c3224b322d8664c4e7762e23c0"}, - {file = "apsw-3.43.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:853ef200e07894697aaaf5baa03c0bfd46c2bb988e09f5664d87d6504a07fa8e"}, - {file = "apsw-3.43.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:36e4e250340d247c95da439cfc67855e7412c806080031d75d37f0a1362a9d73"}, - {file = "apsw-3.43.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f23a22d54fd92c57d5e3421103652ae4322c27be48da97266760278a1a0408c3"}, - {file = "apsw-3.43.1.0-cp312-cp312-win32.whl", hash = "sha256:d5033fcb9781b484752d63395efce9b0f278e5b7c6c7c002da1c7f15eabe90c7"}, - {file = "apsw-3.43.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:4fb2ef4762c3aba99f6794606b7c8b5c35b8d7719c51a76bbbda4ac3fefff79c"}, - {file = "apsw-3.43.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:46aaf0c10b758c2a213a87bdb5c83dd9bd218b5fb5866eb3206b2cd1344a905b"}, - {file = "apsw-3.43.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7a84d01994d57ab8526688dfb99c24067707442a02177002d0212295b35c4288"}, - {file = "apsw-3.43.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:55965ee1a6eb008c96b1da1bfd8485407964df600b4a3744f89dd87a9321894c"}, - {file = "apsw-3.43.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63d7f4a9a6b37eb66ebc3cd977265d1c9fe929e7b208e90498eb3112029a0c4f"}, - {file = "apsw-3.43.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ec3a678c60e63bb9e4fd870ee065a63ac13ea01ef5b9aa224dc4eac7ba377d9"}, - {file = "apsw-3.43.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99e513c743b8d2c20b1914a9bc8df8c9b22dfbfa82cb384958bf76ac856e7771"}, - {file = "apsw-3.43.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5a06ed873bf7f5f80c022e288e26930ba57c90910875d1f416af5a643a40f09e"}, - {file = "apsw-3.43.1.0-cp38-cp38-win32.whl", hash = "sha256:3ef1c25ac0e51d9b62cdc980bbc09addcfd785b881655ac5db1cec3bafaa8b74"}, - {file = "apsw-3.43.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:b6a7c401f0684c146086d4592b0e06c6850b1174142e4829984f96f771ed39a8"}, - {file = "apsw-3.43.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:979999820225991f1d85d8212bd7074220acbb561663e79f91ba270e019deb50"}, - {file = "apsw-3.43.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3ac8947db1bb92e820839729ce64468da3eca6ef9e9896409ec22c23ed9aa1f8"}, - {file = "apsw-3.43.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:45d0ec300e31a789aa90fa94825c50b84f1a9f390f29d3081592732425d34c52"}, - {file = "apsw-3.43.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0513079eade996db380dda5d8da266dee0da7eda53ed2e815335466d1654f23e"}, - {file = "apsw-3.43.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12f4e37f906c4b9cf7667af8d36fb4c3112f4b0702dbc09a4d272ed29ec004fb"}, - {file = "apsw-3.43.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:786a5110e2b57013104be4f8064d67a94131e469f16601afbfe3cef2f92add19"}, - {file = "apsw-3.43.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c4d574c5e36523259a63b453747fd7c13e7bc8124752482b8a16bd6617debf35"}, - {file = "apsw-3.43.1.0-cp39-cp39-win32.whl", hash = "sha256:7cb5ca320b91e6b2e4a043f045d2e2f1e3c4d54b7f20980409d52fa4d2ad3324"}, - {file = "apsw-3.43.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca75a53efd01f6ca4725d45ffecf34a2cc1e461cf72cdbb2f4675ec6b76f05ca"}, - {file = "apsw-3.43.1.0.tar.gz", hash = "sha256:7e2cbbb407b6d1146bbd966de5843688b4deaa2cb07d98690689a42d00363cdd"}, + {file = "apsw-3.45.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1873cf5edb291fddbad0bbfd193ee5ec6fc05ea3dbc39ab801a90c211673734e"}, + {file = "apsw-3.45.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e08849bdee202f536fe0e1da68f5cf94bf74e9981bbac6df4e60dd478da31aab"}, + {file = "apsw-3.45.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0ae4e74e5a208a78a8f289425f38bec4a4561b5cf97b854f35f28efeb00a45a6"}, + {file = "apsw-3.45.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:372f741aa038e188cc860fa5a76af63376b8673996fc5b7d2f9ed5f20002edd5"}, + {file = "apsw-3.45.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae16d9dc225d297d48b4fdd96f51745f4233c38fa2a3b6bfffd7e43c9bd99e13"}, + {file = "apsw-3.45.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1cb2c450ce9d56965be213f432eb4a3f12cbee202a2cf9fe84c1a956e1516798"}, + {file = "apsw-3.45.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c9c53f08af854768e3d2d4fb15ab2c869317a97ec8b722183904ee0cc7a00a3f"}, + {file = "apsw-3.45.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:13a8ebb90021b8c0812571477a0d1c12ef2d52ee1feec3ae5ad07e53b46c537c"}, + {file = "apsw-3.45.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b2cc8887247fdbcc9b935b7c4a2288a17fe85a30009798b65a886e57c08bcb76"}, + {file = "apsw-3.45.2.0-cp310-cp310-win32.whl", hash = "sha256:d755c164d593d822e4ff4e26e415a81a6dc0d9956883ec8c4a8900b4e4e15e97"}, + {file = "apsw-3.45.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:ff5a16c611a461bdb84b531d1ce70fc95d6e4b5a9d3b46a6367374f7ed351f1c"}, + {file = "apsw-3.45.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:967f25f8a7d296b2a4af105b1a8db3d5700d011eb22e91f4db39f833eca429b0"}, + {file = "apsw-3.45.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:919808b4abe466a66a3aacfb53b5db29e0e694f0b846edd3ce804abe829b88de"}, + {file = "apsw-3.45.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:858e09db02f44f40305d5199c1f4e6820d4083273f050d047c4c944481d24fca"}, + {file = "apsw-3.45.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb886ad478f3bb9414e7e812f128cecb3601fc37f97e4f892c6f224edced0d9"}, + {file = "apsw-3.45.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1018ff485277e1b5adeca2a5470b760d9a5ca9a1720c8889678a9afbf8d51a77"}, + {file = "apsw-3.45.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c580467ef70e5618006dcae965783d1db4fb6016738ee7c6f610acecf9d42425"}, + {file = "apsw-3.45.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8f8baf12a21e017559528bf9159eb91cfa0209eba17356150c16d4a4223e95e1"}, + {file = "apsw-3.45.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3e6aef31244dfaaee475eeece7d866cadad872c25d0df2158d64f6259cf8614f"}, + {file = "apsw-3.45.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:455182f76ba6caa105964ce38bfb523e58ef47a07a5854c4f77c7695c95cd42a"}, + {file = "apsw-3.45.2.0-cp311-cp311-win32.whl", hash = "sha256:16944708c503887c6cdedadf5ac79a25bdfa5a67b937a5d64d74cf42803606c8"}, + {file = "apsw-3.45.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:e94d007441e1df2c2c990c7985d39f7f1037758f02940ee987ecbcc1383402d8"}, + {file = "apsw-3.45.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f12f78b4ec5cdaea391673d7396bb4117c4ef6a2ad91287c66a06fe17f7e067d"}, + {file = "apsw-3.45.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5353c872476c79613511bdc0a60668d760a0dfeda2d56f2b5b616fc4a261fcb4"}, + {file = "apsw-3.45.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:94427f8cb4b37dc67d208c34faa37bed3be683ac181e0d4a9e007f23dda0f65e"}, + {file = "apsw-3.45.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7d6f0d1786574db07aa0fbfbfd4db75ae02942e16b0d6d2f20e4a7736c93375"}, + {file = "apsw-3.45.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5bd4b72c85e95d9eb2c93e78d27083df68fe9287a7be22eaacacebfa941c2ac4"}, + {file = "apsw-3.45.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e1c8e7a5b7244ec5a714cf5244c405198577a1e9eacc0ce5957974d4232498"}, + {file = "apsw-3.45.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b3ebddf63536382500562349d33f72310d340239085defbc9d6affe987007f"}, + {file = "apsw-3.45.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:f1620ca1eb6ceab90fd5bd3fb5b2d5449c09b63994292ca54efb1605118dfd0e"}, + {file = "apsw-3.45.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7c968cc31104812de006cff832a9b29c15fa71ad0cf8c825d2e4e8393840e797"}, + {file = "apsw-3.45.2.0-cp312-cp312-win32.whl", hash = "sha256:3f96754fa0baa7933b769d3f782f73f3761bfdd581ff79f9ed117e33988daf5b"}, + {file = "apsw-3.45.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:cb081d1ab72b65ce104784460a3c07c1a3d7501f432570f912b81a4aabf5bbd1"}, + {file = "apsw-3.45.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6a8ab86d33043bf47ef584498b82b435cb9de79eee5f99737e0eaa056e1f6b62"}, + {file = "apsw-3.45.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:75f0e2be1aee0c8db1ed7e9cf41625df0cc971c780be0a598f25e14eb9863ab6"}, + {file = "apsw-3.45.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5ddf42eb2fc59aa59f720fc7b5df626907ff71b7b5d13dad16f4d201a376431f"}, + {file = "apsw-3.45.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:632f5b590059b9242e4a710082c50972b71916ee8f121051a7bbaed6bafbdc55"}, + {file = "apsw-3.45.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b400cd5cb4029e8f55a7526b10af680340c5dd7a75c6a175fccc6047602e393f"}, + {file = "apsw-3.45.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:34dd353b3351a421e12dd71bf0e3cded710a40c38acc88f64df11ba912a2b15d"}, + {file = "apsw-3.45.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fe857ea56cf11a0256cd7dd7076a51c2cfb0c0ee07b8e85c7eb10c88e8fc2bae"}, + {file = "apsw-3.45.2.0-cp38-cp38-win32.whl", hash = "sha256:083ef86ba378a6ee2cd717c6d521554792e2f9eea157e2a0cf9a5059cfc43af2"}, + {file = "apsw-3.45.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:efe0f06b58b3b1a79dd86c2b6ef32feca9ca31baf8e8bcede08fb7a77b494431"}, + {file = "apsw-3.45.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:dce665254a76dc41fcce6bc22f9001fb1e84c7e8efeeb0591a9111e3225b4fb2"}, + {file = "apsw-3.45.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fd17728f715df34b976ad14e5dc712877e3313f963cb595c4b17f24022712253"}, + {file = "apsw-3.45.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6f6800583c5b6daa98f825fc27b534f5c312b9b125657aeb7e21ba9ee835617c"}, + {file = "apsw-3.45.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8c20642b3b4ffdc9640c69ca66b1c557106d6a6caae5131758d9910d81e86d5"}, + {file = "apsw-3.45.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abdc314e4b4e6ce3fd1e027c452b5ac0f3d1326adf8f321c568c9384646ae93d"}, + {file = "apsw-3.45.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:26dea875572859c073cfa747f909c595604a0636149bf375e4f14a16da12aa33"}, + {file = "apsw-3.45.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:122c60f673804b79d08fc59c32e667ac82691ac0817151b8341a8b4b4272a16b"}, + {file = "apsw-3.45.2.0-cp39-cp39-win32.whl", hash = "sha256:24d001fcfe8a7decb92722d94a9f9e756564c65ba3806d4156ad827f4bdf9247"}, + {file = "apsw-3.45.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:01319f1332020407c0af54144c8100c0258add40ec4a661416b5261a0d2150f0"}, + {file = "apsw-3.45.2.0.tar.gz", hash = "sha256:4fe81f5e390969d08d3048f357a68b347316b8f09455ff4657d94c56acfa255c"}, ] [[package]] @@ -222,46 +195,39 @@ files = [ {file = "astroid-3.1.0.tar.gz", hash = "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"}, ] -[[package]] -name = "async-timeout" -version = "4.0.3" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] - [[package]] name = "attrs" -version = "23.1.0" +version = "23.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] +dev = ["attrs[tests]", "pre-commit"] docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] [[package]] name = "babel" -version = "2.12.1" +version = "2.14.0" description = "Internationalization utilities" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "brotli" version = "1.1.0" @@ -408,75 +374,63 @@ files = [ [[package]] name = "cffi" -version = "1.15.1" +version = "1.16.0" description = "Foreign Function Interface for Python calling C code." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [package.dependencies] @@ -484,86 +438,101 @@ pycparser = "*" [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] @@ -669,83 +638,99 @@ voice = ["PyNaCl (>=1.3.0,<1.6)"] [[package]] name = "distro" -version = "1.8.0" +version = "1.9.0" description = "Distro - an OS platform information API" optional = false python-versions = ">=3.6" files = [ - {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, - {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, + {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, + {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, ] [[package]] name = "frozenlist" -version = "1.4.0" +version = "1.4.1" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" files = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] [[package]] @@ -798,13 +783,13 @@ test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre [[package]] name = "griffe" -version = "0.41.3" +version = "0.42.1" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." optional = false python-versions = ">=3.8" files = [ - {file = "griffe-0.41.3-py3-none-any.whl", hash = "sha256:27b4610f1ba6e5d039e9f0a2c97232e13463df75e53cb1833e0679f3377b9de2"}, - {file = "griffe-0.41.3.tar.gz", hash = "sha256:9edcfa9f57f4d9c5fcc6d5ce067c67a685b7101a21a7d11848ce0437368e474c"}, + {file = "griffe-0.42.1-py3-none-any.whl", hash = "sha256:7e805e35617601355edcac0d3511cedc1ed0cb1f7645e2d336ae4b05bbae7b3b"}, + {file = "griffe-0.42.1.tar.gz", hash = "sha256:57046131384043ed078692b85d86b76568a686266cc036b9b56b704466f803ce"}, ] [package.dependencies] @@ -812,34 +797,15 @@ colorama = ">=0.4" [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] -[[package]] -name = "importlib-metadata" -version = "6.8.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, - {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, -] - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] - [[package]] name = "isort" version = "5.13.2" @@ -873,17 +839,17 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "markdown" -version = "3.4.4" +version = "3.6" description = "Python implementation of John Gruber's Markdown." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Markdown-3.4.4-py3-none-any.whl", hash = "sha256:a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941"}, - {file = "Markdown-3.4.4.tar.gz", hash = "sha256:225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6"}, + {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, + {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, ] [package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.0)", "mkdocs-nature (>=0.4)"] +docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] @@ -1091,13 +1057,13 @@ pytz = "*" [[package]] name = "mkdocs-material" -version = "9.5.13" +version = "9.5.15" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.13-py3-none-any.whl", hash = "sha256:5cbe17fee4e3b4980c8420a04cc762d8dc052ef1e10532abd4fce88e5ea9ce6a"}, - {file = "mkdocs_material-9.5.13.tar.gz", hash = "sha256:d8e4caae576312a88fd2609b81cf43d233cdbe36860d67a68702b018b425bd87"}, + {file = "mkdocs_material-9.5.15-py3-none-any.whl", hash = "sha256:e5c96dec3d19491de49ca643fc1dbb92b278e43cdb816c775bc47db77d9b62fb"}, + {file = "mkdocs_material-9.5.15.tar.gz", hash = "sha256:39f03cca45e82bf54eb7456b5a18bd252eabfdd67f237a229471484a0a4d4635"}, ] [package.dependencies] @@ -1193,165 +1159,171 @@ mkdocstrings = ">=0.20" [[package]] name = "multidict" -version = "6.0.4" +version = "6.0.5" description = "multidict implementation" optional = false python-versions = ">=3.7" files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [[package]] name = "orjson" -version = "3.9.7" +version = "3.9.15" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "orjson-3.9.7-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b6df858e37c321cefbf27fe7ece30a950bcc3a75618a804a0dcef7ed9dd9c92d"}, - {file = "orjson-3.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5198633137780d78b86bb54dafaaa9baea698b4f059456cd4554ab7009619221"}, - {file = "orjson-3.9.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e736815b30f7e3c9044ec06a98ee59e217a833227e10eb157f44071faddd7c5"}, - {file = "orjson-3.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a19e4074bc98793458b4b3ba35a9a1d132179345e60e152a1bb48c538ab863c4"}, - {file = "orjson-3.9.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80acafe396ab689a326ab0d80f8cc61dec0dd2c5dca5b4b3825e7b1e0132c101"}, - {file = "orjson-3.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:355efdbbf0cecc3bd9b12589b8f8e9f03c813a115efa53f8dc2a523bfdb01334"}, - {file = "orjson-3.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3aab72d2cef7f1dd6104c89b0b4d6b416b0db5ca87cc2fac5f79c5601f549cc2"}, - {file = "orjson-3.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:36b1df2e4095368ee388190687cb1b8557c67bc38400a942a1a77713580b50ae"}, - {file = "orjson-3.9.7-cp310-none-win32.whl", hash = "sha256:e94b7b31aa0d65f5b7c72dd8f8227dbd3e30354b99e7a9af096d967a77f2a580"}, - {file = "orjson-3.9.7-cp310-none-win_amd64.whl", hash = "sha256:82720ab0cf5bb436bbd97a319ac529aee06077ff7e61cab57cee04a596c4f9b4"}, - {file = "orjson-3.9.7-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1f8b47650f90e298b78ecf4df003f66f54acdba6a0f763cc4df1eab048fe3738"}, - {file = "orjson-3.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f738fee63eb263530efd4d2e9c76316c1f47b3bbf38c1bf45ae9625feed0395e"}, - {file = "orjson-3.9.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:38e34c3a21ed41a7dbd5349e24c3725be5416641fdeedf8f56fcbab6d981c900"}, - {file = "orjson-3.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21a3344163be3b2c7e22cef14fa5abe957a892b2ea0525ee86ad8186921b6cf0"}, - {file = "orjson-3.9.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23be6b22aab83f440b62a6f5975bcabeecb672bc627face6a83bc7aeb495dc7e"}, - {file = "orjson-3.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5205ec0dfab1887dd383597012199f5175035e782cdb013c542187d280ca443"}, - {file = "orjson-3.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8769806ea0b45d7bf75cad253fba9ac6700b7050ebb19337ff6b4e9060f963fa"}, - {file = "orjson-3.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f9e01239abea2f52a429fe9d95c96df95f078f0172489d691b4a848ace54a476"}, - {file = "orjson-3.9.7-cp311-none-win32.whl", hash = "sha256:8bdb6c911dae5fbf110fe4f5cba578437526334df381b3554b6ab7f626e5eeca"}, - {file = "orjson-3.9.7-cp311-none-win_amd64.whl", hash = "sha256:9d62c583b5110e6a5cf5169ab616aa4ec71f2c0c30f833306f9e378cf51b6c86"}, - {file = "orjson-3.9.7-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1c3cee5c23979deb8d1b82dc4cc49be59cccc0547999dbe9adb434bb7af11cf7"}, - {file = "orjson-3.9.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a347d7b43cb609e780ff8d7b3107d4bcb5b6fd09c2702aa7bdf52f15ed09fa09"}, - {file = "orjson-3.9.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:154fd67216c2ca38a2edb4089584504fbb6c0694b518b9020ad35ecc97252bb9"}, - {file = "orjson-3.9.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ea3e63e61b4b0beeb08508458bdff2daca7a321468d3c4b320a758a2f554d31"}, - {file = "orjson-3.9.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb0b0b2476f357eb2975ff040ef23978137aa674cd86204cfd15d2d17318588"}, - {file = "orjson-3.9.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b9a20a03576c6b7022926f614ac5a6b0914486825eac89196adf3267c6489d"}, - {file = "orjson-3.9.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:915e22c93e7b7b636240c5a79da5f6e4e84988d699656c8e27f2ac4c95b8dcc0"}, - {file = "orjson-3.9.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f26fb3e8e3e2ee405c947ff44a3e384e8fa1843bc35830fe6f3d9a95a1147b6e"}, - {file = "orjson-3.9.7-cp312-none-win_amd64.whl", hash = "sha256:d8692948cada6ee21f33db5e23460f71c8010d6dfcfe293c9b96737600a7df78"}, - {file = "orjson-3.9.7-cp37-cp37m-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:7bab596678d29ad969a524823c4e828929a90c09e91cc438e0ad79b37ce41166"}, - {file = "orjson-3.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63ef3d371ea0b7239ace284cab9cd00d9c92b73119a7c274b437adb09bda35e6"}, - {file = "orjson-3.9.7-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f8fcf696bbbc584c0c7ed4adb92fd2ad7d153a50258842787bc1524e50d7081"}, - {file = "orjson-3.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:90fe73a1f0321265126cbba13677dcceb367d926c7a65807bd80916af4c17047"}, - {file = "orjson-3.9.7-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45a47f41b6c3beeb31ac5cf0ff7524987cfcce0a10c43156eb3ee8d92d92bf22"}, - {file = "orjson-3.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a2937f528c84e64be20cb80e70cea76a6dfb74b628a04dab130679d4454395c"}, - {file = "orjson-3.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b4fb306c96e04c5863d52ba8d65137917a3d999059c11e659eba7b75a69167bd"}, - {file = "orjson-3.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:410aa9d34ad1089898f3db461b7b744d0efcf9252a9415bbdf23540d4f67589f"}, - {file = "orjson-3.9.7-cp37-none-win32.whl", hash = "sha256:26ffb398de58247ff7bde895fe30817a036f967b0ad0e1cf2b54bda5f8dcfdd9"}, - {file = "orjson-3.9.7-cp37-none-win_amd64.whl", hash = "sha256:bcb9a60ed2101af2af450318cd89c6b8313e9f8df4e8fb12b657b2e97227cf08"}, - {file = "orjson-3.9.7-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5da9032dac184b2ae2da4bce423edff7db34bfd936ebd7d4207ea45840f03905"}, - {file = "orjson-3.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7951af8f2998045c656ba8062e8edf5e83fd82b912534ab1de1345de08a41d2b"}, - {file = "orjson-3.9.7-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b8e59650292aa3a8ea78073fc84184538783966528e442a1b9ed653aa282edcf"}, - {file = "orjson-3.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9274ba499e7dfb8a651ee876d80386b481336d3868cba29af839370514e4dce0"}, - {file = "orjson-3.9.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca1706e8b8b565e934c142db6a9592e6401dc430e4b067a97781a997070c5378"}, - {file = "orjson-3.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83cc275cf6dcb1a248e1876cdefd3f9b5f01063854acdfd687ec360cd3c9712a"}, - {file = "orjson-3.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:11c10f31f2c2056585f89d8229a56013bc2fe5de51e095ebc71868d070a8dd81"}, - {file = "orjson-3.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cf334ce1d2fadd1bf3e5e9bf15e58e0c42b26eb6590875ce65bd877d917a58aa"}, - {file = "orjson-3.9.7-cp38-none-win32.whl", hash = "sha256:76a0fc023910d8a8ab64daed8d31d608446d2d77c6474b616b34537aa7b79c7f"}, - {file = "orjson-3.9.7-cp38-none-win_amd64.whl", hash = "sha256:7a34a199d89d82d1897fd4a47820eb50947eec9cda5fd73f4578ff692a912f89"}, - {file = "orjson-3.9.7-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e7e7f44e091b93eb39db88bb0cb765db09b7a7f64aea2f35e7d86cbf47046c65"}, - {file = "orjson-3.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01d647b2a9c45a23a84c3e70e19d120011cba5f56131d185c1b78685457320bb"}, - {file = "orjson-3.9.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0eb850a87e900a9c484150c414e21af53a6125a13f6e378cf4cc11ae86c8f9c5"}, - {file = "orjson-3.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f4b0042d8388ac85b8330b65406c84c3229420a05068445c13ca28cc222f1f7"}, - {file = "orjson-3.9.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd3e7aae977c723cc1dbb82f97babdb5e5fbce109630fbabb2ea5053523c89d3"}, - {file = "orjson-3.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c616b796358a70b1f675a24628e4823b67d9e376df2703e893da58247458956"}, - {file = "orjson-3.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c3ba725cf5cf87d2d2d988d39c6a2a8b6fc983d78ff71bc728b0be54c869c884"}, - {file = "orjson-3.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4891d4c934f88b6c29b56395dfc7014ebf7e10b9e22ffd9877784e16c6b2064f"}, - {file = "orjson-3.9.7-cp39-none-win32.whl", hash = "sha256:14d3fb6cd1040a4a4a530b28e8085131ed94ebc90d72793c59a713de34b60838"}, - {file = "orjson-3.9.7-cp39-none-win_amd64.whl", hash = "sha256:9ef82157bbcecd75d6296d5d8b2d792242afcd064eb1ac573f8847b52e58f677"}, - {file = "orjson-3.9.7.tar.gz", hash = "sha256:85e39198f78e2f7e054d296395f6c96f5e02892337746ef5b6a1bf3ed5910142"}, + {file = "orjson-3.9.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:d61f7ce4727a9fa7680cd6f3986b0e2c732639f46a5e0156e550e35258aa313a"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4feeb41882e8aa17634b589533baafdceb387e01e117b1ec65534ec724023d04"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fbbeb3c9b2edb5fd044b2a070f127a0ac456ffd079cb82746fc84af01ef021a4"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b66bcc5670e8a6b78f0313bcb74774c8291f6f8aeef10fe70e910b8040f3ab75"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2973474811db7b35c30248d1129c64fd2bdf40d57d84beed2a9a379a6f57d0ab"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fe41b6f72f52d3da4db524c8653e46243c8c92df826ab5ffaece2dba9cccd58"}, + {file = "orjson-3.9.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4228aace81781cc9d05a3ec3a6d2673a1ad0d8725b4e915f1089803e9efd2b99"}, + {file = "orjson-3.9.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f7b65bfaf69493c73423ce9db66cfe9138b2f9ef62897486417a8fcb0a92bfe"}, + {file = "orjson-3.9.15-cp310-none-win32.whl", hash = "sha256:2d99e3c4c13a7b0fb3792cc04c2829c9db07838fb6973e578b85c1745e7d0ce7"}, + {file = "orjson-3.9.15-cp310-none-win_amd64.whl", hash = "sha256:b725da33e6e58e4a5d27958568484aa766e825e93aa20c26c91168be58e08cbb"}, + {file = "orjson-3.9.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c8e8fe01e435005d4421f183038fc70ca85d2c1e490f51fb972db92af6e047c2"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87f1097acb569dde17f246faa268759a71a2cb8c96dd392cd25c668b104cad2f"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff0f9913d82e1d1fadbd976424c316fbc4d9c525c81d047bbdd16bd27dd98cfc"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8055ec598605b0077e29652ccfe9372247474375e0e3f5775c91d9434e12d6b1"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6768a327ea1ba44c9114dba5fdda4a214bdb70129065cd0807eb5f010bfcbb5"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12365576039b1a5a47df01aadb353b68223da413e2e7f98c02403061aad34bde"}, + {file = "orjson-3.9.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:71c6b009d431b3839d7c14c3af86788b3cfac41e969e3e1c22f8a6ea13139404"}, + {file = "orjson-3.9.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e18668f1bd39e69b7fed19fa7cd1cd110a121ec25439328b5c89934e6d30d357"}, + {file = "orjson-3.9.15-cp311-none-win32.whl", hash = "sha256:62482873e0289cf7313461009bf62ac8b2e54bc6f00c6fabcde785709231a5d7"}, + {file = "orjson-3.9.15-cp311-none-win_amd64.whl", hash = "sha256:b3d336ed75d17c7b1af233a6561cf421dee41d9204aa3cfcc6c9c65cd5bb69a8"}, + {file = "orjson-3.9.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:82425dd5c7bd3adfe4e94c78e27e2fa02971750c2b7ffba648b0f5d5cc016a73"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c51378d4a8255b2e7c1e5cc430644f0939539deddfa77f6fac7b56a9784160a"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6ae4e06be04dc00618247c4ae3f7c3e561d5bc19ab6941427f6d3722a0875ef7"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcef128f970bb63ecf9a65f7beafd9b55e3aaf0efc271a4154050fc15cdb386e"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b72758f3ffc36ca566ba98a8e7f4f373b6c17c646ff8ad9b21ad10c29186f00d"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c57bc7b946cf2efa67ac55766e41764b66d40cbd9489041e637c1304400494"}, + {file = "orjson-3.9.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:946c3a1ef25338e78107fba746f299f926db408d34553b4754e90a7de1d44068"}, + {file = "orjson-3.9.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2f256d03957075fcb5923410058982aea85455d035607486ccb847f095442bda"}, + {file = "orjson-3.9.15-cp312-none-win_amd64.whl", hash = "sha256:5bb399e1b49db120653a31463b4a7b27cf2fbfe60469546baf681d1b39f4edf2"}, + {file = "orjson-3.9.15-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b17f0f14a9c0ba55ff6279a922d1932e24b13fc218a3e968ecdbf791b3682b25"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f6cbd8e6e446fb7e4ed5bac4661a29e43f38aeecbf60c4b900b825a353276a1"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:76bc6356d07c1d9f4b782813094d0caf1703b729d876ab6a676f3aaa9a47e37c"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fdfa97090e2d6f73dced247a2f2d8004ac6449df6568f30e7fa1a045767c69a6"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7413070a3e927e4207d00bd65f42d1b780fb0d32d7b1d951f6dc6ade318e1b5a"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9cf1596680ac1f01839dba32d496136bdd5d8ffb858c280fa82bbfeb173bdd40"}, + {file = "orjson-3.9.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:809d653c155e2cc4fd39ad69c08fdff7f4016c355ae4b88905219d3579e31eb7"}, + {file = "orjson-3.9.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:920fa5a0c5175ab14b9c78f6f820b75804fb4984423ee4c4f1e6d748f8b22bc1"}, + {file = "orjson-3.9.15-cp38-none-win32.whl", hash = "sha256:2b5c0f532905e60cf22a511120e3719b85d9c25d0e1c2a8abb20c4dede3b05a5"}, + {file = "orjson-3.9.15-cp38-none-win_amd64.whl", hash = "sha256:67384f588f7f8daf040114337d34a5188346e3fae6c38b6a19a2fe8c663a2f9b"}, + {file = "orjson-3.9.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6fc2fe4647927070df3d93f561d7e588a38865ea0040027662e3e541d592811e"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34cbcd216e7af5270f2ffa63a963346845eb71e174ea530867b7443892d77180"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f541587f5c558abd93cb0de491ce99a9ef8d1ae29dd6ab4dbb5a13281ae04cbd"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92255879280ef9c3c0bcb327c5a1b8ed694c290d61a6a532458264f887f052cb"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:05a1f57fb601c426635fcae9ddbe90dfc1ed42245eb4c75e4960440cac667262"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ede0bde16cc6e9b96633df1631fbcd66491d1063667f260a4f2386a098393790"}, + {file = "orjson-3.9.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e88b97ef13910e5f87bcbc4dd7979a7de9ba8702b54d3204ac587e83639c0c2b"}, + {file = "orjson-3.9.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57d5d8cf9c27f7ef6bc56a5925c7fbc76b61288ab674eb352c26ac780caa5b10"}, + {file = "orjson-3.9.15-cp39-none-win32.whl", hash = "sha256:001f4eb0ecd8e9ebd295722d0cbedf0748680fb9998d3993abaed2f40587257a"}, + {file = "orjson-3.9.15-cp39-none-win_amd64.whl", hash = "sha256:ea0b183a5fe6b2b45f3b854b0d19c4e932d6f5934ae1f723b07cf9560edd4ec7"}, + {file = "orjson-3.9.15.tar.gz", hash = "sha256:95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061"}, ] [[package]] name = "packaging" -version = "23.1" +version = "24.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, ] [[package]] @@ -1462,40 +1434,42 @@ xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "3.10.0" +version = "4.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] [[package]] name = "psutil" -version = "5.9.5" +version = "5.9.8" description = "Cross-platform lib for process and system monitoring in Python." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"}, - {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"}, - {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"}, - {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"}, - {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"}, - {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"}, - {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, - {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, + {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"}, + {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"}, + {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"}, + {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"}, + {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"}, + {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"}, + {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"}, + {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"}, + {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"}, + {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"}, + {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"}, + {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"}, + {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"}, + {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"}, + {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"}, + {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"}, ] [package.extras] @@ -1515,73 +1489,6 @@ files = [ [package.dependencies] requests = ">=2.21.0" -[[package]] -name = "pycares" -version = "4.3.0" -description = "Python interface for c-ares" -optional = false -python-versions = "*" -files = [ - {file = "pycares-4.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:19c9cdd3322d422931982939773e453e491dfc5c0b2e23d7266959315c7a0824"}, - {file = "pycares-4.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e56e9cdf46a092970dc4b75bbabddea9f480be5eeadc3fcae3eb5c6807c4136"}, - {file = "pycares-4.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c75a6241c79b935048272cb77df498da64b8defc8c4b29fdf9870e43ba4cbb4"}, - {file = "pycares-4.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24d8654fac3742791b8bef59d1fbb3e19ae6a5c48876a6d98659f7c66ee546c4"}, - {file = "pycares-4.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebf50b049a245880f1aa16a6f72c4408e0a65b49ea1d3bf13383a44a2cabd2bf"}, - {file = "pycares-4.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:84daf560962763c0359fd79c750ef480f0fda40c08b57765088dbe362e8dc452"}, - {file = "pycares-4.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:978d10da7ee74b9979c494afa8b646411119ad0186a29c7f13c72bb4295630c6"}, - {file = "pycares-4.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c5b9d7fe52eb3d243f5ead58d5c0011884226d961df8360a34618c38c7515"}, - {file = "pycares-4.3.0-cp310-cp310-win32.whl", hash = "sha256:da7c7089ae617317d2cbe38baefd3821387b3bfef7b3ee5b797b871cb1257974"}, - {file = "pycares-4.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:7106dc683db30e1d851283b7b9df7a5ea4964d6bdd000d918d91d4b1f9bed329"}, - {file = "pycares-4.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4e7a24ecef0b1933f2a3fdbf328d1b529a76cda113f8364fa0742e5b3bd76566"}, - {file = "pycares-4.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e7abccc2aa4771c06994e4d9ed596453061e2b8846f887d9c98a64ccdaf4790a"}, - {file = "pycares-4.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:531fed46c5ed798a914c3207be4ae7b297c4d09e4183d3cf8fd9ee59a55d5080"}, - {file = "pycares-4.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c9335175af0c64a1e0ba67bdd349eb62d4eea0ad02c235ccdf0d535fd20f323"}, - {file = "pycares-4.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5f0e95535027d2dcd51e780410632b0d3ed7e9e5ceb25dc0fe937f2c2960079"}, - {file = "pycares-4.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3692179ce5fb96908ba342e1e5303608d0c976f0d5d4619fa9d3d6d9d5a9a1b4"}, - {file = "pycares-4.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c4cb6cc7fe8e0606d30b60367f59fe26d1472e88555d61e202db70dea5c8edb"}, - {file = "pycares-4.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3215445396c74103e2054e6b349d9e85883ceda2006d0039fc2d58c9b11818a2"}, - {file = "pycares-4.3.0-cp311-cp311-win32.whl", hash = "sha256:6a0c0c3a0adf490bba9dbb37dbd07ec81e4a6584f095036ac34f06a633710ffe"}, - {file = "pycares-4.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:995cb37cc39bd40ca87bb16555a0f7724f3be30d9f9059a4caab2fde45b1b903"}, - {file = "pycares-4.3.0-cp36-cp36m-win32.whl", hash = "sha256:4c9187be72449c975c11daa1d94d7ddcc494f8a4c37a6c18f977cd7024a531d9"}, - {file = "pycares-4.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:d7405ba10a2903a58b8b0faedcb54994c9ee002ad01963587fabf93e7e479783"}, - {file = "pycares-4.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:40aaa12081495f879f11f4cfc95edfec1ea14711188563102f9e33fe98728fac"}, - {file = "pycares-4.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4972cac24b66c5997f3a3e2cb608e408066d80103d443e36d626a88a287b9ae7"}, - {file = "pycares-4.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35886dba7aa5b73affca8729aeb5a1f5e94d3d9a764adb1b7e75bafca44eeca5"}, - {file = "pycares-4.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5cea6e1f3be016f155d60f27f16c1074d58b4d6e123228fdbc3326d076016af8"}, - {file = "pycares-4.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3a9fd2665b053afb39226ac6f8137a60910ca7729358456df2fb94866f4297de"}, - {file = "pycares-4.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e8e9195f869120e44e0aa0a6098bb5c19947f4753054365891f592e6f9eab3ef"}, - {file = "pycares-4.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:674486ecf2afb25ee219171b07cdaba481a1aaa2dabb155779c7be9ded03eaa9"}, - {file = "pycares-4.3.0-cp37-cp37m-win32.whl", hash = "sha256:1b6cd3161851499b6894d1e23bfd633e7b775472f5af35ae35409c4a47a2d45e"}, - {file = "pycares-4.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:710120c97b9afdba443564350c3f5f72fd9aae74d95b73dc062ca8ac3d7f36d7"}, - {file = "pycares-4.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9103649bd29d84bc6bcfaf09def9c0592bbc766018fad19d76d09989608b915d"}, - {file = "pycares-4.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c072dbaf73cb5434279578dc35322867d8d5df053e14fdcdcc589994ba4804ae"}, - {file = "pycares-4.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:008531733f9c7a976b59c7760a3672b191159fd69ae76c01ca051f20b5e44164"}, - {file = "pycares-4.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2aae02d97d77dcff840ab55f86cb8b99bf644acbca17e1edb7048408b9782088"}, - {file = "pycares-4.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:257953ae6d400a934fd9193aeb20990ac84a78648bdf5978e998bd007a4045cd"}, - {file = "pycares-4.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c28d481efae26936ec08cb6beea305f4b145503b152cf2c4dc68cc4ad9644f0e"}, - {file = "pycares-4.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:976249b39037dbfb709ccf7e1c40d2785905a0065536385d501b94570cfed96d"}, - {file = "pycares-4.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:98568c30cfab6b327d94ae1acdf85bbba4cffd415980804985d34ca07e6f4791"}, - {file = "pycares-4.3.0-cp38-cp38-win32.whl", hash = "sha256:a2f3c4f49f43162f7e684419d9834c2c8ec165e54cb8dc47aa9dc0c2132701c0"}, - {file = "pycares-4.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:1730ef93e33e4682fbbf0e7fb19df2ed9822779d17de8ea6e20d5b0d71c1d2be"}, - {file = "pycares-4.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5a26b3f1684557025da26ce65d076619890c82b95e38cc7284ce51c3539a1ce8"}, - {file = "pycares-4.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:86112cce01655b9f63c5e53b74722084e88e784a7a8ad138d373440337c591c9"}, - {file = "pycares-4.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c01465a191dc78e923884bb45cd63c7e012623e520cf7ed67e542413ee334804"}, - {file = "pycares-4.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9fd5d6012f3ee8c8038cbfe16e988bbd17b2f21eea86650874bf63757ee6161"}, - {file = "pycares-4.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa36b8ea91eae20b5c7205f3e6654423f066af24a1df02b274770a96cbcafaa7"}, - {file = "pycares-4.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:61019151130557c1788cae52e4f2f388a7520c9d92574f3a0d61c974c6740db0"}, - {file = "pycares-4.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:231962bb46274c52632469a1e686fab065dbd106dbef586de4f7fb101e297587"}, - {file = "pycares-4.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6c979512fa51c7ccef5204fe10ed4e5c44c2bce5f335fe98a3e423f1672bd7d4"}, - {file = "pycares-4.3.0-cp39-cp39-win32.whl", hash = "sha256:655cf0df862ce3847a60e1a106dafa2ba2c14e6636bac49e874347acdc7312dc"}, - {file = "pycares-4.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:36f2251ad0f99a5ce13df45c94c3161d9734c9e9fa2b9b4cc163b853ca170dc5"}, - {file = "pycares-4.3.0.tar.gz", hash = "sha256:c542696f6dac978e9d99192384745a65f80a7d9450501151e4a7563e06010d45"}, -] - -[package.dependencies] -cffi = ">=1.5.0" - -[package.extras] -idna = ["idna (>=2.1)"] - [[package]] name = "pycparser" version = "2.21" @@ -1595,17 +1502,18 @@ files = [ [[package]] name = "pygments" -version = "2.16.1" +version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.7" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, ] [package.extras] plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylint" @@ -1633,17 +1541,17 @@ testutils = ["gitpython (>3)"] [[package]] name = "pymdown-extensions" -version = "10.4" +version = "10.7.1" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-10.4-py3-none-any.whl", hash = "sha256:cfc28d6a09d19448bcbf8eee3ce098c7d17ff99f7bd3069db4819af181212037"}, - {file = "pymdown_extensions-10.4.tar.gz", hash = "sha256:bc46f11749ecd4d6b71cf62396104b4a200bad3498cb0f5dad1b8502fe461a35"}, + {file = "pymdown_extensions-10.7.1-py3-none-any.whl", hash = "sha256:f5cc7000d7ff0d1ce9395d216017fa4df3dde800afb1fb72d1c7d3fd35e710f4"}, + {file = "pymdown_extensions-10.7.1.tar.gz", hash = "sha256:c70e146bdd83c744ffc766b4671999796aba18842b268510a329f7f64700d584"}, ] [package.dependencies] -markdown = ">=3.2" +markdown = ">=3.5" pyyaml = "*" [package.extras] @@ -1651,13 +1559,13 @@ extra = ["pygments (>=2.12)"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -1665,13 +1573,13 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2023.3.post1" +version = "2024.1" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, - {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] [[package]] @@ -1750,119 +1658,101 @@ pyyaml = "*" [[package]] name = "rapidfuzz" -version = "3.3.0" +version = "3.6.2" description = "rapid fuzzy string matching" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "rapidfuzz-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6bec4903d4127d1eaa20a62105a03b38184ddaef40e18393caa1d98ae3de6a0c"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e6c4580b0de835156671390959efad13741d0fb35cc355bc546d1dbf399db5e"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66b92484cc5ea1b546d2adef50407aa011df8c92fcc22ec9b9803eff2d917dcc"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5103c8f4aca404d1db4ba65c393d85d8a78f2547ce7d4a434921a4a1383aa67"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cf3d37e38e7a205758269cd8c8a2ae506214732ef2a82bb1ef01c695963b3f5"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:efb8cc7da41926e4e68773afcdb2fa9bb6a32caefbc297c818526232a58ad5d7"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8b22e1973009e89ac0e1ad157ff978a15021c2acddfa15371456ef58156aa47"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:307c6b9e1e47afe9dc274e2e5bccb81be0941f90f395a38f77405f1d7216bc0a"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:404b6bf53ac0b2b0b1f901f51953e04b758bf6905e1ee1cc29001b1cdfa55316"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:dfccefebbda76796164f8ec6ec04999d635be2d86d83b09d703b8a1f312234c7"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:4f77055d29ab2af3d3be16d50ecabb3ade6ea61bb1768b578f84cf558be5ef1a"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:7ea934a589a7b3d522cbc358e9f8bdf6fae38c65d35596b12616f78c1c3089ec"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:536238d37c9918b235899cc0e330a45304ab3c25be963912b7a969b61bbb309f"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-win32.whl", hash = "sha256:c7070a163017739bfaf4c8c31d66d347d7ab401c4bdb136b268508c24410aa58"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:e45e5930d9f4f78f8d4b34baf4700f150b845cf8ed31bb2fb9149e29e07c6bb8"}, - {file = "rapidfuzz-3.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:783d082341785a832c65010a5dbba3f0c3d500f919edb25f076ddd5991fc8fba"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:12fd4e7c7d8a58fc43a9fbbe76b577c599403174740160937f852be4e78734e7"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a661302b2a93afd3cbeed7a2c43d671d65de1f503c129e745255507c8a91a24"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba3421dd0f5048403acdad536b451d59bccda7b050144928c07d5830af1fb127"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b047aca009e7978a39b85f36a2ab3dbea2bec773d0cab739caa5c6c3e51fe051"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed199d15bfac7a9692bba218f63d117b558f5e08d44c678e2bc9bb43931a701b"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d91e0d03dce17d5e80fc3f12c0c1d1b304f1ad7c26e79e9378236772ab5de393"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c72aafd9f4a83d504c898473e084548ddd3fb2b2eb56121513a13807544a8d6"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:324bc1b508a32972bcf267d1fbf5fddf831da0bbb9c052ffaf733d0be30819f4"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b8fd22c2fc3218614991abff75989a55ca9d99c50f69376457246515ce95e27d"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8f5793a577570211f5dc9b08a9c53d9b7e649372a6dcb8756f3eb823504778eb"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1370bb6decb505b7fee362ffd2f111ca0c369e62a35eac35386b87a8c8f29a38"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:906ddf3902ac4537bf21b2140c9b089c5cf4b203fdba72b447d89d6e8137132b"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb60f7d2bbdabcd41059ccb68a8aea2353f96147a8402fac6581391e7edf809a"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-win32.whl", hash = "sha256:ab7b2c2cb65075d68a9c0f28513ce5154c6e7520fe13b76755971eb135138e74"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:cae783ac3830a20fe32e80c53a406654d3a75b9b5d3351e81ac75ce470f24ad2"}, - {file = "rapidfuzz-3.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:f4b8fd0acbbddaf0d96c1f01e949d645073ad54f8fee1a59af6aa914340ae331"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9558411d11dfcf85d4b080e0bc005114868e217c41f0a36cc13dc2c8ec91eacc"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0965b30b84687107658cb6dc0852d1e14e2a80a93036320264128c8940643db7"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5724ba0f4ac93ad43cc80407cbca2c598a36daf7f65c14279deaf3ad159f00ac"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6467e0adfcb43b4d5bdd92a009cf7c8b952189b943c55050a9f1a8cd8180865"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da5d006f329518eb797c9ed12e05bb8332663c3afa5d2a508032f64f7232766c"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:343f863df7000f212156ed030196ed20215f5231ca54749228a5d6a317b626e8"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:113fb1020be6f4727ecbd4fb29a510e14effe85910edf22cafb6c5d1eea75694"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78e0d6d061835b16ad42df98fe826e4a0a3380621568f80c6ee2fa230d8d7020"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:47ddf5d075e09d0baccc3d499c5eba36e2605771da65a6d95fcc72e22c5e36b9"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bc354de84a2a56890a68a526b0d689dd010df1003794d24f222ee5ba6405d39d"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:2a58279ee1595838dfc2b80562e0a89f6cb98b427c738b57ea146318604dba11"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:f3b40aa31c7a970696967ff43d6d5bf3be4f6c008c9ad661cf8721af9c7c81fc"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7437bfcef4b2b1417731293b97343cb45f1ca46ced381d511cd601ea41b8ab49"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-win32.whl", hash = "sha256:bd6ec3ad3fa5a490dfce534bb87429c122faf6239c97d6c2763353ef61ddab08"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:3ef0cf46d84bc307100f48212966e58f7a55c6045cb4ce9fb3e386313e0fc3a1"}, - {file = "rapidfuzz-3.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:cfa1345d5007efc1bdad6f40d2bbdc42fc83bb6b9fcb8cd3cc830180ccf360b9"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fbafe4e45086b9245e12d97d0c4232e866a52469221acef05192bdb2a9b96a21"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e053d10f01f06d0e10a8a229f2d82845f6d5ec13d67b6a6c11910f49f6e46b2"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2ca9583c9e0361144138f4884b59e7165daa56b5983f15bbc1441de3d548a9"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1441d18aa459e72c5aeacf6ec140878c2ec6debdbbabfd68cd5968ac07ac9b2b"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2de666fb4d3558847b229b4a06909557628a6a1fe5ccdc68e522eed90f442e6f"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b632178ac063e8ad5b8d8bf051bd2436170c3822e865eab63e45a3289b80683"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7f3da8741463e0345480e49d8bc89b83713d802c5c2851d590bd7ba1aaeace87"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4839f1760c7d5e1f1d01230065a111773f2f78277df5d66a55902bdef77f3f93"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:78641fecf74571d0f693cda9aaeb70db581c1df4f0ce6a9077b05558e7c5b6f5"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5df1d384283aa2491ecdc23d00d3b2c2f1ed745f9ca42813b3e51e39a180f9b2"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b13dc341f4deb2f599db3fe0ad52ab87f7bb1fc09911b4823ac618925fa400e0"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:ca3c582e57df2407c5e07db26edb4ef19c2a7882ce2bf0fc1c5a6394986f84e5"}, - {file = "rapidfuzz-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:483299d57306c29a2bb1eb5d978f4d25a5e8d67ffee18b4155847bf9fc422b82"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:4671cd2e0d7e861b7c7aea8ed529b93e7ebec9ec4f6858cd72c395a99074826b"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9bb2690f0d760ebfb4a943f51deb7b3d689b1fa7f87f8de1f005b19574f59259"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8a1bba2aa6af58ff04e9fdde40747dfdb3f1bc836bbb86533e317f9a4b6a607d"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a6f8edd755d29ac7a9804382780d4b383f494fed894514819932b9a484fa117"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1eb377265e4d2f9e6c21a0adc865dddd52b1cd90ecd2552e99b386bb1effe38a"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:319e67f8c1d7b9b45386821ace33edd289ec0995d80361775f5d6d15d684c6a6"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9837f4528071e5dc695fb30098d9b49341e62fab32ef5c15094be260df1a48e4"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29acfc446d091e723caa65e2a7e1b2d7669ac927d02effc5cc636bcd2f41bba5"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:25704f21afa6fc767902e9d0b840623c008d28f58022904c282e26e4f38b770d"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e5051c47a2a00b10c62b51bf1c4aefd2adb34d837b56fe16cfe505db7b7cc2be"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a441e90ec5ac09746d3960221df1268e7a7f0b47978c388e7dcae83e23ae3462"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e7f8056826ba8342f6d9c199750cddce70d1d90254320494115c26480fac44cc"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:78c73efada660cc548d166f08970aeff0ee4dd0a66fa4f27bd24ac6c31551503"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-win32.whl", hash = "sha256:9acd9cd547089b8835ac36223888a43bdfd2492064a8c5ee00cdaf6ef010de4b"}, - {file = "rapidfuzz-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:93bdb512798f8226cd4b785a73c70efa582f26a7287d55337b9216b384946494"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5b8cdcf915c7058815321f2c0c30d20097722459bbb1fd2e1cae574bd03a39db"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:376b87d6b7c83b6b2923f0916fea6fb7288ab66b1b1f3b0cc39e601bb09488cf"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3363beb1da090be877e8a22ac6daefe8e0a6f6aeec10cebc4ec39db3abece897"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1dbf0b3dcb5b9615ea5b90619eb5d7756c2d377770d53c4101ce728de53a8e"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5c4628e165910aeb96099dd42822ad32819511c2a4061dbf62169302d7299f6e"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f25757cb21df937daed9727b628435390ce86af7734cbb3b5c055a1c57ffb434"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4aad090c40474f26578a968e4fbcc9418a4292201a3a0f96a2290465f5aaeec"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ddf7a03740420bfae76ca5d86f934389729cc231285b669fd3d1c913b84005"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:888c096f29f1dbfa6614ffc2780d2c766033e6c2906413d4d6d1f04e5cda05d7"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2a62d1435ef7d897ac37c5975d1f672f5e73857eb183bec821a174ed937f53fb"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ecc437ad773d40217e0a4704ee60002f7e699383dffbf576f41ed7ae6f4a8acc"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e59462ea2f94c809fdea2426a7cd2fe219f171cc7d0dfdbc5681176f86884da4"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:68484409517617feccac3092ec879d5630253890e6895ffbe7880f063329d114"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-win32.whl", hash = "sha256:78abf9f6e3e60d4004f66085bf4618cb5480ca6155d39d17277db7d29388e49d"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:56dec09e716fb12c9fa10649b5980e4bad9563b2b7dc74776618b84603740f6c"}, - {file = "rapidfuzz-3.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:3dfe9f4cdd9f9087f7bdd7c9f4e9304557ca8c44d4a1b1eca69230535e9ab2df"}, - {file = "rapidfuzz-3.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c089bf351657a16a31b911ddab3e2f19b04062f7c8244cea1ec5a40f490e0829"}, - {file = "rapidfuzz-3.3.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e737bd4f30917643c50694df1486ce1a5f869bbf523f38b867076a775ca1a00"}, - {file = "rapidfuzz-3.3.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68800fe792718b5b2a5ff7febbb6e4cc551ef767704873ec04062f642c9f5901"}, - {file = "rapidfuzz-3.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:557a736c8c6e01e2d844211eb4f6f7913f54a912f6578fdf8d72312ae906929c"}, - {file = "rapidfuzz-3.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e809367f75b1d65ea5524a6acfcc4dcced79f4f2d19dbad8f17175ad4864515b"}, - {file = "rapidfuzz-3.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2cc8ea602e030dd5a220e537cc6bbb241ecfe293614415076d8045dd198acd8"}, - {file = "rapidfuzz-3.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0861477cb2d21ed3e3a96a98adba6b24ecaaf50021991fdd72794f963a8f8e9"}, - {file = "rapidfuzz-3.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7fa079737a22e5b098545476be428a90635bf7c89bf3ea5587fa2d07645b1569"}, - {file = "rapidfuzz-3.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada0258e3d23518b74af2363bb4062cfe492ec0c7c4c752aff6cd084d6917830"}, - {file = "rapidfuzz-3.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:50b2b2b96b9c7841f6e2ab001153cd0bfcf707c427f20fed2f1f3849a99bd3fc"}, - {file = "rapidfuzz-3.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:062a5ed305a6d45798cf5548c780d4a434d1f188cc10b971c5c389d11fa356e7"}, - {file = "rapidfuzz-3.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18b51a2858e7adc950407bdb21382256d499472ba5c5d870eada0fa880d854eb"}, - {file = "rapidfuzz-3.3.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0f0b3587ee7dd0f8d96078c33ba88e583dab8834dd658b18df29cfced360cc6"}, - {file = "rapidfuzz-3.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9a40cc64ef814ae60d567c3c9ad01ce92243a9ed6746b31bcddebc1ecc2284"}, - {file = "rapidfuzz-3.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cd254dc3436347a12e683c9d1984230228270009ff0985a38cbf5cbd25e8bc8c"}, - {file = "rapidfuzz-3.3.0.tar.gz", hash = "sha256:5e71bc5829f41e78b2d009431aedeb308ee3699d2bbbc68b7739db9b40bd1465"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a5637e6bf11b15b5aff6ee818c76bdec99ad208511b78985e6209ba648a6e3ee"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:380586664f2f63807050ddb95e7702888b4f0b425abf17655940c411f39287ad"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3168ff565d4b8c239cf11fb604dd2507d30e9bcaac76a4077c0ac23cf2c866ed"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be69f7fd46b5c6467fe5e2fd4cff3816b0c03048eed8a4becb9a73e6000960e7"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cbd5894f23fdf5697499cf759523639838ac822bd1600e343fdce7313baa02ae"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:85a5b6e026393fe39fb61146b9c17c5af66fffbe1410e992c4bb06d9ec327bd3"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab269adfc64480f209e99f253391a10735edd5c09046e04899adab5fb132f20e"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35aeac852bca06023d6bbd50c1fc504ca5a9a3613d5e75a140f0be7601fa34ef"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e706f302c6a3ae0d74edd0d6ace46aee1ae07c563b436ccf5ff04db2b3571e60"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bec353f022011e6e5cd28ccb8700fbd2a33918197af0d4e0abb3c3f4845cc864"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ef3925daaa93eed20401012e219f569ff0c039ed5bf4ce2d3737b4f75d441622"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6ee98d88ae9ccc77ff61992ed33b2496478def5dc0da55c9a9aa06fcb725a352"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:423c7c588b09d618601097b7a0017dfcb91132a2076bef29023c5f3cd2dc3de1"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-win32.whl", hash = "sha256:c17c5efee347a40a6f4c1eec59e3d7d1e22f7613a97f8b8a07733ef723483a04"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:4209816626d8d6ff8ae7dc248061c6059e618b70c6e6f6e4d7444ae3740b2b85"}, + {file = "rapidfuzz-3.6.2-cp310-cp310-win_arm64.whl", hash = "sha256:1c54d3c85e522d3ac9ee39415f183c8fa184c4f87e7e5a37938f15a6d50e853a"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e06f6d270112f5db001f1cba5a97e1a48aee3d3dbdcbea3ec027c230462dbf9b"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:080cb71b50cb6aff11d1c6aeb157f273e2da0b2bdb3f9d7b01257e49e69a8576"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a7895e04a22d6515bc91a850e0831f2405547605aa311d1ffec51e4818abc3c1"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd82f9838519136b7083dd1e3149ee80344521f3dc37f744f227505ff0883efb"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a945567c2b0b6e069454c9782d5234b0b6795718adf7a9f868bd3144afa6a023"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:673ba2c343644805acdae1cb949c6a4de71aa2f62a998978551ebea59603af3f"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d457c89bac1471442002e70551e8268e639b3870b4a4521eae363c07253be87"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:495c0d8e14e6f12520eb7fc71b9ba9fcaafb47fc23a654e6e89b6c7985ec0020"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d67b649bf3e1b1722d04eca44d37919aef88305ce7ad05564502d013cf550fd"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e48dde8ca83d11daa00900cf6a5d281a1297aef9b7bfa73801af6e8822be5019"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:824cc381cf81cbf8d158f6935664ec2a69e6ac3b1d39fa201988bf81a257f775"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:1dfe4c24957474ce0ac75d886387e30e292b4be39228a6d71f76de414dc187db"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d57b98013b802621bbc8b12a46bfc9d36ac552ab51ca207f7ce167ad46adabeb"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-win32.whl", hash = "sha256:9a07dffac439223b4f1025dbfc68f4445a3460a859309c9858c2a3fa29617cdc"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:95a49c6b8bf1229743ae585dd5b7d57f0d15a7eb6e826866d5c9965ba958503c"}, + {file = "rapidfuzz-3.6.2-cp311-cp311-win_arm64.whl", hash = "sha256:af7c19ec86e11488539380d3db1755be5d561a3c0e7b04ff9d07abd7f9a8e9d8"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:de8adc12161bf282c60f12dc9233bb31632f71d446a010fe7469a69b8153427f"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:337e357f693130c4c6be740652542b260e36f622c59e01fa33d58f1d2750c930"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6468f8bc8c3c50604f43631550ef9cfec873515dba5023ca34d461be94669fc8"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74c6773b11445b5e5cf93ca383171cd0ac0cdeafea11a7b2a5688f8bf8d813e6"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1507fc5769aa109dda4de3a15f822a0f6a03e18d627bd0ba3ddbb253cf70e07"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:617949a70150e6fffdaed19253dd49f7a53528411dc8bf7663d499ba21e0f61e"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8b77779174b1b40aa70827692571ab457061897846255ad7d5d559e2edb1932"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80e51b22a7da83f9c87a97e92df07ed0612c74c35496590255f4b5d5b4212dfe"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3ae7c86914cb6673e97e187ba431b9c4cf4177d9ae77f8a1e5b2ba9a5628839e"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ddc380ffaa90f204cc9ddcb779114b9ab6f015246d549de9d47871a97ef9f18a"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3c1dc078ef371fce09f9f3eec2ca4eaa2a8cd412ec53941015b4f39f14d34407"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:9a74102fc5a2534fe91f7507838623e1f3a149d8e05648389c42bb42e14b1c3f"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:48e1eaea8fcd522fca7f04f0480663f0f0cfb77957092cce60a93f4462864996"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-win32.whl", hash = "sha256:66b008bf2972740cd2dda5d382eb8bdb87265cd88198e71c7797bdc0d1f79d20"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:87ac3a87f2251ae2e95fc9478ca5c759de6d141d04c84d3fec9f9cdcfc167b33"}, + {file = "rapidfuzz-3.6.2-cp312-cp312-win_arm64.whl", hash = "sha256:b593cc51aed887e93b78c2f94dfae9008be2b23d17afd3b1f1d3eb3913b58f26"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7d830bc7a9b586a374147ec60b08b1f9ae5996b43f75cc514f37faef3866b519"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dbee7f5ff11872b76505cbd87c814abc823e8757f11c69062eb3b25130a283da"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c011fb31f2c3f82f503aedd6097d3d3854e574e327a119a3b7eb2cf90b79ca"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cda81d0e0ce0c13abfa46b24e10c1e85f9c6acb628f0a9a948f5779f9c2076a2"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c279928651ce0e9e5220dcb25a00cc53b65e592a0861336a38299bcdca3a596"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:35bd4bc9c40e6994c5d6edea4b9319388b4d9711c13c66d543bb4c37624b4184"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d07899506a5a8760448d9df036d528b55a554bf571714173635c79eef4a86e58"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb2e51d01b9c6d6954a3e055c57a80d4685b4fc82719db5519fc153566bcd6bb"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:153d065e353371cc0aeff32b99999a5758266a64e958d1364189367c1c9f6814"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4edcceebb85ebfa49a3ddcde20ad891d36c08dc0fd592efdab0e7d313a4e36af"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3549123fca5bb817341025f98e8e49ca99f84596c7c4f92b658f8e5836040d4a"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:84c1032ae42628465b7a5cc35249906061e18a8193c9c27cbd2db54e9823a9a6"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9bcc91ebd8fc69a6bd3b5711c8250f5f4e70606b4da75ef415f57ad209978205"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-win32.whl", hash = "sha256:f3a70f341c4c111bad910d2df69c78577a98af140319a996af24c9385939335d"}, + {file = "rapidfuzz-3.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:354ad5fe655beb7b279390cb58334903931c5452ecbad1b1666ffb06786498e2"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1b86b93d93020c2b3edc1665d75c8855784845fc0a739b312c26c3a4bf0c80d5"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:28243086ed0e50808bb56632e5442c457241646aeafafd501ac87901f40a3237"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed52461ae5a9ea4c400d38e2649c74a413f1a6d8fb8308b66f1fbd122514732f"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a46220f86a5f9cb016af31525e0d0865cad437d02239aa0d8aed2ab8bff1f1c"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81a630ed2fc3ec5fc7400eb66bab1f87e282b4d47f0abe3e48c6634dfa13b5e4"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8e5a437b9089df6242a718d9c31ab1742989e9400a0977af012ef483b63b4c2"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16270b5529de83b7bae7457e952e4d9cf3fbf029a837dd32d415bb9e0eb8e599"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5378c04102c7f084cde30a100154fa6d7e2baf0d51a6bdd2f912545559c1fb35"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7f18397c8d6a65fc0b288d2fc29bc7baeea6ba91eeb95163a3cd98f23cd3bc85"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2acd2514defce81e6ff4bbff50252d5e7df8e85a731442c4b83e44c86cf1c916"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:1df2faf80201952e252413b6fac6f3e146080dcebb87bb1bb722508e67558ed8"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6440ed0b3007c1c9286b0b88fe2ab2d9e83edd60cd62293b3dfabb732b4e8a30"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4fcfa23b5553b27f4016df77c53172ea743454cf12c28cfa7c35a309a2be93b3"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-win32.whl", hash = "sha256:2d580d937146e803c8e5e1b87916cab8d6f84013b6392713e201efcda335c7d8"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:fe2a68be734e8e88af23385c68d6467e15818b6b1df1cbfebf7bff577226c957"}, + {file = "rapidfuzz-3.6.2-cp39-cp39-win_arm64.whl", hash = "sha256:6478f7803efebf5f644d0b758439c5b25728550fdfbb19783d150004c46a75a9"}, + {file = "rapidfuzz-3.6.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:36ce7b68a7b90b787cdd73480a68d2f1ca63c31a3a9d5a79a8736f978e1e9344"}, + {file = "rapidfuzz-3.6.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53597fd72a9340bcdd80d3620f4957c2b92f9b569313b969a3abdaffd193aae6"}, + {file = "rapidfuzz-3.6.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4f6de745fe6ce46a422d353ee10599013631d7d714a36d025f164b2d4e8c000"}, + {file = "rapidfuzz-3.6.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62df2136068e2515ed8beb01756381ff62c29384d785e3bf46e3111d4ea3ba1e"}, + {file = "rapidfuzz-3.6.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7382c90170f60c846c81a07ddd80bb2e8c43c8383754486fa37f67391a571897"}, + {file = "rapidfuzz-3.6.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f31314fd2e2f3dc3e519e6f93669462ce7953df2def1c344aa8f5345976d0eb2"}, + {file = "rapidfuzz-3.6.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:012221629d54d3bee954148247f711eb86d4d390b589ebfe03172ea0b37a7531"}, + {file = "rapidfuzz-3.6.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d41dd59a70decfce6595315367a2fea2af660d92a9d144acc6479030501014d7"}, + {file = "rapidfuzz-3.6.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f9fa14136a5b0cba1ec42531f7c3e0b0d3edb7fd6bc5e5ae7b498541f3855ab"}, + {file = "rapidfuzz-3.6.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:259364199cbfeca33b1af369fc7951f71717aa285184a3fa5a7b1772da1b89db"}, + {file = "rapidfuzz-3.6.2.tar.gz", hash = "sha256:cf911e792ab0c431694c9bf2648afabfd92099103f2e31492893e078ddca5e1a"}, ] [package.extras] @@ -1884,67 +1774,58 @@ dev = ["black (==22.1.0)", "flake8 (==4.0.1)", "isort (==5.10.1)"] [[package]] name = "red-discordbot" -version = "3.5.5" +version = "3.5.7" description = "A highly customisable Discord bot" optional = false -python-versions = ">=3.8.1,<3.12" +python-versions = "<3.12,>=3.8.1" files = [ - {file = "Red-DiscordBot-3.5.5.tar.gz", hash = "sha256:ae85701645804d3ef265ff8ec609ab53bb31196d7375890acbd53fd2edd501ba"}, - {file = "Red_DiscordBot-3.5.5-py3-none-any.whl", hash = "sha256:ee4cae3b4bc84ecb24c46b6fe6d0bb699748139eaa3ae1c8c682505b0f17c301"}, + {file = "Red-DiscordBot-3.5.7.tar.gz", hash = "sha256:7673ea794016b6d3d7b96eb07a46cd92c52974e15b3a6ad95608df69dc320838"}, + {file = "Red_DiscordBot-3.5.7-py3-none-any.whl", hash = "sha256:3b9df02cd8efd35170c9505e3f0a8c9b1bd415bcc2ca451a19733d28b1b3a5b4"}, ] [package.dependencies] -aiodns = "3.0.0" -aiohttp = "3.8.5" +aiohttp = "3.9.3" aiohttp-json-rpc = "0.13.3" aiosignal = "1.3.1" -apsw = "3.43.1.0" -async-timeout = "4.0.3" -attrs = "23.1.0" -babel = "2.12.1" +apsw = "3.45.2.0" +attrs = "23.2.0" +babel = "2.14.0" brotli = "1.1.0" -cffi = "1.15.1" -charset-normalizer = "3.2.0" click = "8.1.7" colorama = {version = "0.4.6", markers = "sys_platform == \"win32\""} contextlib2 = "21.6.0" discord-py = "2.3.2" -distro = {version = "1.8.0", markers = "sys_platform == \"linux\""} -frozenlist = "1.4.0" -idna = "3.4" -importlib-metadata = "6.8.0" -markdown = "3.4.4" +distro = {version = "1.9.0", markers = "sys_platform == \"linux\""} +frozenlist = "1.4.1" +idna = "3.6" +markdown = "3.6" markdown-it-py = "3.0.0" mdurl = "0.1.2" -multidict = "6.0.4" -orjson = "3.9.7" -packaging = "23.1" -platformdirs = "3.10.0" -psutil = "5.9.5" -pycares = "4.3.0" -pycparser = "2.21" -pygments = "2.16.1" -python-dateutil = "2.8.2" -pytz = "2023.3.post1" +multidict = "6.0.5" +orjson = "3.9.15" +packaging = "24.0" +platformdirs = "4.2.0" +psutil = "5.9.8" +pygments = "2.17.2" +python-dateutil = "2.9.0.post0" pyyaml = "6.0.1" -rapidfuzz = "3.3.0" +rapidfuzz = "3.6.2" red-commons = "1.0.0" red-lavalink = "0.11.0" -rich = "13.5.2" +rich = "13.7.1" schema = "0.7.5" six = "1.16.0" -typing-extensions = "4.7.1" -uvloop = {version = "0.17.0", markers = "sys_platform != \"win32\" and platform_python_implementation == \"CPython\""} -yarl = "1.9.2" -zipp = "3.16.2" +typing-extensions = "4.10.0" +uvloop = {version = "0.19.0", markers = "sys_platform != \"win32\" and platform_python_implementation == \"CPython\""} +yarl = "1.9.4" [package.extras] -all = ["asyncpg (==0.28.0)"] -dev = ["alabaster (==0.7.13)", "astroid (==2.15.6)", "asyncpg (==0.28.0)", "black (==23.9.1)", "certifi (==2023.7.22)", "dill (==0.3.7)", "docutils (==0.18.1)", "exceptiongroup (==1.1.3)", "imagesize (==1.4.1)", "iniconfig (==2.0.0)", "isort (==5.12.0)", "jinja2 (==3.1.2)", "lazy-object-proxy (==1.9.0)", "markupsafe (==2.1.3)", "mccabe (==0.7.0)", "mypy-extensions (==1.0.0)", "pathspec (==0.11.2)", "pluggy (==1.3.0)", "pylint (==2.17.5)", "pytest (==7.4.2)", "pytest-asyncio (==0.21.1)", "pytest-mock (==3.11.1)", "requests (==2.31.0)", "snowballstemmer (==2.2.0)", "sphinx (==7.1.2)", "sphinx-prompt (==1.7.0)", "sphinx-rtd-theme (==1.3.0)", "sphinxcontrib-applehelp (==1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (==2.0.1)", "sphinxcontrib-jquery (==4.1)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-trio (==1.1.2)", "tomli (==2.0.1)", "tomlkit (==0.12.1)", "urllib3 (==2.0.4)", "wrapt (==1.15.0)"] -doc = ["alabaster (==0.7.13)", "certifi (==2023.7.22)", "docutils (==0.18.1)", "imagesize (==1.4.1)", "jinja2 (==3.1.2)", "markupsafe (==2.1.3)", "requests (==2.31.0)", "snowballstemmer (==2.2.0)", "sphinx (==7.1.2)", "sphinx-prompt (==1.7.0)", "sphinx-rtd-theme (==1.3.0)", "sphinxcontrib-applehelp (==1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (==2.0.1)", "sphinxcontrib-jquery (==4.1)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-trio (==1.1.2)", "urllib3 (==2.0.4)"] -postgres = ["asyncpg (==0.28.0)"] -style = ["black (==23.9.1)", "mypy-extensions (==1.0.0)", "pathspec (==0.11.2)", "tomli (==2.0.1)"] -test = ["astroid (==2.15.6)", "dill (==0.3.7)", "exceptiongroup (==1.1.3)", "iniconfig (==2.0.0)", "isort (==5.12.0)", "lazy-object-proxy (==1.9.0)", "mccabe (==0.7.0)", "pluggy (==1.3.0)", "pylint (==2.17.5)", "pytest (==7.4.2)", "pytest-asyncio (==0.21.1)", "pytest-mock (==3.11.1)", "tomli (==2.0.1)", "tomlkit (==0.12.1)", "wrapt (==1.15.0)"] +all = ["async-timeout (==4.0.3)", "asyncpg (==0.29.0)"] +dev = ["alabaster (==0.7.13)", "astroid (==3.1.0)", "async-timeout (==4.0.3)", "asyncpg (==0.29.0)", "black (==23.12.1)", "certifi (==2024.2.2)", "charset-normalizer (==3.3.2)", "dill (==0.3.8)", "docutils (==0.20.1)", "exceptiongroup (==1.2.0)", "imagesize (==1.4.1)", "importlib-metadata (==7.1.0)", "iniconfig (==2.0.0)", "isort (==5.13.2)", "jinja2 (==3.1.3)", "markupsafe (==2.1.5)", "mccabe (==0.7.0)", "mypy-extensions (==1.0.0)", "pathspec (==0.12.1)", "pluggy (==1.4.0)", "pylint (==3.1.0)", "pytest (==7.4.4)", "pytest-asyncio (==0.21.1)", "pytest-mock (==3.12.0)", "pytz (==2024.1)", "requests (==2.31.0)", "snowballstemmer (==2.2.0)", "sphinx (==7.1.2)", "sphinx-prompt (==1.7.0)", "sphinx-rtd-theme (==2.0.0)", "sphinxcontrib-applehelp (==1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (==2.0.1)", "sphinxcontrib-jquery (==4.1)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-trio (==1.1.2)", "tomli (==2.0.1)", "tomli (==2.0.1)", "tomlkit (==0.12.4)", "urllib3 (==2.2.1)", "zipp (==3.18.1)"] +doc = ["alabaster (==0.7.13)", "certifi (==2024.2.2)", "charset-normalizer (==3.3.2)", "docutils (==0.20.1)", "imagesize (==1.4.1)", "importlib-metadata (==7.1.0)", "jinja2 (==3.1.3)", "markupsafe (==2.1.5)", "pytz (==2024.1)", "requests (==2.31.0)", "snowballstemmer (==2.2.0)", "sphinx (==7.1.2)", "sphinx-prompt (==1.7.0)", "sphinx-rtd-theme (==2.0.0)", "sphinxcontrib-applehelp (==1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (==2.0.1)", "sphinxcontrib-jquery (==4.1)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-trio (==1.1.2)", "urllib3 (==2.2.1)", "zipp (==3.18.1)"] +postgres = ["async-timeout (==4.0.3)", "asyncpg (==0.29.0)"] +style = ["black (==23.12.1)", "mypy-extensions (==1.0.0)", "pathspec (==0.12.1)", "tomli (==2.0.1)"] +test = ["astroid (==3.1.0)", "dill (==0.3.8)", "exceptiongroup (==1.2.0)", "iniconfig (==2.0.0)", "isort (==5.13.2)", "mccabe (==0.7.0)", "pluggy (==1.4.0)", "pylint (==3.1.0)", "pytest (==7.4.4)", "pytest-asyncio (==0.21.1)", "pytest-mock (==3.12.0)", "tomli (==2.0.1)", "tomlkit (==0.12.4)"] [[package]] name = "red-lavalink" @@ -2091,13 +1972,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rich" -version = "13.5.2" +version = "13.7.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, - {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, + {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, + {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, ] [package.dependencies] @@ -2109,28 +1990,28 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "ruff" -version = "0.3.1" +version = "0.3.4" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.3.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:6b82e3937d0d76554cd5796bc3342a7d40de44494d29ff490022d7a52c501744"}, - {file = "ruff-0.3.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ae7954c8f692b70e6a206087ae3988acc9295d84c550f8d90b66c62424c16771"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b730f56ccf91225da0f06cfe421e83b8cc27b2a79393db9c3df02ed7e2bbc01"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c78bfa85637668f47bd82aa2ae17de2b34221ac23fea30926f6409f9e37fc927"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6abaad602d6e6daaec444cbf4d9364df0a783e49604c21499f75bb92237d4af"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5f0c21b6914c3c9a25a59497cbb1e5b6c2d8d9beecc9b8e03ee986e24eee072e"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:434c3fc72e6311c85cd143c4c448b0e60e025a9ac1781e63ba222579a8c29200"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78a7025e6312cbba496341da5062e7cdd47d95f45c1b903e635cdeb1ba5ec2b9"}, - {file = "ruff-0.3.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52b02bb46f1a79b0c1fa93f6495bc7e77e4ef76e6c28995b4974a20ed09c0833"}, - {file = "ruff-0.3.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:11b5699c42f7d0b771c633d620f2cb22e727fb226273aba775a91784a9ed856c"}, - {file = "ruff-0.3.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:54e5dca3e411772b51194b3102b5f23b36961e8ede463776b289b78180df71a0"}, - {file = "ruff-0.3.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:951efb610c5844e668bbec4f71cf704f8645cf3106e13f283413969527ebfded"}, - {file = "ruff-0.3.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:09c7333b25e983aabcf6e38445252cff0b4745420fc3bda45b8fce791cc7e9ce"}, - {file = "ruff-0.3.1-py3-none-win32.whl", hash = "sha256:d937f9b99ebf346e0606c3faf43c1e297a62ad221d87ef682b5bdebe199e01f6"}, - {file = "ruff-0.3.1-py3-none-win_amd64.whl", hash = "sha256:c0318a512edc9f4e010bbaab588b5294e78c5cdc9b02c3d8ab2d77c7ae1903e3"}, - {file = "ruff-0.3.1-py3-none-win_arm64.whl", hash = "sha256:d3b60e44240f7e903e6dbae3139a65032ea4c6f2ad99b6265534ff1b83c20afa"}, - {file = "ruff-0.3.1.tar.gz", hash = "sha256:d30db97141fc2134299e6e983a6727922c9e03c031ae4883a6d69461de722ae7"}, + {file = "ruff-0.3.4-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:60c870a7d46efcbc8385d27ec07fe534ac32f3b251e4fc44b3cbfd9e09609ef4"}, + {file = "ruff-0.3.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6fc14fa742e1d8f24910e1fff0bd5e26d395b0e0e04cc1b15c7c5e5fe5b4af91"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3ee7880f653cc03749a3bfea720cf2a192e4f884925b0cf7eecce82f0ce5854"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cf133dd744f2470b347f602452a88e70dadfbe0fcfb5fd46e093d55da65f82f7"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f3860057590e810c7ffea75669bdc6927bfd91e29b4baa9258fd48b540a4365"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:986f2377f7cf12efac1f515fc1a5b753c000ed1e0a6de96747cdf2da20a1b369"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fd98e85869603e65f554fdc5cddf0712e352fe6e61d29d5a6fe087ec82b76c"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64abeed785dad51801b423fa51840b1764b35d6c461ea8caef9cf9e5e5ab34d9"}, + {file = "ruff-0.3.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df52972138318bc7546d92348a1ee58449bc3f9eaf0db278906eb511889c4b50"}, + {file = "ruff-0.3.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:98e98300056445ba2cc27d0b325fd044dc17fcc38e4e4d2c7711585bd0a958ed"}, + {file = "ruff-0.3.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:519cf6a0ebed244dce1dc8aecd3dc99add7a2ee15bb68cf19588bb5bf58e0488"}, + {file = "ruff-0.3.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:bb0acfb921030d00070539c038cd24bb1df73a2981e9f55942514af8b17be94e"}, + {file = "ruff-0.3.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:cf187a7e7098233d0d0c71175375c5162f880126c4c716fa28a8ac418dcf3378"}, + {file = "ruff-0.3.4-py3-none-win32.whl", hash = "sha256:af27ac187c0a331e8ef91d84bf1c3c6a5dea97e912a7560ac0cef25c526a4102"}, + {file = "ruff-0.3.4-py3-none-win_amd64.whl", hash = "sha256:de0d5069b165e5a32b3c6ffbb81c350b1e3d3483347196ffdf86dc0ef9e37dd6"}, + {file = "ruff-0.3.4-py3-none-win_arm64.whl", hash = "sha256:6810563cc08ad0096b57c717bd78aeac888a1bfd38654d9113cb3dc4d3f74232"}, + {file = "ruff-0.3.4.tar.gz", hash = "sha256:f0f4484c6541a99862b693e13a151435a279b271cff20e37101116a21e2a1ad1"}, ] [[package]] @@ -2200,13 +2081,13 @@ files = [ [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.10.0" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, + {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, ] [[package]] @@ -2228,47 +2109,47 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "uvloop" -version = "0.17.0" +version = "0.19.0" description = "Fast implementation of asyncio event loop on top of libuv" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8.0" files = [ - {file = "uvloop-0.17.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ce9f61938d7155f79d3cb2ffa663147d4a76d16e08f65e2c66b77bd41b356718"}, - {file = "uvloop-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:68532f4349fd3900b839f588972b3392ee56042e440dd5873dfbbcd2cc67617c"}, - {file = "uvloop-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0949caf774b9fcefc7c5756bacbbbd3fc4c05a6b7eebc7c7ad6f825b23998d6d"}, - {file = "uvloop-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff3d00b70ce95adce264462c930fbaecb29718ba6563db354608f37e49e09024"}, - {file = "uvloop-0.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a5abddb3558d3f0a78949c750644a67be31e47936042d4f6c888dd6f3c95f4aa"}, - {file = "uvloop-0.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8efcadc5a0003d3a6e887ccc1fb44dec25594f117a94e3127954c05cf144d811"}, - {file = "uvloop-0.17.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3378eb62c63bf336ae2070599e49089005771cc651c8769aaad72d1bd9385a7c"}, - {file = "uvloop-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6aafa5a78b9e62493539456f8b646f85abc7093dd997f4976bb105537cf2635e"}, - {file = "uvloop-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c686a47d57ca910a2572fddfe9912819880b8765e2f01dc0dd12a9bf8573e539"}, - {file = "uvloop-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:864e1197139d651a76c81757db5eb199db8866e13acb0dfe96e6fc5d1cf45fc4"}, - {file = "uvloop-0.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2a6149e1defac0faf505406259561bc14b034cdf1d4711a3ddcdfbaa8d825a05"}, - {file = "uvloop-0.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6708f30db9117f115eadc4f125c2a10c1a50d711461699a0cbfaa45b9a78e376"}, - {file = "uvloop-0.17.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:23609ca361a7fc587031429fa25ad2ed7242941adec948f9d10c045bfecab06b"}, - {file = "uvloop-0.17.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2deae0b0fb00a6af41fe60a675cec079615b01d68beb4cc7b722424406b126a8"}, - {file = "uvloop-0.17.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45cea33b208971e87a31c17622e4b440cac231766ec11e5d22c76fab3bf9df62"}, - {file = "uvloop-0.17.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b09e0f0ac29eee0451d71798878eae5a4e6a91aa275e114037b27f7db72702d"}, - {file = "uvloop-0.17.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:dbbaf9da2ee98ee2531e0c780455f2841e4675ff580ecf93fe5c48fe733b5667"}, - {file = "uvloop-0.17.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a4aee22ece20958888eedbad20e4dbb03c37533e010fb824161b4f05e641f738"}, - {file = "uvloop-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:307958f9fc5c8bb01fad752d1345168c0abc5d62c1b72a4a8c6c06f042b45b20"}, - {file = "uvloop-0.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ebeeec6a6641d0adb2ea71dcfb76017602ee2bfd8213e3fcc18d8f699c5104f"}, - {file = "uvloop-0.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1436c8673c1563422213ac6907789ecb2b070f5939b9cbff9ef7113f2b531595"}, - {file = "uvloop-0.17.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8887d675a64cfc59f4ecd34382e5b4f0ef4ae1da37ed665adba0c2badf0d6578"}, - {file = "uvloop-0.17.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3db8de10ed684995a7f34a001f15b374c230f7655ae840964d51496e2f8a8474"}, - {file = "uvloop-0.17.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7d37dccc7ae63e61f7b96ee2e19c40f153ba6ce730d8ba4d3b4e9738c1dccc1b"}, - {file = "uvloop-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cbbe908fda687e39afd6ea2a2f14c2c3e43f2ca88e3a11964b297822358d0e6c"}, - {file = "uvloop-0.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d97672dc709fa4447ab83276f344a165075fd9f366a97b712bdd3fee05efae8"}, - {file = "uvloop-0.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1e507c9ee39c61bfddd79714e4f85900656db1aec4d40c6de55648e85c2799c"}, - {file = "uvloop-0.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c092a2c1e736086d59ac8e41f9c98f26bbf9b9222a76f21af9dfe949b99b2eb9"}, - {file = "uvloop-0.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:30babd84706115626ea78ea5dbc7dd8d0d01a2e9f9b306d24ca4ed5796c66ded"}, - {file = "uvloop-0.17.0.tar.gz", hash = "sha256:0ddf6baf9cf11a1a22c71487f39f15b2cf78eb5bde7e5b45fbb99e8a9d91b9e1"}, + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, + {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, ] [package.extras] -dev = ["Cython (>=0.29.32,<0.30.0)", "Sphinx (>=4.1.2,<4.2.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=22.0.0,<22.1.0)", "pycodestyle (>=2.7.0,<2.8.0)", "pytest (>=3.6.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] -test = ["Cython (>=0.29.32,<0.30.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=22.0.0,<22.1.0)", "pycodestyle (>=2.7.0,<2.8.0)"] +test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] [[package]] name = "watchdog" @@ -2405,106 +2286,107 @@ files = [ [[package]] name = "yarl" -version = "1.9.2" +version = "1.9.4" description = "Yet another URL library" optional = false python-versions = ">=3.7" files = [ - {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, - {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, - {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee4afac41415d52d53a9833ebae7e32b344be72835bbb589018c9e938045a560"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bf345c3a4f5ba7f766430f97f9cc1320786f19584acc7086491f45524a551ac"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a96c19c52ff442a808c105901d0bdfd2e28575b3d5f82e2f5fd67e20dc5f4ea"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891c0e3ec5ec881541f6c5113d8df0315ce5440e244a716b95f2525b7b9f3608"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c3a53ba34a636a256d767c086ceb111358876e1fb6b50dfc4d3f4951d40133d5"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2b0738fb871812722a0ac2154be1f049c6223b9f6f22eec352996b69775b36d4"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:32f1d071b3f362c80f1a7d322bfd7b2d11e33d2adf395cc1dd4df36c9c243095"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e9fdc7ac0d42bc3ea78818557fab03af6181e076a2944f43c38684b4b6bed8e3"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56ff08ab5df8429901ebdc5d15941b59f6253393cb5da07b4170beefcf1b2528"}, - {file = "yarl-1.9.2-cp310-cp310-win32.whl", hash = "sha256:8ea48e0a2f931064469bdabca50c2f578b565fc446f302a79ba6cc0ee7f384d3"}, - {file = "yarl-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:50f33040f3836e912ed16d212f6cc1efb3231a8a60526a407aeb66c1c1956dde"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:646d663eb2232d7909e6601f1a9107e66f9791f290a1b3dc7057818fe44fc2b6"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aff634b15beff8902d1f918012fc2a42e0dbae6f469fce134c8a0dc51ca423bb"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a83503934c6273806aed765035716216cc9ab4e0364f7f066227e1aaea90b8d0"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b25322201585c69abc7b0e89e72790469f7dad90d26754717f3310bfe30331c2"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22a94666751778629f1ec4280b08eb11815783c63f52092a5953faf73be24191"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ec53a0ea2a80c5cd1ab397925f94bff59222aa3cf9c6da938ce05c9ec20428d"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:159d81f22d7a43e6eabc36d7194cb53f2f15f498dbbfa8edc8a3239350f59fe7"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:832b7e711027c114d79dffb92576acd1bd2decc467dec60e1cac96912602d0e6"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:95d2ecefbcf4e744ea952d073c6922e72ee650ffc79028eb1e320e732898d7e8"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d4e2c6d555e77b37288eaf45b8f60f0737c9efa3452c6c44626a5455aeb250b9"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:783185c75c12a017cc345015ea359cc801c3b29a2966c2655cd12b233bf5a2be"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:b8cc1863402472f16c600e3e93d542b7e7542a540f95c30afd472e8e549fc3f7"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:822b30a0f22e588b32d3120f6d41e4ed021806418b4c9f0bc3048b8c8cb3f92a"}, - {file = "yarl-1.9.2-cp311-cp311-win32.whl", hash = "sha256:a60347f234c2212a9f0361955007fcf4033a75bf600a33c88a0a8e91af77c0e8"}, - {file = "yarl-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:be6b3fdec5c62f2a67cb3f8c6dbf56bbf3f61c0f046f84645cd1ca73532ea051"}, - {file = "yarl-1.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38a3928ae37558bc1b559f67410df446d1fbfa87318b124bf5032c31e3447b74"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac9bb4c5ce3975aeac288cfcb5061ce60e0d14d92209e780c93954076c7c4367"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3da8a678ca8b96c8606bbb8bfacd99a12ad5dd288bc6f7979baddd62f71c63ef"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13414591ff516e04fcdee8dc051c13fd3db13b673c7a4cb1350e6b2ad9639ad3"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf74d08542c3a9ea97bb8f343d4fcbd4d8f91bba5ec9d5d7f792dbe727f88938"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7221580dc1db478464cfeef9b03b95c5852cc22894e418562997df0d074ccc"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:494053246b119b041960ddcd20fd76224149cfea8ed8777b687358727911dd33"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:52a25809fcbecfc63ac9ba0c0fb586f90837f5425edfd1ec9f3372b119585e45"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:e65610c5792870d45d7b68c677681376fcf9cc1c289f23e8e8b39c1485384185"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:1b1bba902cba32cdec51fca038fd53f8beee88b77efc373968d1ed021024cc04"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:662e6016409828ee910f5d9602a2729a8a57d74b163c89a837de3fea050c7582"}, - {file = "yarl-1.9.2-cp37-cp37m-win32.whl", hash = "sha256:f364d3480bffd3aa566e886587eaca7c8c04d74f6e8933f3f2c996b7f09bee1b"}, - {file = "yarl-1.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6a5883464143ab3ae9ba68daae8e7c5c95b969462bbe42e2464d60e7e2698368"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5610f80cf43b6202e2c33ba3ec2ee0a2884f8f423c8f4f62906731d876ef4fac"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9a4e67ad7b646cd6f0938c7ebfd60e481b7410f574c560e455e938d2da8e0f4"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:83fcc480d7549ccebe9415d96d9263e2d4226798c37ebd18c930fce43dfb9574"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fcd436ea16fee7d4207c045b1e340020e58a2597301cfbcfdbe5abd2356c2fb"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84e0b1599334b1e1478db01b756e55937d4614f8654311eb26012091be109d59"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3458a24e4ea3fd8930e934c129b676c27452e4ebda80fbe47b56d8c6c7a63a9e"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:838162460b3a08987546e881a2bfa573960bb559dfa739e7800ceeec92e64417"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4e2d08f07a3d7d3e12549052eb5ad3eab1c349c53ac51c209a0e5991bbada78"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de119f56f3c5f0e2fb4dee508531a32b069a5f2c6e827b272d1e0ff5ac040333"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:149ddea5abf329752ea5051b61bd6c1d979e13fbf122d3a1f9f0c8be6cb6f63c"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:674ca19cbee4a82c9f54e0d1eee28116e63bc6fd1e96c43031d11cbab8b2afd5"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:9b3152f2f5677b997ae6c804b73da05a39daa6a9e85a512e0e6823d81cdad7cc"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415d5a4b080dc9612b1b63cba008db84e908b95848369aa1da3686ae27b6d2b"}, - {file = "yarl-1.9.2-cp38-cp38-win32.whl", hash = "sha256:f7a3d8146575e08c29ed1cd287068e6d02f1c7bdff8970db96683b9591b86ee7"}, - {file = "yarl-1.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:63c48f6cef34e6319a74c727376e95626f84ea091f92c0250a98e53e62c77c72"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75df5ef94c3fdc393c6b19d80e6ef1ecc9ae2f4263c09cacb178d871c02a5ba9"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c027a6e96ef77d401d8d5a5c8d6bc478e8042f1e448272e8d9752cb0aff8b5c8"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3b078dbe227f79be488ffcfc7a9edb3409d018e0952cf13f15fd6512847f3f7"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59723a029760079b7d991a401386390c4be5bfec1e7dd83e25a6a0881859e716"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b03917871bf859a81ccb180c9a2e6c1e04d2f6a51d953e6a5cdd70c93d4e5a2a"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1012fa63eb6c032f3ce5d2171c267992ae0c00b9e164efe4d73db818465fac3"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74dcbfe780e62f4b5a062714576f16c2f3493a0394e555ab141bf0d746bb955"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c56986609b057b4839968ba901944af91b8e92f1725d1a2d77cbac6972b9ed1"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2c315df3293cd521033533d242d15eab26583360b58f7ee5d9565f15fee1bef4"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b7232f8dfbd225d57340e441d8caf8652a6acd06b389ea2d3222b8bc89cbfca6"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:53338749febd28935d55b41bf0bcc79d634881195a39f6b2f767870b72514caf"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:066c163aec9d3d073dc9ffe5dd3ad05069bcb03fcaab8d221290ba99f9f69ee3"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8288d7cd28f8119b07dd49b7230d6b4562f9b61ee9a4ab02221060d21136be80"}, - {file = "yarl-1.9.2-cp39-cp39-win32.whl", hash = "sha256:b124e2a6d223b65ba8768d5706d103280914d61f5cae3afbc50fc3dfcc016623"}, - {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, - {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" -[[package]] -name = "zipp" -version = "3.16.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, - {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, -] - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] - [metadata] lock-version = "2.0" python-versions = ">=3.11,<3.12" From 76da85365ca5e72d7b56e06f8727a2f148f71ca5 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 03:31:00 -0400 Subject: [PATCH 06/49] docs(backup): updated docs with a disclaimer about version compatibility --- .docs/backup.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.docs/backup.md b/.docs/backup.md index 238ba8e..f324e72 100644 --- a/.docs/backup.md +++ b/.docs/backup.md @@ -10,6 +10,14 @@ Backup allows you to export a JSON list of all of your installed repositories an [p]cog load backup ``` +## Version Compatibility + +As of commit [1edb08a](https://www.coastalcommits.com/SeaswimmerTheFsh/SeaCogs/commit/1edb08a1271f12098ca0bed11a735f7162cedd14), the Backup cog no longer supports Red versions older than 3.5.6. If you want to use the cog on an earlier version (3.5.0 - 3.5.5), install the cog pinned to this commit: `43464db6a7c51bc69282b1ae3dc507a4aae851de`. + +```bash +[p]cog installversion sea-cogs 43464db6a7c51bc69282b1ae3dc507a4aae851de backup +``` + ## Commands ### backup export From 069621eee898b7399a05c33c0a3121b5999874ca Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 03:33:02 -0400 Subject: [PATCH 07/49] fix(docs): disabled social plugin so the documentation builds --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 2a0ea7d..c769609 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -29,7 +29,7 @@ nav: plugins: - git-authors - search - - social + #- social - git-revision-date-localized: enable_creation_date: true type: timeago From 09d7f634f28608eb1aa022998204f3de4845701e Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 03:35:35 -0400 Subject: [PATCH 08/49] fix(backup): changed version requirements --- backup/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backup/info.json b/backup/info.json index fccea3e..8f76391 100644 --- a/backup/info.json +++ b/backup/info.json @@ -7,8 +7,8 @@ "end_user_data_statement" : "This cog does not store end user data.", "hidden": false, "disabled": false, - "min_bot_version": "3.5.0", - "max_bot_version": "3.5.5", + "min_bot_version": "3.5.6", + "max_bot_version": "3.5.7", "min_python_version": [3, 9, 0], "tags": [ "utility", From 5adaca755dc526175ec67d4e7827cfbff1a2f760 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 07:17:39 -0400 Subject: [PATCH 09/49] feat(aurora): added documentation link to cog-level help embed --- aurora/aurora.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/aurora/aurora.py b/aurora/aurora.py index 23fe814..bc931de 100644 --- a/aurora/aurora.py +++ b/aurora/aurora.py @@ -18,7 +18,8 @@ from redbot.core import app_commands, commands, data_manager from redbot.core.app_commands import Choice from redbot.core.bot import Red from redbot.core.commands.converter import parse_relativedelta, parse_timedelta -from redbot.core.utils.chat_formatting import box, error, humanize_list, humanize_timedelta, warning +from redbot.core.utils.chat_formatting import (box, error, humanize_list, + humanize_timedelta, warning) from aurora.importers.aurora import ImportAuroraView from aurora.importers.galacticbot import ImportGalacticBotView @@ -27,10 +28,18 @@ from aurora.menus.guild import Guild from aurora.menus.immune import Immune from aurora.menus.overrides import Overrides from aurora.utilities.config import config, register_config -from aurora.utilities.database import connect, create_guild_table, fetch_case, mysql_log -from aurora.utilities.factory import addrole_embed, case_factory, changes_factory, evidenceformat_factory, guild_embed, immune_embed, message_factory, overrides_embed +from aurora.utilities.database import (connect, create_guild_table, fetch_case, + mysql_log) +from aurora.utilities.factory import (addrole_embed, case_factory, + changes_factory, evidenceformat_factory, + guild_embed, immune_embed, + message_factory, overrides_embed) from aurora.utilities.logger import logger -from aurora.utilities.utils import check_moddable, check_permissions, convert_timedelta_to_str, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat, timedelta_from_relativedelta +from aurora.utilities.utils import (check_moddable, check_permissions, + convert_timedelta_to_str, + fetch_channel_dict, fetch_user_dict, + generate_dict, log, send_evidenceformat, + timedelta_from_relativedelta) class Aurora(commands.Cog): @@ -39,7 +48,8 @@ class Aurora(commands.Cog): This cog stores all of its data in an SQLite database.""" __author__ = ["SeaswimmerTheFsh"] - __version__ = "2.1.0" + __version__ = "2.1.1" + __documentation__ = "https://seacogs.coastalcommits.com/aurora/" async def red_delete_data_for_user(self, *, requester, user_id: int): if requester == "discord_deleted_user": @@ -84,6 +94,7 @@ class Aurora(commands.Cog): f"{pre_processed}{n}", f"Cog Version: **{self.__version__}**", f"Author: {humanize_list(self.__author__)}", + f"Documentation: {self.__documentation__}", ] return "\n".join(text) From f713780d4945fbcb612cb596063b7aab1973fed5 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 07:17:51 -0400 Subject: [PATCH 10/49] feat(backup): added documentation link to cog-level help embed --- backup/backup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backup/backup.py b/backup/backup.py index 08d6c24..4a51c6f 100644 --- a/backup/backup.py +++ b/backup/backup.py @@ -22,7 +22,8 @@ class Backup(commands.Cog): """A utility to make reinstalling repositories and cogs after migrating the bot far easier.""" __author__ = ["SeaswimmerTheFsh"] - __version__ = "1.0.1" + __version__ = "1.1.0" + __documentation__ = "https://seacogs.coastalcommits.com/backup/" def __init__(self, bot: Red): super().__init__() @@ -36,6 +37,7 @@ class Backup(commands.Cog): f"{pre_processed}{n}", f"Cog Version: **{self.__version__}**", f"Author: {humanize_list(self.__author__)}", + f"Documentation: {self.__documentation__}", ] return "\n".join(text) From 0ed7ab6727a4c6422930798aa61a3d577fccf2f3 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 07:18:17 -0400 Subject: [PATCH 11/49] feat(bible): added documentation link to cog-level help embed --- bible/bible.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bible/bible.py b/bible/bible.py index 5b7305f..809c157 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -22,7 +22,8 @@ class Bible(commands.Cog): """Retrieve Bible verses from the API.bible API.""" __author__ = ["SeaswimmerTheFsh"] - __version__ = "1.0.1" + __version__ = "1.0.2" + __documentation__ = "https://seacogs.coastalcommits.com/bible/" def __init__(self, bot: Red): super().__init__() @@ -42,6 +43,7 @@ class Bible(commands.Cog): f"{pre_processed}{n}", f"Cog Version: **{self.__version__}**", f"Author: {humanize_list(self.__author__)}", + f"Documentation: {self.__documentation__}", ] return "\n".join(text) From 306684885369c2477b5c16df2843971c5df14127 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 07:18:22 -0400 Subject: [PATCH 12/49] feat(nerdify): added documentation link to cog-level help embed --- nerdify/nerdify.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nerdify/nerdify.py b/nerdify/nerdify.py index dc97886..76307b1 100644 --- a/nerdify/nerdify.py +++ b/nerdify/nerdify.py @@ -18,7 +18,8 @@ class Nerdify(commands.Cog): """Nerdify your text.""" __author__ = ["SeaswimmerTheFsh"] - __version__ = "1.3.3" + __version__ = "1.3.4" + __documentation__ = "https://seacogs.coastalcommits.com/nerdify/" def __init__(self, bot): self.bot = bot @@ -30,6 +31,7 @@ class Nerdify(commands.Cog): f"{pre_processed}{n}", f"Cog Version: **{self.__version__}**", f"Author: {chat_formatting.humanize_list(self.__author__)}", + f"Documentation: {self.__documentation__}" ] return "\n".join(text) From ba25078f3fa63f4bed17e286f5662b7fbc3aaa2b Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 29 Mar 2024 07:18:55 -0400 Subject: [PATCH 13/49] feat(pterodactyl): added custom formatting for the cog-level help embed --- pterodactyl/pterodactyl.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index 601106a..ae5ea2b 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -9,7 +9,7 @@ from pydactyl import PterodactylClient from redbot.core import app_commands, commands from redbot.core.app_commands import Choice from redbot.core.bot import Red -from redbot.core.utils.chat_formatting import box, error +from redbot.core.utils.chat_formatting import box, error, humanize_list from redbot.core.utils.views import ConfirmView from pterodactyl import mcsrvstatus @@ -20,6 +20,10 @@ from pterodactyl.logger import logger class Pterodactyl(commands.Cog): """Pterodactyl allows you to manage your Pterodactyl Panel from Discord.""" + __author__ = ["SeaswimmerTheFsh"] + __version__ = "2.0.0" + __documentation__ = "https://seacogs.coastalcommits.com/pterodactyl/" + def __init__(self, bot: Red): self.bot = bot self.client: Optional[PterodactylClient] = None @@ -30,6 +34,17 @@ class Pterodactyl(commands.Cog): self.task = self.get_task() self.update_topic.start() + def format_help_for_context(self, ctx: commands.Context) -> str: + pre_processed = super().format_help_for_context(ctx) or "" + n = "\n" if "\n\n" not in pre_processed else "" + text = [ + f"{pre_processed}{n}", + f"Cog Version: **{self.__version__}**", + f"Author: {humanize_list(self.__author__)}", + f"Documentation: {self.__documentation__}", + ] + return "\n".join(text) + async def cog_unload(self) -> None: self.update_topic.cancel() self.task.cancel() From a4f2d21fa1d1572626e05e949d686a6602f59454 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 5 Apr 2024 10:42:13 -0400 Subject: [PATCH 14/49] fix(aurora): fixed a minor issue in utilities.utils.get_bool_emoji --- aurora/utilities/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aurora/utilities/utils.py b/aurora/utilities/utils.py index 6f77cca..eef5a62 100644 --- a/aurora/utilities/utils.py +++ b/aurora/utilities/utils.py @@ -2,7 +2,7 @@ import json from datetime import datetime from datetime import timedelta as td -from typing import Union +from typing import Optional, Union from dateutil.relativedelta import relativedelta as rd from discord import Guild, Interaction, Member, SelectOption, User @@ -250,7 +250,7 @@ def convert_timedelta_to_str(timedelta: td) -> str: return f"{hours}:{minutes}:{seconds}" -def get_bool_emoji(value: bool) -> str: +def get_bool_emoji(value: Optional[bool]) -> str: """Returns a unicode emoji based on a boolean value.""" if value is True: return "\N{WHITE HEAVY CHECK MARK}" From 9f7244cd650b7d17f781d4b67a83cdacaa54c174 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 5 Apr 2024 10:43:58 -0400 Subject: [PATCH 15/49] feat(Aurora): added a respect_hierarchy configuration option and relevant configuration button to `[p]aurora set guild`, along with functionality that uses this configuration value --- aurora/aurora.py | 19 +++++-------------- aurora/menus/guild.py | 10 ++++++++++ aurora/utilities/config.py | 1 + aurora/utilities/factory.py | 4 ++++ aurora/utilities/utils.py | 2 +- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/aurora/aurora.py b/aurora/aurora.py index bc931de..8a437cb 100644 --- a/aurora/aurora.py +++ b/aurora/aurora.py @@ -18,8 +18,7 @@ from redbot.core import app_commands, commands, data_manager from redbot.core.app_commands import Choice from redbot.core.bot import Red from redbot.core.commands.converter import parse_relativedelta, parse_timedelta -from redbot.core.utils.chat_formatting import (box, error, humanize_list, - humanize_timedelta, warning) +from redbot.core.utils.chat_formatting import box, error, humanize_list, humanize_timedelta, warning from aurora.importers.aurora import ImportAuroraView from aurora.importers.galacticbot import ImportGalacticBotView @@ -28,18 +27,10 @@ from aurora.menus.guild import Guild from aurora.menus.immune import Immune from aurora.menus.overrides import Overrides from aurora.utilities.config import config, register_config -from aurora.utilities.database import (connect, create_guild_table, fetch_case, - mysql_log) -from aurora.utilities.factory import (addrole_embed, case_factory, - changes_factory, evidenceformat_factory, - guild_embed, immune_embed, - message_factory, overrides_embed) +from aurora.utilities.database import connect, create_guild_table, fetch_case, mysql_log +from aurora.utilities.factory import addrole_embed, case_factory, changes_factory, evidenceformat_factory, guild_embed, immune_embed, message_factory, overrides_embed from aurora.utilities.logger import logger -from aurora.utilities.utils import (check_moddable, check_permissions, - convert_timedelta_to_str, - fetch_channel_dict, fetch_user_dict, - generate_dict, log, send_evidenceformat, - timedelta_from_relativedelta) +from aurora.utilities.utils import check_moddable, check_permissions, convert_timedelta_to_str, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat, timedelta_from_relativedelta class Aurora(commands.Cog): @@ -48,7 +39,7 @@ class Aurora(commands.Cog): This cog stores all of its data in an SQLite database.""" __author__ = ["SeaswimmerTheFsh"] - __version__ = "2.1.1" + __version__ = "2.1.2" __documentation__ = "https://seacogs.coastalcommits.com/aurora/" async def red_delete_data_for_user(self, *, requester, user_id: int): diff --git a/aurora/menus/guild.py b/aurora/menus/guild.py index a7c78c7..4f5544d 100644 --- a/aurora/menus/guild.py +++ b/aurora/menus/guild.py @@ -31,6 +31,16 @@ class Guild(ui.View): await config.guild(interaction.guild).use_discord_permissions.set(not current_setting) await interaction.message.edit(embed=await guild_embed(self.ctx)) + @ui.button(label="Respect Hierarchy", style=ButtonStyle.green, row=0) + async def respect_heirarchy(self, interaction: Interaction, button: ui.Button): # pylint: disable=unused-argument + if not interaction.user.guild_permissions.manage_guild and not interaction.user.guild_permissions.administrator: + await interaction.response.send_message("You must have the manage guild permission to change this setting.", ephemeral=True) + return + await interaction.response.defer() + current_setting = await config.guild(interaction.guild).respect_hierarchy() + await config.guild(interaction.guild).respect_hierarchy.set(not current_setting) + await interaction.message.edit(embed=await guild_embed(self.ctx)) + @ui.button(label="Ignore Modlog", style=ButtonStyle.green, row=0) async def ignore_modlog(self, interaction: Interaction, button: ui.Button): # pylint: disable=unused-argument if not interaction.user.guild_permissions.manage_guild and not interaction.user.guild_permissions.administrator: diff --git a/aurora/utilities/config.py b/aurora/utilities/config.py index 77c1dfe..0b5e503 100644 --- a/aurora/utilities/config.py +++ b/aurora/utilities/config.py @@ -7,6 +7,7 @@ def register_config(config_obj: Config): config_obj.register_guild( show_moderator=True, use_discord_permissions=True, + respect_hierarchy=True, ignore_modlog=True, ignore_other_bots=True, dm_users=True, diff --git a/aurora/utilities/factory.py b/aurora/utilities/factory.py index c7b41c7..9a9e572 100644 --- a/aurora/utilities/factory.py +++ b/aurora/utilities/factory.py @@ -451,6 +451,7 @@ async def guild_embed(ctx: commands.Context) -> Embed: ctx.guild ).history_inline_pagesize(), "auto_evidenceformat": await config.guild(ctx.guild).auto_evidenceformat(), + "respect_hierarchy": await config.guild(ctx.guild).respect_hierarchy(), } channel = ctx.guild.get_channel(guild_settings["log_channel"]) @@ -467,6 +468,9 @@ async def guild_embed(ctx: commands.Context) -> Embed: + bold("Use Discord Permissions: ") + get_bool_emoji(guild_settings["use_discord_permissions"]), "- " + + bold("Respect Hierarchy: ") + + get_bool_emoji(guild_settings["respect_hierarchy"]), + "- " + bold("Ignore Modlog: ") + get_bool_emoji(guild_settings["ignore_modlog"]), "- " diff --git a/aurora/utilities/utils.py b/aurora/utilities/utils.py index eef5a62..616fa78 100644 --- a/aurora/utilities/utils.py +++ b/aurora/utilities/utils.py @@ -77,7 +77,7 @@ async def check_moddable( return False if isinstance(target, Member): - if interaction.user.top_role <= target.top_role: + if interaction.user.top_role <= target.top_role and await config.guild(interaction.guild).respect_hierarchy() is True: await interaction.response.send_message( content=error( "You cannot moderate members with a higher role than you!" From f572a0d5353c68db1bec19cc87563f5c837d612c Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Sat, 6 Apr 2024 06:15:00 -0400 Subject: [PATCH 16/49] feat(bible): added the api.bible icon to embeds --- bible/bible.py | 41 ++++++-- bible/data/api.bible-logo.png | Bin 0 -> 22608 bytes bible/info.json | 1 + poetry.lock | 186 +++++++++++++++++++++------------- pyproject.toml | 2 + 5 files changed, 151 insertions(+), 79 deletions(-) create mode 100644 bible/data/api.bible-logo.png diff --git a/bible/bible.py b/bible/bible.py index 809c157..ff7d4b5 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -6,11 +6,14 @@ # |_____/ \___|\__,_|___/ \_/\_/ |_|_| |_| |_|_| |_| |_|\___|_| import random +from io import BytesIO import aiohttp -from discord import Embed +import numpy as np +from discord import Colour, Embed, File +from PIL import Image from red_commons.logging import getLogger -from redbot.core import Config, commands +from redbot.core import Config, commands, data_manager from redbot.core.bot import Red from redbot.core.utils.chat_formatting import error, humanize_list @@ -22,7 +25,7 @@ class Bible(commands.Cog): """Retrieve Bible verses from the API.bible API.""" __author__ = ["SeaswimmerTheFsh"] - __version__ = "1.0.2" + __version__ = "1.1.0" __documentation__ = "https://seacogs.coastalcommits.com/bible/" def __init__(self, bot: Red): @@ -47,6 +50,22 @@ class Bible(commands.Cog): ] return "\n".join(text) + def get_icon(self, color: Colour) -> File: + """Get the docs.api.bible favicon with a given color.""" + image_path = data_manager.bundled_data_path(self) / "api.bible-logo.png" + image = Image.open(image_path) + image = image.convert("RGBA") + data = np.array(image) + red, green, blue, alpha = data.T + white_areas = (red == 255) & (blue == 255) & (green == 255) + data[..., :-1][white_areas.T] = color.to_rgb() + image = Image.fromarray(data) + + with BytesIO() as image_binary: + image.save(image_binary, "PNG") + image_binary.seek(0) + return File(image_binary, filename="icon.png", description="API.Bible Icon") + async def translate_book_name(self, bible_id: str, book_name: str) -> str: """Translate a book name to a book ID.""" book_name_list = [ @@ -248,15 +267,17 @@ class Bible(commands.Cog): return if await ctx.embed_requested(): + icon = await self.get_icon(await ctx.embed_color) embed = Embed( title=f"{passage['reference']}", description=passage["content"].replace("¶ ", ""), - color=await self.bot.get_embed_color(ctx.channel), + color=await ctx.embed_color, ) embed.set_footer( - text=f"{ctx.prefix}bible passage - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})" + text=f"{ctx.prefix}bible passage - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})", + icon_url="attachment://favicon.png" ) - await ctx.send(embed=embed) + await ctx.send(embed=embed, file=icon) else: await ctx.send(f"## {passage['reference']}\n{passage['content']}") @@ -288,14 +309,16 @@ class Bible(commands.Cog): return if await ctx.embed_requested(): + icon = await self.get_icon(await ctx.embed_color) embed = Embed( title=f"{passage['reference']}", description=passage["content"].replace("¶ ", ""), - color=await self.bot.get_embed_color(ctx.channel), + color=await ctx.embed_color, ) embed.set_footer( - text=f"{ctx.prefix}bible random - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})" + text=f"{ctx.prefix}bible random - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})", + icon_url="attachment://favicon.png" ) - await ctx.send(embed=embed) + await ctx.send(embed=embed, file=icon) else: await ctx.send(f"## {passage['reference']}\n{passage['content']}") diff --git a/bible/data/api.bible-logo.png b/bible/data/api.bible-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..07b7a830273314b2240e47400ef19c51069c1620 GIT binary patch literal 22608 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 Date: Sat, 6 Apr 2024 06:16:41 -0400 Subject: [PATCH 17/49] fix(bible): fixed a typeerror --- bible/bible.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bible/bible.py b/bible/bible.py index ff7d4b5..5ae0405 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -267,11 +267,11 @@ class Bible(commands.Cog): return if await ctx.embed_requested(): - icon = await self.get_icon(await ctx.embed_color) + icon = await self.get_icon(await ctx.embed_color()) embed = Embed( title=f"{passage['reference']}", description=passage["content"].replace("¶ ", ""), - color=await ctx.embed_color, + color=await ctx.embed_color(), ) embed.set_footer( text=f"{ctx.prefix}bible passage - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})", @@ -309,11 +309,11 @@ class Bible(commands.Cog): return if await ctx.embed_requested(): - icon = await self.get_icon(await ctx.embed_color) + icon = await self.get_icon(await ctx.embed_color()) embed = Embed( title=f"{passage['reference']}", description=passage["content"].replace("¶ ", ""), - color=await ctx.embed_color, + color=await ctx.embed_color(), ) embed.set_footer( text=f"{ctx.prefix}bible random - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})", From 33ce8a147c62b8e4f7eb9898b1994af1c0edf501 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Sat, 6 Apr 2024 06:18:16 -0400 Subject: [PATCH 18/49] fix(bible): fixed another typeerror --- bible/bible.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bible/bible.py b/bible/bible.py index 5ae0405..5a6e5c5 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -267,7 +267,7 @@ class Bible(commands.Cog): return if await ctx.embed_requested(): - icon = await self.get_icon(await ctx.embed_color()) + icon = self.get_icon(await ctx.embed_color()) embed = Embed( title=f"{passage['reference']}", description=passage["content"].replace("¶ ", ""), @@ -309,7 +309,7 @@ class Bible(commands.Cog): return if await ctx.embed_requested(): - icon = await self.get_icon(await ctx.embed_color()) + icon = self.get_icon(await ctx.embed_color()) embed = Embed( title=f"{passage['reference']}", description=passage["content"].replace("¶ ", ""), From 04c3b0e83c1bce660f7e09e355035363dbcef05e Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Sat, 6 Apr 2024 06:20:14 -0400 Subject: [PATCH 19/49] fix(bible): use the correct attachment name --- bible/bible.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bible/bible.py b/bible/bible.py index 5a6e5c5..36cc690 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -275,7 +275,7 @@ class Bible(commands.Cog): ) embed.set_footer( text=f"{ctx.prefix}bible passage - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})", - icon_url="attachment://favicon.png" + icon_url="attachment://icon.png" ) await ctx.send(embed=embed, file=icon) else: @@ -317,7 +317,7 @@ class Bible(commands.Cog): ) embed.set_footer( text=f"{ctx.prefix}bible random - Powered by API.Bible - {version.abbreviationLocal} ({version.languageLocal}, {version.descriptionLocal})", - icon_url="attachment://favicon.png" + icon_url="attachment://icon.png" ) await ctx.send(embed=embed, file=icon) else: From 46b7123fddede070dae3a28e926ad40d21a4f242 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Sat, 6 Apr 2024 06:28:05 -0400 Subject: [PATCH 20/49] misc(bible): cropped the api.bible logo --- bible/data/api.bible-logo.png | Bin 22608 -> 19295 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bible/data/api.bible-logo.png b/bible/data/api.bible-logo.png index 07b7a830273314b2240e47400ef19c51069c1620..f8ac5763125a88a15b804421f8e8bf1031f347f8 100644 GIT binary patch literal 19295 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 a#x3Z$Ty=4@2Krwih_9Ew=e14yPW=nWg$L~b literal 22608 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 Date: Sat, 6 Apr 2024 06:29:49 -0400 Subject: [PATCH 21/49] misc(bible): messing with icon sizes --- bible/data/api.bible-logo.png | Bin 19295 -> 20006 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bible/data/api.bible-logo.png b/bible/data/api.bible-logo.png index f8ac5763125a88a15b804421f8e8bf1031f347f8..102e2f459a594fb67498809a3a9496338f5aaf34 100644 GIT binary patch literal 20006 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 a#x3Z$Ty=4@2Krwih_9Ew=e14yPW=nWg$L~b From a9c2f18b5dc0b0e9350ee55cb02328666866afff Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Sat, 6 Apr 2024 06:31:04 -0400 Subject: [PATCH 22/49] misc(bible): messing with icon sizes some more --- bible/data/api.bible-logo.png | Bin 20006 -> 20168 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bible/data/api.bible-logo.png b/bible/data/api.bible-logo.png index 102e2f459a594fb67498809a3a9496338f5aaf34..fcbc9c5af806fb284c8e48a39d78aee0a361213c 100644 GIT binary patch literal 20168 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 Date: Sat, 6 Apr 2024 06:32:45 -0400 Subject: [PATCH 23/49] misc(bible): messing with icon size more --- bible/data/api.bible-logo.png | Bin 20168 -> 20221 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bible/data/api.bible-logo.png b/bible/data/api.bible-logo.png index fcbc9c5af806fb284c8e48a39d78aee0a361213c..cb4c52dcc1950830bcda36b4d10f222e06495b0a 100644 GIT binary patch literal 20221 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 Date: Sat, 6 Apr 2024 06:33:52 -0400 Subject: [PATCH 24/49] misc(bible): messing with icon sizes even more --- bible/data/api.bible-logo.png | Bin 20221 -> 20605 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bible/data/api.bible-logo.png b/bible/data/api.bible-logo.png index cb4c52dcc1950830bcda36b4d10f222e06495b0a..44151299243ae56881a27542427909adae8bcf22 100644 GIT binary patch literal 20605 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 Date: Mon, 8 Apr 2024 05:55:35 -0400 Subject: [PATCH 25/49] misc(repo): changed all logger names --- aurora/utilities/logger.py | 2 +- backup/backup.py | 2 +- bible/bible.py | 2 +- pterodactyl/logger.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/aurora/utilities/logger.py b/aurora/utilities/logger.py index 9ea3c2f..c0cbd99 100644 --- a/aurora/utilities/logger.py +++ b/aurora/utilities/logger.py @@ -1,3 +1,3 @@ from red_commons.logging import getLogger -logger = getLogger("red.seacogs.aurora") +logger = getLogger("red.SeaCogs.Aurora") diff --git a/backup/backup.py b/backup/backup.py index 4a51c6f..7fe9b4d 100644 --- a/backup/backup.py +++ b/backup/backup.py @@ -28,7 +28,7 @@ class Backup(commands.Cog): def __init__(self, bot: Red): super().__init__() self.bot = bot - self.logger = getLogger("red.seacogs.backup") + self.logger = getLogger("red.SeaCogs.Backup") def format_help_for_context(self, ctx: commands.Context) -> str: pre_processed = super().format_help_for_context(ctx) or "" diff --git a/bible/bible.py b/bible/bible.py index 36cc690..68cd789 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -35,7 +35,7 @@ class Bible(commands.Cog): self.config = Config.get_conf( self, identifier=481923957134912, force_registration=True ) - self.logger = getLogger("red.seacogs.bible") + self.logger = getLogger("red.SeaCogs.Bible") self.config.register_global(bible="de4e12af7f28f599-02") self.config.register_user(bible=None) diff --git a/pterodactyl/logger.py b/pterodactyl/logger.py index 3b38f62..64b005f 100644 --- a/pterodactyl/logger.py +++ b/pterodactyl/logger.py @@ -1,8 +1,8 @@ from red_commons import logging from red_commons.logging import getLogger -logger = getLogger('red.seacogs.pterodactyl') -websocket_logger = getLogger('red.seacogs.pterodactyl.websocket') +logger = getLogger('red.SeaCogs.Pterodactyl') +websocket_logger = getLogger('red.SeaCogs.Pterodactyl.websocket') if logger.level >= logging.VERBOSE: websocket_logger.setLevel(logging.logging.INFO) elif logger.level < logging.VERBOSE: From 7ca836759faf199710cc18c0ab2bdcb8b22eb71c Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 8 Apr 2024 06:01:50 -0400 Subject: [PATCH 26/49] feat(backup): red 3.5.8 support --- backup/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backup/info.json b/backup/info.json index 8f76391..4fdcb58 100644 --- a/backup/info.json +++ b/backup/info.json @@ -8,7 +8,7 @@ "hidden": false, "disabled": false, "min_bot_version": "3.5.6", - "max_bot_version": "3.5.7", + "max_bot_version": "3.5.8", "min_python_version": [3, 9, 0], "tags": [ "utility", From 19fc6adaadb1ae93b4b42035d59a93b53ad53de4 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 8 Apr 2024 06:03:52 -0400 Subject: [PATCH 27/49] fix(bible): pylint fix --- bible/bible.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bible/bible.py b/bible/bible.py index 68cd789..10cc953 100644 --- a/bible/bible.py +++ b/bible/bible.py @@ -56,7 +56,7 @@ class Bible(commands.Cog): image = Image.open(image_path) image = image.convert("RGBA") data = np.array(image) - red, green, blue, alpha = data.T + red, green, blue, alpha = data.T # pylint: disable=unused-variable white_areas = (red == 255) & (blue == 255) & (green == 255) data[..., :-1][white_areas.T] = color.to_rgb() image = Image.fromarray(data) From 095528232532b123bc0e9ba06d59f44f384957aa Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 8 Apr 2024 06:24:34 -0400 Subject: [PATCH 28/49] fix(aurora): do not run handle_expiry before Red is ready --- aurora/aurora.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/aurora/aurora.py b/aurora/aurora.py index 8a437cb..8a602eb 100644 --- a/aurora/aurora.py +++ b/aurora/aurora.py @@ -18,7 +18,8 @@ from redbot.core import app_commands, commands, data_manager from redbot.core.app_commands import Choice from redbot.core.bot import Red from redbot.core.commands.converter import parse_relativedelta, parse_timedelta -from redbot.core.utils.chat_formatting import box, error, humanize_list, humanize_timedelta, warning +from redbot.core.utils.chat_formatting import (box, error, humanize_list, + humanize_timedelta, warning) from aurora.importers.aurora import ImportAuroraView from aurora.importers.galacticbot import ImportGalacticBotView @@ -27,10 +28,18 @@ from aurora.menus.guild import Guild from aurora.menus.immune import Immune from aurora.menus.overrides import Overrides from aurora.utilities.config import config, register_config -from aurora.utilities.database import connect, create_guild_table, fetch_case, mysql_log -from aurora.utilities.factory import addrole_embed, case_factory, changes_factory, evidenceformat_factory, guild_embed, immune_embed, message_factory, overrides_embed +from aurora.utilities.database import (connect, create_guild_table, fetch_case, + mysql_log) +from aurora.utilities.factory import (addrole_embed, case_factory, + changes_factory, evidenceformat_factory, + guild_embed, immune_embed, + message_factory, overrides_embed) from aurora.utilities.logger import logger -from aurora.utilities.utils import check_moddable, check_permissions, convert_timedelta_to_str, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat, timedelta_from_relativedelta +from aurora.utilities.utils import (check_moddable, check_permissions, + convert_timedelta_to_str, + fetch_channel_dict, fetch_user_dict, + generate_dict, log, send_evidenceformat, + timedelta_from_relativedelta) class Aurora(commands.Cog): @@ -1486,6 +1495,7 @@ class Aurora(commands.Cog): @tasks.loop(minutes=1) async def handle_expiry(self): + await self.bot.wait_until_red_ready() current_time = time.time() database = connect() cursor = database.cursor() From 06e011f6709ae4133274b50934833fc4b6ed7cb8 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 8 Apr 2024 06:24:53 -0400 Subject: [PATCH 29/49] fix(pterodactyl): don't run update_topic or the websocket tasks before red is ready --- pterodactyl/pterodactyl.py | 1 + pterodactyl/websocket.py | 1 + 2 files changed, 2 insertions(+) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index ae5ea2b..a612e2d 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -74,6 +74,7 @@ class Pterodactyl(commands.Cog): @tasks.loop(minutes=6) async def update_topic(self): + await self.bot.wait_until_red_ready() topic = await self.get_topic() console = self.bot.get_channel(await config.console_channel()) chat = self.bot.get_channel(await config.chat_channel()) diff --git a/pterodactyl/websocket.py b/pterodactyl/websocket.py index bbe11fe..cb09002 100644 --- a/pterodactyl/websocket.py +++ b/pterodactyl/websocket.py @@ -15,6 +15,7 @@ from pterodactyl.pterodactyl import Pterodactyl async def establish_websocket_connection(coginstance: Pterodactyl) -> None: + await coginstance.bot.wait_until_red_ready() base_url = await config.base_url() base_url = base_url[:-1] if base_url.endswith('/') else base_url From 97b54b507bfafaa097cebb8038aae896a39d71ab Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 8 Apr 2024 11:46:22 -0400 Subject: [PATCH 30/49] fix(aurora): fixed an issue with adding multiple immune roles/addrole roles at once --- aurora/menus/addrole.py | 13 +++++++------ aurora/menus/immune.py | 14 +++++++------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/aurora/menus/addrole.py b/aurora/menus/addrole.py index c6bcc6b..69f9574 100644 --- a/aurora/menus/addrole.py +++ b/aurora/menus/addrole.py @@ -17,12 +17,13 @@ class Addrole(ui.View): await interaction.response.send_message(error("You must have the manage guild permission to add roles to the addrole whitelist."), ephemeral=True) return await interaction.response.defer() - addrole_whitelist: list = await config.guild(self.ctx.guild).addrole_whitelist() - if select.values[0].id in addrole_whitelist: - addrole_whitelist.remove(select.values[0].id) - else: - addrole_whitelist.append(select.values[0].id) - await config.guild(self.ctx.guild).addrole_whitelist.set(addrole_whitelist) + async with config.guild(self.ctx.guild).addrole_whitelist() as addrole_whitelist: + addrole_whitelist: list # type hint + for value in select.values: + if value.id in addrole_whitelist: + addrole_whitelist.remove(value.id) + else: + addrole_whitelist.append(value.id) await interaction.message.edit(embed=await addrole_embed(self.ctx)) @ui.button(label="Clear", style=ButtonStyle.red, row=1) diff --git a/aurora/menus/immune.py b/aurora/menus/immune.py index b9697b6..15bf0c7 100644 --- a/aurora/menus/immune.py +++ b/aurora/menus/immune.py @@ -17,13 +17,13 @@ class Immune(ui.View): await interaction.response.send_message(error("You must have the manage guild permission to add immune roles."), ephemeral=True) return await interaction.response.defer() - immune_roles: list = await config.guild(self.ctx.guild).immune_roles() - for role in select.values: - if role.id in immune_roles: - immune_roles.remove(role.id) - else: - immune_roles.append(role.id) - await config.guild(self.ctx.guild).immune_roles.set(immune_roles) + async with config.guild(self.ctx.guild).immune_roles() as immune_roles: + immune_roles: list # type hint + for value in select.values: + if value.id in immune_roles: + immune_roles.remove(value.id) + else: + immune_roles.append(value.id) await interaction.message.edit(embed=await immune_embed(self.ctx)) @ui.button(label="Clear", style=ButtonStyle.red, row=1) From df970717c280e686c12899e567437aa3763c56d6 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 8 Apr 2024 11:57:28 -0400 Subject: [PATCH 31/49] feat(aurora): added sorting based on role position for the addrole and immune role configuration embeds --- aurora/utilities/factory.py | 76 ++++++++++++++++++++++++++----------- 1 file changed, 54 insertions(+), 22 deletions(-) diff --git a/aurora/utilities/factory.py b/aurora/utilities/factory.py index 9a9e572..3cfaf9e 100644 --- a/aurora/utilities/factory.py +++ b/aurora/utilities/factory.py @@ -2,12 +2,16 @@ from datetime import datetime, timedelta from typing import Union -from discord import Color, Embed, Guild, Interaction, InteractionMessage, Member, Role, User +from discord import (Color, Embed, Guild, Interaction, InteractionMessage, + Member, Role, User) from redbot.core import commands -from redbot.core.utils.chat_formatting import bold, box, error, humanize_timedelta, warning +from redbot.core.utils.chat_formatting import (bold, box, error, + humanize_timedelta, warning) from aurora.utilities.config import config -from aurora.utilities.utils import fetch_channel_dict, fetch_user_dict, get_bool_emoji, get_next_case_number, get_pagesize_str +from aurora.utilities.utils import (fetch_channel_dict, fetch_user_dict, + get_bool_emoji, get_next_case_number, + get_pagesize_str) async def message_factory( @@ -510,15 +514,29 @@ async def guild_embed(ctx: commands.Context) -> Embed: async def addrole_embed(ctx: commands.Context) -> Embed: """Generates a configuration menu field value for a guild's addrole whitelist.""" - whitelist = await config.guild(ctx.guild).addrole_whitelist() - if whitelist: - whitelist = [ - ctx.guild.get_role(role).mention or error(f"`{role}` (Not Found)") - for role in whitelist - ] - whitelist = "\n".join(whitelist) + roles = [] + async with config.guild(ctx.guild).addrole_whitelist() as whitelist: + for role in whitelist: + evalulated_role = ctx.guild.get_role(role) or error(f"`{role}` (Not Found)") + if isinstance(evalulated_role, Role): + roles.append({ + "id": evalulated_role.id, + "mention": evalulated_role.mention, + "position": evalulated_role.position + }) + else: + roles.append({ + "id": role, + "mention": error(f"`{role}` (Not Found)"), + "position": 0 + }) + + if roles: + roles = sorted(roles, key=lambda x: x["position"], reverse=True) + roles = [role["mention"] for role in roles] + whitelist_str = "\n".join(roles) else: - whitelist = warning("No roles are on the addrole whitelist!") + whitelist_str = warning("No roles are on the addrole whitelist!") e = await _config(ctx) e.title += ": Addrole Whitelist" @@ -526,8 +544,8 @@ async def addrole_embed(ctx: commands.Context) -> Embed: "Use the select menu below to manage this guild's addrole whitelist." ) - if len(whitelist) > 4000 and len(whitelist) < 5000: - lines = whitelist.split("\n") + if len(whitelist_str) > 4000 and len(whitelist_str) < 5000: + lines = whitelist_str.split("\n") chunks = [] chunk = "" for line in lines: @@ -541,21 +559,35 @@ async def addrole_embed(ctx: commands.Context) -> Embed: for chunk in chunks: e.add_field(name="", value=chunk) else: - e.description += "\n\n" + whitelist + e.description += "\n\n" + whitelist_str return e async def immune_embed(ctx: commands.Context) -> Embed: - """Generates a configuration menu field value for a guild's immune roles.""" + """Generates a configuration menu embed for a guild's immune roles.""" - immune_roles = await config.guild(ctx.guild).immune_roles() - if immune_roles: - immune_str = [ - ctx.guild.get_role(role).mention or error(f"`{role}` (Not Found)") - for role in immune_roles - ] - immune_str = "\n".join(immune_str) + roles = [] + async with config.guild(ctx.guild).immune_roles() as immune_roles: + for role in immune_roles: + evalulated_role = ctx.guild.get_role(role) or error(f"`{role}` (Not Found)") + if isinstance(evalulated_role, Role): + roles.append({ + "id": evalulated_role.id, + "mention": evalulated_role.mention, + "position": evalulated_role.position + }) + else: + roles.append({ + "id": role, + "mention": error(f"`{role}` (Not Found)"), + "position": 0 + }) + + if roles: + roles = sorted(roles, key=lambda x: x["position"], reverse=True) + roles = [role["mention"] for role in roles] + immune_str = "\n".join(roles) else: immune_str = warning("No roles are set as immune roles!") From 2b7f320d2a26786bd4035c5cf797c3d3556cc01f Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Wed, 10 Apr 2024 10:01:44 -0400 Subject: [PATCH 32/49] fix(repo): some minor poetry changes --- .gitignore | 1 + pyproject.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 0f14351..429d31f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .cache .vscode site +.venv diff --git a/pyproject.toml b/pyproject.toml index 3db897f..93bdd53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,7 @@ description = "My assorted cogs for Red-DiscordBot." authors = ["SeaswimmerTheFsh"] license = "MPL 2" readme = "README.md" +package-mode = false [tool.poetry.dependencies] python = ">=3.11,<3.12" From 285257eed523823bf4df09bf9a0590a62c7e5b63 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Mon, 15 Apr 2024 17:45:43 -0400 Subject: [PATCH 33/49] fix(pterodactyl): added an f string --- pterodactyl/pterodactyl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pterodactyl/pterodactyl.py b/pterodactyl/pterodactyl.py index a612e2d..43396dd 100644 --- a/pterodactyl/pterodactyl.py +++ b/pterodactyl/pterodactyl.py @@ -560,7 +560,7 @@ class Pterodactyl(commands.Cog): await view.wait() if view.result is True: del blacklist[name] - await msg.edit(content="Removed `{name}` from the regex blacklist.") + await msg.edit(content=f"Removed `{name}` from the regex blacklist.") else: await msg.edit(content="Cancelled.") else: From 4344d260961230623ebeeacb77058826f2edaee5 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 10:44:05 -0400 Subject: [PATCH 34/49] feat(AntiPolls): added the cog --- antipolls/__init__.py | 5 ++ antipolls/antipolls.py | 176 +++++++++++++++++++++++++++++++++++++++++ antipolls/info.json | 17 ++++ aurora/aurora.py | 17 +--- 4 files changed, 202 insertions(+), 13 deletions(-) create mode 100644 antipolls/__init__.py create mode 100644 antipolls/antipolls.py create mode 100644 antipolls/info.json diff --git a/antipolls/__init__.py b/antipolls/__init__.py new file mode 100644 index 0000000..8863332 --- /dev/null +++ b/antipolls/__init__.py @@ -0,0 +1,5 @@ +from .antipolls import AntiPolls + + +async def setup(bot): + await bot.add_cog(AntiPolls(bot)) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py new file mode 100644 index 0000000..2c4d508 --- /dev/null +++ b/antipolls/antipolls.py @@ -0,0 +1,176 @@ +# _____ _ +# / ____| (_) +# | (___ ___ __ _ _____ ___ _ __ ___ _ __ ___ ___ _ __ +# \___ \ / _ \/ _` / __\ \ /\ / / | '_ ` _ \| '_ ` _ \ / _ \ '__| +# ____) | __/ (_| \__ \\ V V /| | | | | | | | | | | | __/ | +# |_____/ \___|\__,_|___/ \_/\_/ |_|_| |_| |_|_| |_| |_|\___|_| + +import discord +from red_commons.logging import getLogger +from redbot.core import commands +from redbot.core.bot import Config, Red +from redbot.core.utils.chat_formatting import humanize_list + + +class AntiPolls(commands.Cog): + """AntiPolls deletes messages that contain polls, with a configurable per-guild role and channel whitelist and support for default Discord permissions (Manage Messages).""" + + __author__ = ["SeaswimmerTheFsh"] + __version__ = "1.0.0" + __documentation__ = "https://seacogs.coastalcommits.com/antipolls/" + + def __init__(self, bot: Red): + super().__init__() + self.bot = bot + self.logger = getLogger("red.SeaCogs.AntiPolls") + self.config = Config.get_conf(self, identifier=23517395243, force_registration=True) + self.config.register_guild( + role_whitelist=[], + channel_whitelist=[], + manage_messages=True, + ) + + def format_help_for_context(self, ctx: commands.Context) -> str: + pre_processed = super().format_help_for_context(ctx) or "" + n = "\n" if "\n\n" not in pre_processed else "" + text = [ + f"{pre_processed}{n}", + f"Cog Version: **{self.__version__}**", + f"Author: {humanize_list(self.__author__)}", + f"Documentation: {self.__documentation__}", + ] + return "\n".join(text) + + async def red_delete_data_for_user(self, **kwargs): + """Nothing to delete.""" + return + + @commands.Cog.listener('on_message') + async def listener(self, message: discord.Message) -> None: + if message.guild is None: + return self.logger.verbose("Message in direct messages ignored") + + if message.author.bot: + return self.logger.verbose("Message from bot ignored") + + if self.bot.cog_disabled_in_guild(self, message.guild): + return self.logger.verbose("Cog disabled in guild") + + guild_config = await self.config.guild(message.guild).all() + + if guild_config['manage_messages'] is True and message.author.guild_permissions.manage_messages: + return self.logger.verbose("Message from user with Manage Messages permission ignored") + + if message.channel.id in guild_config['channel_whitelist']: + return self.logger.verbose(f"Message in whitelisted channel {message.channel.id} ignored") + + if any(role.id in guild_config['role_whitelist'] for role in message.author.roles): + return self.logger.verbose(f"Message from whitelisted role {message.author.roles} ignored") + + if not message.content and not message.embeds and not message.attachments and not message.stickers: + self.logger.trace(f"Message {message.id} is a poll, attempting to delete") + + try: + await message.delete() + except discord.HTTPException as e: + return self.logger.error(f"Failed to delete message: {e}") + + self.logger.trace(f"Deleted poll message {message.id}") + + @commands.group(name="antipolls", aliases=["ap"]) + @commands.guild_only() + @commands.admin_or_permissions(manage_guild=True) + async def antipolls(self, ctx: commands.Context) -> None: + """Manage AntiPolls settings.""" + + @antipolls.group(name="roles") + async def antipolls_roles(self, ctx: commands.Context) -> None: + """Manage role whitelist.""" + + @antipolls_roles.command(name="add") + async def antipolls_roles_add(self, ctx: commands.Context, *roles: discord.Role) -> None: + """Add roles to the whitelist.""" + async with self.config.guild(ctx.guild).role_whitelist() as role_whitelist: + role_whitelist: list + failed: list[discord.Role] = [] + for role in roles: + if role.id in role_whitelist: + failed.extend(role) + continue + role_whitelist.extend(role.id) + await ctx.tick() + if failed: + await ctx.send(f"The following roles were already in the whitelist: {humanize_list(role.mention for role in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + + @antipolls_roles.command(name="remove") + async def antipolls_roles_remove(self, ctx: commands.Context, *roles: discord.Role) -> None: + """Remove roles from the whitelist.""" + async with self.config.guild(ctx.guild).role_whitelist() as role_whitelist: + role_whitelist: list + failed: list[discord.Role] = [] + for role in roles: + if role.id not in role_whitelist: + failed.extend(role) + continue + role_whitelist.remove(role.id) + await ctx.tick() + if failed: + await ctx.send(f"The following roles were not in the whitelist: {humanize_list(role.mention for role in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + + @antipolls_roles.command(name="list") + async def antipolls_roles_list(self, ctx: commands.Context) -> None: + """List roles in the whitelist.""" + role_whitelist = await self.config.guild(ctx.guild).role_whitelist() + if not role_whitelist: + return await ctx.send("No roles in the whitelist.") + roles = [ctx.guild.get_role(role) for role in role_whitelist] + await ctx.send(humanize_list(role.mention for role in roles)) + + @antipolls.group(name="channels") + async def antipolls_channels(self, ctx: commands.Context) -> None: + """Manage channel whitelist.""" + + @antipolls_channels.command(name="add") + async def antipolls_channels_add(self, ctx: commands.Context, *channels: discord.TextChannel) -> None: + """Add channels to the whitelist.""" + async with self.config.guild(ctx.guild).channel_whitelist() as channel_whitelist: + channel_whitelist: list + failed: list[discord.TextChannel] = [] + for channel in channels: + if channel.id in channel_whitelist: + failed.extend(channel) + continue + channel_whitelist.extend(channel.id) + await ctx.tick() + if failed: + await ctx.send(f"The following channels were already in the whitelist: {humanize_list(channel.mention for channel in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + + @antipolls_channels.command(name="remove") + async def antipolls_channels_remove(self, ctx: commands.Context, *channels: discord.TextChannel) -> None: + """Remove channels from the whitelist.""" + async with self.config.guild(ctx.guild).channel_whitelist() as channel_whitelist: + channel_whitelist: list + failed: list[discord.TextChannel] = [] + for channel in channels: + if channel.id not in channel_whitelist: + failed.extend(channel) + continue + channel_whitelist.remove(channel.id) + await ctx.tick() + if failed: + await ctx.send(f"The following channels were not in the whitelist: {humanize_list(channel.mention for channel in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + + @antipolls_channels.command(name="list") + async def antipolls_channels_list(self, ctx: commands.Context) -> None: + """List channels in the whitelist.""" + channel_whitelist = await self.config.guild(ctx.guild).channel_whitelist() + if not channel_whitelist: + return await ctx.send("No channels in the whitelist.") + channels = [ctx.guild.get_channel(channel) for channel in channel_whitelist] + await ctx.send(humanize_list(channel.mention for channel in channels)) + + @antipolls.command(name="managemessages") + async def antipolls_managemessages(self, ctx: commands.Context, enabled: bool) -> None: + """Toggle Manage Messages permission check.""" + await self.config.guild(ctx.guild).manage_messages.set(enabled) + await ctx.tick() diff --git a/antipolls/info.json b/antipolls/info.json new file mode 100644 index 0000000..2af0457 --- /dev/null +++ b/antipolls/info.json @@ -0,0 +1,17 @@ +{ + "author" : ["SeaswimmerTheFsh (seasw.)"], + "install_msg" : "Thank you for installing AntiPolls!\nYou can find the source code of this cog [here](https://coastalcommits.com/SeaswimmerTheFsh/SeaCogs).", + "name" : "AntiPolls", + "short" : "AntiPolls deletes messages that contain polls.", + "description" : "AntiPolls deletes messages that contain polls, with a configurable per-guild role and channel whitelist and support for default Discord permissions (Manage Messages).", + "end_user_data_statement" : "This cog does not store any user data.", + "hidden": true, + "disabled": false, + "min_bot_version": "3.5.0", + "min_python_version": [3, 10, 0], + "tags": [ + "automod", + "automoderation", + "polls" + ] +} diff --git a/aurora/aurora.py b/aurora/aurora.py index 8a602eb..5d8ead0 100644 --- a/aurora/aurora.py +++ b/aurora/aurora.py @@ -18,8 +18,7 @@ from redbot.core import app_commands, commands, data_manager from redbot.core.app_commands import Choice from redbot.core.bot import Red from redbot.core.commands.converter import parse_relativedelta, parse_timedelta -from redbot.core.utils.chat_formatting import (box, error, humanize_list, - humanize_timedelta, warning) +from redbot.core.utils.chat_formatting import box, error, humanize_list, humanize_timedelta, warning from aurora.importers.aurora import ImportAuroraView from aurora.importers.galacticbot import ImportGalacticBotView @@ -28,18 +27,10 @@ from aurora.menus.guild import Guild from aurora.menus.immune import Immune from aurora.menus.overrides import Overrides from aurora.utilities.config import config, register_config -from aurora.utilities.database import (connect, create_guild_table, fetch_case, - mysql_log) -from aurora.utilities.factory import (addrole_embed, case_factory, - changes_factory, evidenceformat_factory, - guild_embed, immune_embed, - message_factory, overrides_embed) +from aurora.utilities.database import connect, create_guild_table, fetch_case, mysql_log +from aurora.utilities.factory import addrole_embed, case_factory, changes_factory, evidenceformat_factory, guild_embed, immune_embed, message_factory, overrides_embed from aurora.utilities.logger import logger -from aurora.utilities.utils import (check_moddable, check_permissions, - convert_timedelta_to_str, - fetch_channel_dict, fetch_user_dict, - generate_dict, log, send_evidenceformat, - timedelta_from_relativedelta) +from aurora.utilities.utils import check_moddable, check_permissions, convert_timedelta_to_str, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat, timedelta_from_relativedelta class Aurora(commands.Cog): From 3da2d74a485ed8ecf75a08d021660f55c373dd34 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 10:47:45 -0400 Subject: [PATCH 35/49] fix(antipolls): added more verbose logging to a listener --- antipolls/antipolls.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 2c4d508..ddec2d8 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -75,7 +75,8 @@ class AntiPolls(commands.Cog): except discord.HTTPException as e: return self.logger.error(f"Failed to delete message: {e}") - self.logger.trace(f"Deleted poll message {message.id}") + return self.logger.trace(f"Deleted poll message {message.id}") + self.logger.verbose(f"Message {message.id} is not a poll, ignoring") @commands.group(name="antipolls", aliases=["ap"]) @commands.guild_only() From 602d759e6716f15344f1f5bc931a9967f4f65423 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 10:49:20 -0400 Subject: [PATCH 36/49] fix(antipolls): awaited a coroutine --- antipolls/antipolls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index ddec2d8..53974be 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -53,7 +53,7 @@ class AntiPolls(commands.Cog): if message.author.bot: return self.logger.verbose("Message from bot ignored") - if self.bot.cog_disabled_in_guild(self, message.guild): + if await self.bot.cog_disabled_in_guild(self, message.guild): return self.logger.verbose("Cog disabled in guild") guild_config = await self.config.guild(message.guild).all() From 4f38fc1f7dce9c39730de176ebf37aacfafe853a Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 10:56:10 -0400 Subject: [PATCH 37/49] fix(antipolls): use append instead of extend --- antipolls/antipolls.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 53974be..5c4877d 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -96,9 +96,9 @@ class AntiPolls(commands.Cog): failed: list[discord.Role] = [] for role in roles: if role.id in role_whitelist: - failed.extend(role) + failed.append(role) continue - role_whitelist.extend(role.id) + role_whitelist.append(role.id) await ctx.tick() if failed: await ctx.send(f"The following roles were already in the whitelist: {humanize_list(role.mention for role in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @@ -111,7 +111,7 @@ class AntiPolls(commands.Cog): failed: list[discord.Role] = [] for role in roles: if role.id not in role_whitelist: - failed.extend(role) + failed.append(role) continue role_whitelist.remove(role.id) await ctx.tick() @@ -139,9 +139,9 @@ class AntiPolls(commands.Cog): failed: list[discord.TextChannel] = [] for channel in channels: if channel.id in channel_whitelist: - failed.extend(channel) + failed.append(channel) continue - channel_whitelist.extend(channel.id) + channel_whitelist.append(channel.id) await ctx.tick() if failed: await ctx.send(f"The following channels were already in the whitelist: {humanize_list(channel.mention for channel in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @@ -154,7 +154,7 @@ class AntiPolls(commands.Cog): failed: list[discord.TextChannel] = [] for channel in channels: if channel.id not in channel_whitelist: - failed.extend(channel) + failed.append(channel) continue channel_whitelist.remove(channel.id) await ctx.tick() From d9c123d441513b33dfc011bf02dbf546127754ac Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 11:00:05 -0400 Subject: [PATCH 38/49] fix(antipolls): more fixes to antipoll's config commands --- antipolls/antipolls.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 5c4877d..da7f1cc 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -93,30 +93,30 @@ class AntiPolls(commands.Cog): """Add roles to the whitelist.""" async with self.config.guild(ctx.guild).role_whitelist() as role_whitelist: role_whitelist: list - failed: list[discord.Role] = [] + failed: list[discord.Role.mention] = [] for role in roles: if role.id in role_whitelist: - failed.append(role) + failed.append(role.mention) continue role_whitelist.append(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were already in the whitelist: {humanize_list(role.mention for role in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following roles were already in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_roles.command(name="remove") async def antipolls_roles_remove(self, ctx: commands.Context, *roles: discord.Role) -> None: """Remove roles from the whitelist.""" async with self.config.guild(ctx.guild).role_whitelist() as role_whitelist: role_whitelist: list - failed: list[discord.Role] = [] + failed: list[discord.Role.mention] = [] for role in roles: if role.id not in role_whitelist: - failed.append(role) + failed.append(role.mention) continue role_whitelist.remove(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were not in the whitelist: {humanize_list(role.mention for role in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following roles were not in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_roles.command(name="list") async def antipolls_roles_list(self, ctx: commands.Context) -> None: @@ -136,7 +136,7 @@ class AntiPolls(commands.Cog): """Add channels to the whitelist.""" async with self.config.guild(ctx.guild).channel_whitelist() as channel_whitelist: channel_whitelist: list - failed: list[discord.TextChannel] = [] + failed: list[discord.TextChannel.mention] = [] for channel in channels: if channel.id in channel_whitelist: failed.append(channel) @@ -144,22 +144,22 @@ class AntiPolls(commands.Cog): channel_whitelist.append(channel.id) await ctx.tick() if failed: - await ctx.send(f"The following channels were already in the whitelist: {humanize_list(channel.mention for channel in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following channels were already in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_channels.command(name="remove") async def antipolls_channels_remove(self, ctx: commands.Context, *channels: discord.TextChannel) -> None: """Remove channels from the whitelist.""" async with self.config.guild(ctx.guild).channel_whitelist() as channel_whitelist: channel_whitelist: list - failed: list[discord.TextChannel] = [] + failed: list[discord.TextChannel.mention] = [] for channel in channels: if channel.id not in channel_whitelist: - failed.append(channel) + failed.append(channel.mention) continue channel_whitelist.remove(channel.id) await ctx.tick() if failed: - await ctx.send(f"The following channels were not in the whitelist: {humanize_list(channel.mention for channel in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following channels were not in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_channels.command(name="list") async def antipolls_channels_list(self, ctx: commands.Context) -> None: From 73b0e73ff000d021d9e499aed018d992585c6c0d Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 11:02:31 -0400 Subject: [PATCH 39/49] fix(antipolls): fixed typeerror in the configuration commands --- antipolls/antipolls.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index da7f1cc..4014253 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -93,7 +93,7 @@ class AntiPolls(commands.Cog): """Add roles to the whitelist.""" async with self.config.guild(ctx.guild).role_whitelist() as role_whitelist: role_whitelist: list - failed: list[discord.Role.mention] = [] + failed: list[discord.Role] = [] for role in roles: if role.id in role_whitelist: failed.append(role.mention) @@ -101,22 +101,24 @@ class AntiPolls(commands.Cog): role_whitelist.append(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were already in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + mention_list = (role.mention for role in failed) + await ctx.send(f"The following roles were already in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_roles.command(name="remove") async def antipolls_roles_remove(self, ctx: commands.Context, *roles: discord.Role) -> None: """Remove roles from the whitelist.""" async with self.config.guild(ctx.guild).role_whitelist() as role_whitelist: role_whitelist: list - failed: list[discord.Role.mention] = [] + failed: list[discord.Role] = [] for role in roles: if role.id not in role_whitelist: - failed.append(role.mention) + failed.append(role) continue role_whitelist.remove(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were not in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + mention_list = (role.mention for role in failed) + await ctx.send(f"The following roles were not in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_roles.command(name="list") async def antipolls_roles_list(self, ctx: commands.Context) -> None: @@ -136,7 +138,7 @@ class AntiPolls(commands.Cog): """Add channels to the whitelist.""" async with self.config.guild(ctx.guild).channel_whitelist() as channel_whitelist: channel_whitelist: list - failed: list[discord.TextChannel.mention] = [] + failed: list[discord.TextChannel] = [] for channel in channels: if channel.id in channel_whitelist: failed.append(channel) @@ -144,22 +146,24 @@ class AntiPolls(commands.Cog): channel_whitelist.append(channel.id) await ctx.tick() if failed: - await ctx.send(f"The following channels were already in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + mention_list = (role.mention for role in failed) + await ctx.send(f"The following channels were already in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_channels.command(name="remove") async def antipolls_channels_remove(self, ctx: commands.Context, *channels: discord.TextChannel) -> None: """Remove channels from the whitelist.""" async with self.config.guild(ctx.guild).channel_whitelist() as channel_whitelist: channel_whitelist: list - failed: list[discord.TextChannel.mention] = [] + failed: list[discord.TextChannel] = [] for channel in channels: if channel.id not in channel_whitelist: - failed.append(channel.mention) + failed.append(channel) continue channel_whitelist.remove(channel.id) await ctx.tick() if failed: - await ctx.send(f"The following channels were not in the whitelist: {humanize_list(mention for mention in failed)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + mention_list = (role.mention for role in failed) + await ctx.send(f"The following channels were not in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_channels.command(name="list") async def antipolls_channels_list(self, ctx: commands.Context) -> None: From 15715dff3ce1b864c17d0b7e72e23ac40f81b2fc Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 11:05:37 -0400 Subject: [PATCH 40/49] fix(antipolls): fixed the humanize_list typeerror (for real this time) --- antipolls/antipolls.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 4014253..1f2b67c 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -101,8 +101,7 @@ class AntiPolls(commands.Cog): role_whitelist.append(role.id) await ctx.tick() if failed: - mention_list = (role.mention for role in failed) - await ctx.send(f"The following roles were already in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following roles were already in the whitelist: {humanize_list([role for role in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_roles.command(name="remove") async def antipolls_roles_remove(self, ctx: commands.Context, *roles: discord.Role) -> None: @@ -117,8 +116,7 @@ class AntiPolls(commands.Cog): role_whitelist.remove(role.id) await ctx.tick() if failed: - mention_list = (role.mention for role in failed) - await ctx.send(f"The following roles were not in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following roles were not in the whitelist: {humanize_list([role.mention for role in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_roles.command(name="list") async def antipolls_roles_list(self, ctx: commands.Context) -> None: @@ -127,7 +125,7 @@ class AntiPolls(commands.Cog): if not role_whitelist: return await ctx.send("No roles in the whitelist.") roles = [ctx.guild.get_role(role) for role in role_whitelist] - await ctx.send(humanize_list(role.mention for role in roles)) + await ctx.send(humanize_list([role.mention for role in roles])) @antipolls.group(name="channels") async def antipolls_channels(self, ctx: commands.Context) -> None: @@ -146,8 +144,7 @@ class AntiPolls(commands.Cog): channel_whitelist.append(channel.id) await ctx.tick() if failed: - mention_list = (role.mention for role in failed) - await ctx.send(f"The following channels were already in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following channels were already in the whitelist: {humanize_list([channel.mention for channel in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_channels.command(name="remove") async def antipolls_channels_remove(self, ctx: commands.Context, *channels: discord.TextChannel) -> None: @@ -162,8 +159,7 @@ class AntiPolls(commands.Cog): channel_whitelist.remove(channel.id) await ctx.tick() if failed: - mention_list = (role.mention for role in failed) - await ctx.send(f"The following channels were not in the whitelist: {humanize_list(mention_list)}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following channels were not in the whitelist: {humanize_list([channel.mention for channel in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) @antipolls_channels.command(name="list") async def antipolls_channels_list(self, ctx: commands.Context) -> None: @@ -172,7 +168,7 @@ class AntiPolls(commands.Cog): if not channel_whitelist: return await ctx.send("No channels in the whitelist.") channels = [ctx.guild.get_channel(channel) for channel in channel_whitelist] - await ctx.send(humanize_list(channel.mention for channel in channels)) + await ctx.send(humanize_list([channel.mention for channel in channels])) @antipolls.command(name="managemessages") async def antipolls_managemessages(self, ctx: commands.Context, enabled: bool) -> None: From b67b692201a811b6e65ce974aeb9ece2542b8d56 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 11:08:15 -0400 Subject: [PATCH 41/49] fix(antipolls): fixed an allowedmentions error --- antipolls/antipolls.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 1f2b67c..c0c8f59 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -101,7 +101,7 @@ class AntiPolls(commands.Cog): role_whitelist.append(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were already in the whitelist: {humanize_list([role for role in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following roles were already in the whitelist: {humanize_list([role for role in failed])}", delete_after=10) @antipolls_roles.command(name="remove") async def antipolls_roles_remove(self, ctx: commands.Context, *roles: discord.Role) -> None: @@ -116,7 +116,7 @@ class AntiPolls(commands.Cog): role_whitelist.remove(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were not in the whitelist: {humanize_list([role.mention for role in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following roles were not in the whitelist: {humanize_list([role.mention for role in failed])}", delete_after=10) @antipolls_roles.command(name="list") async def antipolls_roles_list(self, ctx: commands.Context) -> None: @@ -144,7 +144,7 @@ class AntiPolls(commands.Cog): channel_whitelist.append(channel.id) await ctx.tick() if failed: - await ctx.send(f"The following channels were already in the whitelist: {humanize_list([channel.mention for channel in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following channels were already in the whitelist: {humanize_list([channel.mention for channel in failed])}", delete_after=10) @antipolls_channels.command(name="remove") async def antipolls_channels_remove(self, ctx: commands.Context, *channels: discord.TextChannel) -> None: @@ -159,7 +159,7 @@ class AntiPolls(commands.Cog): channel_whitelist.remove(channel.id) await ctx.tick() if failed: - await ctx.send(f"The following channels were not in the whitelist: {humanize_list([channel.mention for channel in failed])}", delete_after=10, allowed_mentions=discord.AllowedMentions.none) + await ctx.send(f"The following channels were not in the whitelist: {humanize_list([channel.mention for channel in failed])}", delete_after=10) @antipolls_channels.command(name="list") async def antipolls_channels_list(self, ctx: commands.Context) -> None: From dbe6fc2390aaa6eb80be674463577b4bdd7f4a68 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 11:14:11 -0400 Subject: [PATCH 42/49] fix(antipolls): improved verbose logging for the cog_disabled_in_guild check --- antipolls/antipolls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index c0c8f59..8834274 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -54,7 +54,7 @@ class AntiPolls(commands.Cog): return self.logger.verbose("Message from bot ignored") if await self.bot.cog_disabled_in_guild(self, message.guild): - return self.logger.verbose("Cog disabled in guild") + return self.logger.verbose(f"Message ignored, cog is disabled in guild {message.guild.id}") guild_config = await self.config.guild(message.guild).all() From aaf9ac1b4e967fb2566864c7c3459bf5533f11a1 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 12:13:15 -0400 Subject: [PATCH 43/49] fix(antipolls): prevent cog loading if the Message Content intent is disabled --- antipolls/antipolls.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 8834274..3ebd28b 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -29,6 +29,9 @@ class AntiPolls(commands.Cog): channel_whitelist=[], manage_messages=True, ) + if not self.bot.intents.message_content: + self.logger.error("Message Content intent is not enabled, cog will not load.") + raise RuntimeError("This cog requires the Message Content intent to function. To prevent potentially destructive behavior, the cog will not load without the intent enabled.") def format_help_for_context(self, ctx: commands.Context) -> str: pre_processed = super().format_help_for_context(ctx) or "" From d17a7e645f5783028f48d725a4849a55aa891e3e Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 12:38:00 -0400 Subject: [PATCH 44/49] fix(antipolls): pylint fixes --- antipolls/antipolls.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/antipolls/antipolls.py b/antipolls/antipolls.py index 3ebd28b..810e88b 100644 --- a/antipolls/antipolls.py +++ b/antipolls/antipolls.py @@ -44,12 +44,12 @@ class AntiPolls(commands.Cog): ] return "\n".join(text) - async def red_delete_data_for_user(self, **kwargs): + async def red_delete_data_for_user(self, **kwargs): # pylint: disable=unused-argument """Nothing to delete.""" return @commands.Cog.listener('on_message') - async def listener(self, message: discord.Message) -> None: + async def polls_listener(self, message: discord.Message) -> None: if message.guild is None: return self.logger.verbose("Message in direct messages ignored") @@ -57,7 +57,7 @@ class AntiPolls(commands.Cog): return self.logger.verbose("Message from bot ignored") if await self.bot.cog_disabled_in_guild(self, message.guild): - return self.logger.verbose(f"Message ignored, cog is disabled in guild {message.guild.id}") + return self.logger.verbose("Message ignored, cog is disabled in guild %s", message.guild.id) guild_config = await self.config.guild(message.guild).all() @@ -65,21 +65,21 @@ class AntiPolls(commands.Cog): return self.logger.verbose("Message from user with Manage Messages permission ignored") if message.channel.id in guild_config['channel_whitelist']: - return self.logger.verbose(f"Message in whitelisted channel {message.channel.id} ignored") + return self.logger.verbose("Message in whitelisted channel %s ignored", message.channel.id) if any(role.id in guild_config['role_whitelist'] for role in message.author.roles): - return self.logger.verbose(f"Message from whitelisted role {message.author.roles} ignored") + return self.logger.verbose("Message from whitelisted role %s ignored", message.author.roles) if not message.content and not message.embeds and not message.attachments and not message.stickers: - self.logger.trace(f"Message {message.id} is a poll, attempting to delete") + self.logger.trace("Message %s is a poll, attempting to delete", message.id) try: await message.delete() except discord.HTTPException as e: - return self.logger.error(f"Failed to delete message: {e}") + return self.logger.error("Failed to delete message: %s", e) - return self.logger.trace(f"Deleted poll message {message.id}") - self.logger.verbose(f"Message {message.id} is not a poll, ignoring") + return self.logger.trace("Deleted poll message %s", message.id) + self.logger.verbose("Message %s is not a poll, ignoring", message.id) @commands.group(name="antipolls", aliases=["ap"]) @commands.guild_only() @@ -99,12 +99,12 @@ class AntiPolls(commands.Cog): failed: list[discord.Role] = [] for role in roles: if role.id in role_whitelist: - failed.append(role.mention) + failed.append(role) continue role_whitelist.append(role.id) await ctx.tick() if failed: - await ctx.send(f"The following roles were already in the whitelist: {humanize_list([role for role in failed])}", delete_after=10) + await ctx.send(f"The following roles were already in the whitelist: {humanize_list([role.mention for role in failed])}", delete_after=10) @antipolls_roles.command(name="remove") async def antipolls_roles_remove(self, ctx: commands.Context, *roles: discord.Role) -> None: From d0474a3707e704e7be1605061740ad3efb185aa2 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Tue, 16 Apr 2024 12:39:57 -0400 Subject: [PATCH 45/49] fix(antipolls): doesn't need to be marked as hidden anymore --- antipolls/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antipolls/info.json b/antipolls/info.json index 2af0457..569fa0c 100644 --- a/antipolls/info.json +++ b/antipolls/info.json @@ -5,7 +5,7 @@ "short" : "AntiPolls deletes messages that contain polls.", "description" : "AntiPolls deletes messages that contain polls, with a configurable per-guild role and channel whitelist and support for default Discord permissions (Manage Messages).", "end_user_data_statement" : "This cog does not store any user data.", - "hidden": true, + "hidden": false, "disabled": false, "min_bot_version": "3.5.0", "min_python_version": [3, 10, 0], From 8d8fd0c04f42440797bc01974405f6c646f77971 Mon Sep 17 00:00:00 2001 From: blizzthewolf Date: Wed, 24 Apr 2024 20:15:01 +0000 Subject: [PATCH 46/49] Update backup/info.json --- backup/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backup/info.json b/backup/info.json index 4fdcb58..2fb6c6e 100644 --- a/backup/info.json +++ b/backup/info.json @@ -8,7 +8,7 @@ "hidden": false, "disabled": false, "min_bot_version": "3.5.6", - "max_bot_version": "3.5.8", + "max_bot_version": "3.5.9", "min_python_version": [3, 9, 0], "tags": [ "utility", From 863bed33f55a5788b88e81bc4136791fce87e1c6 Mon Sep 17 00:00:00 2001 From: maxigames Date: Wed, 24 Apr 2024 20:52:05 +0000 Subject: [PATCH 47/49] Update backup/backup.py --- backup/backup.py | 236 ++++++----------------------------------------- 1 file changed, 29 insertions(+), 207 deletions(-) diff --git a/backup/backup.py b/backup/backup.py index 7fe9b4d..a56ce37 100644 --- a/backup/backup.py +++ b/backup/backup.py @@ -95,14 +95,21 @@ class Backup(commands.Cog): @commands.is_owner() async def backup_import(self, ctx: commands.Context): """Import your installed repositories and cogs from an export file.""" - try: - export = json.loads(await ctx.message.attachments[0].read()) - except (json.JSONDecodeError, IndexError): + export = None + if ctx.message.attachments: try: - export = json.loads(await ctx.message.reference.resolved.attachments[0].read()) - except (json.JSONDecodeError, IndexError): - await ctx.send(error("Please provide a valid JSON export file.")) - return + export = json.loads(await ctx.message.attachments[0].read()) + except json.JSONDecodeError: + await ctx.send(error("Invalid JSON in message attachments.")) + elif ctx.message.reference and hasattr(ctx.message.reference, 'resolved'): + if ctx.message.reference.resolved.attachments: + try: + export = json.loads(await ctx.message.reference.resolved.attachments[0].read()) + except json.JSONDecodeError: + await ctx.send(error("Invalid JSON in referenced message attachments.")) + if export is None: + await ctx.send(error("Please provide a valid JSON export file.")) + return downloader = ctx.bot.get_cog("Downloader") if downloader is None: @@ -113,208 +120,23 @@ class Backup(commands.Cog): ) return - repo_s = [] - uninstall_s = [] - install_s = [] - repo_e = [] - uninstall_e = [] - install_e = [] - - async with ctx.typing(): - for repo in export: - # Most of this code is from the Downloader cog. - name = repo["name"] - branch = repo["branch"] - url = repo["url"] - cogs = repo["cogs"] - - if "PyLav/Red-Cogs" in url: - repo_e.append("PyLav cogs are not supported.") - continue - if name.startswith(".") or name.endswith("."): - repo_e.append( - f"Invalid repository name: {name}\nRepository names cannot start or end with a dot." - ) - continue - if re.match(r"^[a-zA-Z0-9_\-\.]+$", name) is None: - repo_e.append( - f"Invalid repository name: {name}\nRepository names may only contain letters, numbers, underscores, hyphens, and dots." - ) - continue + all_repos = list(downloader._repo_manager.repos) + for repo in export: + if repo["name"] not in [r.name for r in all_repos]: try: - repository = await downloader._repo_manager.add_repo( - url, name, branch + await downloader._repo_manager.add_repo( + repo["url"], repo["name"], repo["branch"] ) - repo_s.append( - f"Added repository {name} from {url} on branch {branch}." - ) - self.logger.debug( - "Added repository %s from %s on branch %s", name, url, branch - ) - except errors.ExistingGitRepo: - repo_e.append(f"Repository {name} already exists.") - repository = downloader._repo_manager.get_repo( - name + pass + + for cog in repo["cogs"]: + try: + await downloader._cog_install_interface.install_cog( + cog["name"], cog["commit"] ) - self.logger.debug("Repository %s already exists", name) - - except errors.AuthenticationError as err: - repo_e.append(f"Authentication error while adding repository {name}. See logs for more information.") - self.logger.exception( - "Something went wrong whilst cloning %s (to revision %s)", - url, - branch, - exc_info=err, - ) - continue - - except errors.CloningError as err: - repo_e.append( - f"Cloning error while adding repository {name}. See logs for more information." - ) - self.logger.exception( - "Something went wrong whilst cloning %s (to revision %s)", - url, - branch, - exc_info=err, - ) - continue - - except OSError: - repo_e.append( - f"OS error while adding repository {name}. See logs for more information." - ) - self.logger.exception( - "Something went wrong trying to add repo %s under name %s", - url, - name, - ) - continue - - cog_modules = [] - for cog in cogs: - # If you're forking this cog, make sure to change these strings! - if cog["name"] == "backup" and "SeaswimmerTheFsh/SeaCogs" in url: - continue - try: - cog_module = await InstalledCog.convert(ctx, cog["name"]) - except commands.BadArgument: - uninstall_e.append(f"Failed to uninstall {cog['name']}") - continue - cog_modules.append(cog_module) - - for cog in set(cog.name for cog in cog_modules): - poss_installed_path = (await downloader.cog_install_path()) / cog - if poss_installed_path.exists(): - with contextlib.suppress(commands.ExtensionNotLoaded): - await ctx.bot.unload_extension(cog) - await ctx.bot.remove_loaded_package(cog) - await downloader._delete_cog( - poss_installed_path - ) - uninstall_s.append(f"Uninstalled {cog}") - self.logger.debug("Uninstalled %s", cog) - else: - uninstall_e.append(f"Failed to uninstall {cog}") - self.logger.warning("Failed to uninstall %s", cog) - await downloader._remove_from_installed( - cog_modules - ) - - for cog in cogs: - cog_name = cog["name"] - cog_pinned = cog["pinned"] - if cog_pinned: - commit = cog["commit"] - else: - commit = None - - # If you're forking this cog, make sure to change these strings! - if cog_name == "backup" and "SeaswimmerTheFsh/SeaCogs" in url: - continue - - async with repository.checkout( - commit, exit_to_rev=repository.branch - ): - cogs_c, message = ( - await downloader._filter_incorrect_cogs_by_names( - repository, [cog_name] - ) - ) - if not cogs_c: - install_e.append(message) - self.logger.error(message) - continue - failed_reqs = await downloader._install_requirements( - cogs_c - ) - if failed_reqs: - install_e.append( - f"Failed to install {cog_name} due to missing requirements: {failed_reqs}" - ) - self.logger.error( - "Failed to install %s due to missing requirements: %s", - cog_name, - failed_reqs, - ) - continue - - installed_cogs, failed_cogs = await downloader._install_cogs( - cogs_c - ) - - if repository.available_libraries: - installed_libs, failed_libs = ( - await repository.install_libraries( - target_dir=downloader.SHAREDLIB_PATH, - req_target_dir=downloader.LIB_PATH, - ) - ) - else: - installed_libs = None - failed_libs = None - - if cog_pinned: - for cog in installed_cogs: - cog.pinned = True - - await downloader._save_to_installed( - installed_cogs + installed_libs - if installed_libs - else installed_cogs - ) - if installed_cogs: - installed_cog_name = installed_cogs[0].name - install_s.append(f"Installed {installed_cog_name}") - self.logger.debug("Installed %s", installed_cog_name) - if installed_libs: - for lib in installed_libs: - install_s.append( - f"Installed {lib.name} required for {cog_name}" - ) - self.logger.debug( - "Installed %s required for %s", lib.name, cog_name - ) - if failed_cogs: - failed_cog_name = failed_cogs[0].name - install_e.append(f"Failed to install {failed_cog_name}") - self.logger.error("Failed to install %s", failed_cog_name) - if failed_libs: - for lib in failed_libs: - install_e.append( - f"Failed to install {lib.name} required for {cog_name}" - ) - self.logger.error( - "Failed to install %s required for %s", - lib.name, - cog_name, - ) - await ctx.send( - "Import complete!", - file=text_to_file( - f"Repositories:\n{repo_s}\n\nRepository Errors:\n{repo_e}\n\nUninstalled Cogs:\n{uninstall_s}\n\nUninstalled Cogs Errors:\n{uninstall_e}\n\nInstalled Cogs:\n{install_s}\n\nInstalled Cogs Errors:\n{install_e}", - "backup.log", - ), - ) + except errors.CogNotFoundError: + pass + except errors.DownloaderError: + pass From 0e2e8e4216a11119daf3964b7b8fbf511a871d95 Mon Sep 17 00:00:00 2001 From: maxigames Date: Wed, 24 Apr 2024 20:59:57 +0000 Subject: [PATCH 48/49] Update backup/backup.py --- backup/backup.py | 49 +----------------------------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/backup/backup.py b/backup/backup.py index a56ce37..5c6485f 100644 --- a/backup/backup.py +++ b/backup/backup.py @@ -1,10 +1,3 @@ -# _____ _ -# / ____| (_) -# | (___ ___ __ _ _____ ___ _ __ ___ _ __ ___ ___ _ __ -# \___ \ / _ \/ _` / __\ \ /\ / / | '_ ` _ \| '_ ` _ \ / _ \ '__| -# ____) | __/ (_| \__ \\ V V /| | | | | | | | | | | | __/ | -# |_____/ \___|\__,_|___/ \_/\_/ |_|_| |_| |_|_| |_| |_|\___|_| - import contextlib import json import re @@ -16,8 +9,6 @@ from redbot.core import commands from redbot.core.bot import Red from redbot.core.utils.chat_formatting import error, humanize_list, text_to_file - -# pylint: disable=protected-access class Backup(commands.Cog): """A utility to make reinstalling repositories and cogs after migrating the bot far easier.""" @@ -77,9 +68,6 @@ class Backup(commands.Cog): if cog.repo_name == repo.name: cog_dict = { "name": cog.name, - # "loaded": cog.name in ctx.bot.extensions.keys(), - # this functionality was planned but never implemented due to Red limitations - # and the possibility of restoration functionality being added to Core "pinned": cog.pinned, "commit": cog.commit, } @@ -104,39 +92,4 @@ class Backup(commands.Cog): elif ctx.message.reference and hasattr(ctx.message.reference, 'resolved'): if ctx.message.reference.resolved.attachments: try: - export = json.loads(await ctx.message.reference.resolved.attachments[0].read()) - except json.JSONDecodeError: - await ctx.send(error("Invalid JSON in referenced message attachments.")) - if export is None: - await ctx.send(error("Please provide a valid JSON export file.")) - return - - downloader = ctx.bot.get_cog("Downloader") - if downloader is None: - await ctx.send( - error( - f"You do not have the `Downloader` cog loaded. Please run `{ctx.prefix}load downloader` and try again." - ) - ) - return - - all_repos = list(downloader._repo_manager.repos) - - for repo in export: - if repo["name"] not in [r.name for r in all_repos]: - try: - await downloader._repo_manager.add_repo( - repo["url"], repo["name"], repo["branch"] - ) - except errors.ExistingGitRepo: - pass - - for cog in repo["cogs"]: - try: - await downloader._cog_install_interface.install_cog( - cog["name"], cog["commit"] - ) - except errors.CogNotFoundError: - pass - except errors.DownloaderError: - pass + export From e94f64071259369f6402f7d571cc9df6d019e1ea Mon Sep 17 00:00:00 2001 From: maxigames Date: Wed, 24 Apr 2024 21:03:29 +0000 Subject: [PATCH 49/49] Update backup/backup.py --- backup/backup.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/backup/backup.py b/backup/backup.py index 5c6485f..1476478 100644 --- a/backup/backup.py +++ b/backup/backup.py @@ -1,3 +1,10 @@ +# _____ _ +# / ____| (_) +# | (___ ___ __ _ _____ ___ _ __ ___ _ __ ___ ___ _ __ +# \___ \ / _ \/ _` / __\ \ /\ / / | '_ ` _ \| '_ ` _ \ / _ \ '__| +# ____) | __/ (_| \__ \\ V V /| | | | | | | | | | | | __/ | +# |_____/ \___|\__,_|___/ \_/\_/ |_|_| |_| |_|_| |_| |_|\___|_| + import contextlib import json import re @@ -9,6 +16,8 @@ from redbot.core import commands from redbot.core.bot import Red from redbot.core.utils.chat_formatting import error, humanize_list, text_to_file + +# pylint: disable=protected-access class Backup(commands.Cog): """A utility to make reinstalling repositories and cogs after migrating the bot far easier.""" @@ -68,6 +77,9 @@ class Backup(commands.Cog): if cog.repo_name == repo.name: cog_dict = { "name": cog.name, + # "loaded": cog.name in ctx.bot.extensions.keys(), + # this functionality was planned but never implemented due to Red limitations + # and the possibility of restoration functionality being added to Core "pinned": cog.pinned, "commit": cog.commit, } @@ -92,4 +104,39 @@ class Backup(commands.Cog): elif ctx.message.reference and hasattr(ctx.message.reference, 'resolved'): if ctx.message.reference.resolved.attachments: try: - export + export = json.loads(await ctx.message.reference.resolved.attachments[0].read()) + except json.JSONDecodeError: + await ctx.send(error("Invalid JSON in referenced message attachments.")) + if export is None: + await ctx.send(error("Please provide a valid JSON export file.")) + return + + downloader = ctx.bot.get_cog("Downloader") + if downloader is None: + await ctx.send( + error( + f"You do not have the `Downloader` cog loaded. Please run `{ctx.prefix}load downloader` and try again." + ) + ) + return + + all_repos = list(downloader._repo_manager.repos) + + for repo in export: + if repo["name"] not in [r.name for r in all_repos]: + try: + await downloader._repo_manager.add_repo( + repo["url"], repo["name"], repo["branch"] + ) + except errors.ExistingGitRepo: + pass + + for cog in repo["cogs"]: + try: + await downloader._cog_install_interface.install_cog( + cog["name"], cog["commit"] + ) + except errors.CogNotFoundError: + pass + except errors.DownloaderError: + pass \ No newline at end of file