From 03e0b0c1c0bf5bd3fdf218ae17f76bb122cd10f5 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Mon, 8 May 2023 12:51:21 -0600 Subject: [PATCH 01/10] fixes #491 (#492) --- .../nautobot_golden_config/goldenconfigsetting_retrieve.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nautobot_golden_config/templates/nautobot_golden_config/goldenconfigsetting_retrieve.html b/nautobot_golden_config/templates/nautobot_golden_config/goldenconfigsetting_retrieve.html index 0ad4526f..7144ef54 100644 --- a/nautobot_golden_config/templates/nautobot_golden_config/goldenconfigsetting_retrieve.html +++ b/nautobot_golden_config/templates/nautobot_golden_config/goldenconfigsetting_retrieve.html @@ -40,7 +40,7 @@ Scope of Devices - {{ object.get_url_to_filtered_device_list | length }} + {{ object.dynamic_group.count }} From 94d079b5685f41c55fee67fba9b8501b5e1c0167 Mon Sep 17 00:00:00 2001 From: Jacob McGill <9847006+jmcgill298@users.noreply.github.com> Date: Fri, 26 May 2023 09:09:38 -0400 Subject: [PATCH 02/10] Update docs for adding CustomField data with datasources (#501) --- docs/user/app_getting_started.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/user/app_getting_started.md b/docs/user/app_getting_started.md index adaa2a9a..5b238467 100644 --- a/docs/user/app_getting_started.md +++ b/docs/user/app_getting_started.md @@ -162,7 +162,7 @@ The `YAML` files will contain all the attributes necessary to identify an object - name: "aaa" slug: "aaa" description: "aaa feature" -```` +``` `compliance_rules` example: @@ -200,6 +200,18 @@ The `YAML` files will contain all the attributes necessary to identify an object replace: '\1\2' ``` +CustomField data can be added using the `_custom_field_data` attribute, that takes a dictionary mapping custom_field names to their values: + +```yaml +--- +- name: "aaa" + slug: "aaa" + description: "aaa feature" + _custom_field_data: + custom_field_a: "abc" + custom_field_b: 123 +``` + !!! note For Foreign Key references to `ComplianceFeature` and `Platform` we use the keywords `feature_slug` and `platform_slug` respectively. From b38672bf3df21ab1d7657738b67996947f030a1c Mon Sep 17 00:00:00 2001 From: Jacob McGill <9847006+jmcgill298@users.noreply.github.com> Date: Wed, 31 May 2023 10:25:26 -0400 Subject: [PATCH 03/10] Switch from deprecated FilterSet to new FilterSetMixin (#503) --- nautobot_golden_config/filters.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nautobot_golden_config/filters.py b/nautobot_golden_config/filters.py index acc35a29..0d346c61 100644 --- a/nautobot_golden_config/filters.py +++ b/nautobot_golden_config/filters.py @@ -3,14 +3,14 @@ import django_filters from django.db.models import Q from nautobot.dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Platform, Rack, RackGroup, Region, Site -from nautobot.extras.filters import CustomFieldModelFilterSet, StatusFilter +from nautobot.extras.filters import CustomFieldModelFilterSetMixin, StatusFilter from nautobot.extras.models import Status from nautobot.tenancy.models import Tenant, TenantGroup from nautobot.utilities.filters import BaseFilterSet, NameSlugSearchFilterSet, TreeNodeMultipleChoiceFilter from nautobot_golden_config import models -class GenericPlatformFilterSet(CustomFieldModelFilterSet): +class GenericPlatformFilterSet(CustomFieldModelFilterSetMixin): """Generic method to reuse common FilterSet.""" platform_id = django_filters.ModelMultipleChoiceFilter( @@ -25,7 +25,7 @@ class GenericPlatformFilterSet(CustomFieldModelFilterSet): ) -class GoldenConfigFilterSet(CustomFieldModelFilterSet): +class GoldenConfigFilterSet(CustomFieldModelFilterSetMixin): """Filter capabilities for GoldenConfig instances.""" q = django_filters.CharFilter( @@ -188,8 +188,8 @@ class Meta: fields = ["id"] -class ComplianceFeatureFilterSet(CustomFieldModelFilterSet): - """Inherits Base Class CustomFieldModelFilterSet.""" +class ComplianceFeatureFilterSet(CustomFieldModelFilterSetMixin): + """Inherits Base Class CustomFieldModelFilterSetMixin.""" q = django_filters.CharFilter( method="search", @@ -211,7 +211,7 @@ class Meta: class ComplianceRuleFilterSet(GenericPlatformFilterSet): - """Inherits Base Class CustomFieldModelFilterSet.""" + """Inherits Base Class CustomFieldModelFilterSetMixin.""" q = django_filters.CharFilter( method="search", @@ -233,7 +233,7 @@ class Meta: class ConfigRemoveFilterSet(GenericPlatformFilterSet): - """Inherits Base Class CustomFieldModelFilterSet.""" + """Inherits Base Class CustomFieldModelFilterSetMixin.""" q = django_filters.CharFilter( method="search", @@ -255,7 +255,7 @@ class Meta: class ConfigReplaceFilterSet(GenericPlatformFilterSet): - """Inherits Base Class CustomFieldModelFilterSet.""" + """Inherits Base Class CustomFieldModelFilterSetMixin.""" q = django_filters.CharFilter( method="search", From b7555419c0c7079a9af7c0fc1e1913dc4f129bfa Mon Sep 17 00:00:00 2001 From: Jacob McGill <9847006+jmcgill298@users.noreply.github.com> Date: Wed, 31 May 2023 10:25:40 -0400 Subject: [PATCH 04/10] BugFix extend queryfilter to export (#504) --- nautobot_golden_config/tests/test_views.py | 12 ++++++++++++ nautobot_golden_config/views.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/nautobot_golden_config/tests/test_views.py b/nautobot_golden_config/tests/test_views.py index dc33ed2a..cc546009 100644 --- a/nautobot_golden_config/tests/test_views.py +++ b/nautobot_golden_config/tests/test_views.py @@ -280,3 +280,15 @@ def test_csv_export(self): f"{device.name},,,,,," for device in self.gc_dynamic_group.members.exclude(pk=first_device.pk) ] self.assertEqual(empty_csv_rows, csv_data[2:]) + + def test_csv_export_with_filter(self): + devices_in_site_1 = Device.objects.filter(site__name="Site 1") + golden_config_devices = self.gc_dynamic_group.members.all() + # Test that there are Devices in GC that are not related to Site 1 + self.assertNotEqual(devices_in_site_1, golden_config_devices) + response = self.client.get(f"{self._url}?site={Device.objects.first().site.slug}&export") + self.assertEqual(response.status_code, 200) + csv_data = response.content.decode().splitlines() + device_names_in_export = [entry.split(",")[0] for entry in csv_data[1:]] + device_names_in_site_1 = [device.name for device in devices_in_site_1] + self.assertEqual(device_names_in_export, device_names_in_site_1) diff --git a/nautobot_golden_config/views.py b/nautobot_golden_config/views.py index c10a1318..b47c030a 100644 --- a/nautobot_golden_config/views.py +++ b/nautobot_golden_config/views.py @@ -82,7 +82,7 @@ def dynamic_group_queryset(self): golden_config_device_queryset = Device.objects.none() for setting in models.GoldenConfigSetting.objects.all(): golden_config_device_queryset = golden_config_device_queryset | setting.dynamic_group.members - return golden_config_device_queryset + return golden_config_device_queryset & self.queryset.distinct() def queryset_to_csv(self): """Override nautobot default to account for using Device model for GoldenConfig data.""" From 0362e7cf3f1171c56ab40faa1c7aedd7aa736a8f Mon Sep 17 00:00:00 2001 From: kacem-expereo <115718278+kacem-expereo@users.noreply.github.com> Date: Wed, 14 Jun 2023 16:04:03 +0200 Subject: [PATCH 05/10] logging function missing argument (#511) --- nautobot_golden_config/utilities/helper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nautobot_golden_config/utilities/helper.py b/nautobot_golden_config/utilities/helper.py index 5948309e..fe1ba665 100644 --- a/nautobot_golden_config/utilities/helper.py +++ b/nautobot_golden_config/utilities/helper.py @@ -127,7 +127,7 @@ def render_jinja_template(obj, logger, template): "Jinja encountered an unexpected TemplateError; check the template for correctness\n" f"Template:\n{template}" ) - logger.log_failure(error_msg) + logger.log_failure(obj, error_msg) raise NornirNautobotException from error From d7a404ec964a55095645fc6507b4f5373251f1fb Mon Sep 17 00:00:00 2001 From: Leo Kirchner Date: Wed, 14 Jun 2023 16:13:48 +0200 Subject: [PATCH 06/10] Fix deepdiff dependency. (#498) --- poetry.lock | 4023 ++++++++++++++++++++++++------------------------ pyproject.toml | 2 +- 2 files changed, 2003 insertions(+), 2022 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7b749305..c8943e41 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,3 +1,5 @@ +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. + [[package]] name = "amqp" version = "5.1.1" @@ -5,6 +7,10 @@ description = "Low-level AMQP client for Python (fork of amqplib)." category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, + {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, +] [package.dependencies] vine = ">=5.0.0" @@ -16,6 +22,10 @@ description = "A library for parsing ISO 8601 strings." category = "main" optional = false python-versions = "*" +files = [ + {file = "aniso8601-7.0.0-py2.py3-none-any.whl", hash = "sha256:d10a4bf949f619f719b227ef5386e31f49a2b6d453004b21f02661ccc8670c7b"}, + {file = "aniso8601-7.0.0.tar.gz", hash = "sha256:513d2b6637b7853806ae79ffaca6f3e8754bdd547048f5ccc1420aec4b714f1e"}, +] [[package]] name = "asgiref" @@ -24,6 +34,10 @@ description = "ASGI specs, helper code, and adapters" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "asgiref-3.6.0-py3-none-any.whl", hash = "sha256:71e68008da809b957b7ee4b43dbccff33d1b23519fb8344e33f049897077afac"}, + {file = "asgiref-3.6.0.tar.gz", hash = "sha256:9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506"}, +] [package.dependencies] typing-extensions = {version = "*", markers = "python_version < \"3.8\""} @@ -38,6 +52,10 @@ description = "An abstract syntax tree for Python with inference support." category = "dev" optional = false python-versions = ">=3.6.2" +files = [ + {file = "astroid-2.11.7-py3-none-any.whl", hash = "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"}, + {file = "astroid-2.11.7.tar.gz", hash = "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946"}, +] [package.dependencies] lazy-object-proxy = ">=1.4.0" @@ -53,6 +71,10 @@ description = "Timeout context manager for asyncio programs" category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, + {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, +] [package.dependencies] typing-extensions = {version = ">=3.6.5", markers = "python_version < \"3.8\""} @@ -64,6 +86,10 @@ description = "Classes Without Boilerplate" category = "main" 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"}, +] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} @@ -82,6 +108,10 @@ description = "Security oriented static analyser for python code." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, + {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, +] [package.dependencies] colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} @@ -102,6 +132,29 @@ description = "Modern password hashing for your software and your servers" category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, + {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, + {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, + {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, +] [package.extras] tests = ["pytest (>=3.2.1,!=3.3.0)"] @@ -114,6 +167,10 @@ description = "Python multiprocessing fork with improvements and bugfixes" category = "main" optional = false python-versions = "*" +files = [ + {file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"}, + {file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"}, +] [[package]] name = "black" @@ -122,6 +179,33 @@ description = "The uncompromising code formatter." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, + {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, + {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, + {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, + {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, + {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, + {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, + {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, + {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, + {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, + {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, + {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, + {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, + {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, +] [package.dependencies] click = ">=8.0.0" @@ -146,6 +230,10 @@ description = "A decorator for caching properties in classes." category = "main" optional = false python-versions = "*" +files = [ + {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"}, + {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"}, +] [[package]] name = "celery" @@ -154,6 +242,10 @@ description = "Distributed Task Queue." category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "celery-5.2.7-py3-none-any.whl", hash = "sha256:138420c020cd58d6707e6257b6beda91fd39af7afde5d36c6334d175302c0e14"}, + {file = "celery-5.2.7.tar.gz", hash = "sha256:fafbd82934d30f8a004f81e8f7a062e31413a23d444be8ee3326553915958c6d"}, +] [package.dependencies] billiard = ">=3.6.4.0,<4.0" @@ -206,6 +298,10 @@ description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, + {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, +] [[package]] name = "cffi" @@ -214,6 +310,72 @@ description = "Foreign Function Interface for Python calling C code." category = "main" optional = false python-versions = "*" +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"}, +] [package.dependencies] pycparser = "*" @@ -225,6 +387,83 @@ description = "The Real First Universal Charset Detector. Open, modern and activ category = "main" optional = false python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, +] [[package]] name = "click" @@ -233,6 +472,10 @@ description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -245,6 +488,10 @@ description = "Enables git-like *did-you-mean* feature in click" category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" +files = [ + {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"}, + {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"}, +] [package.dependencies] click = ">=7" @@ -256,6 +503,10 @@ description = "An extension module for click to enable registering CLI commands category = "main" optional = false python-versions = "*" +files = [ + {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, + {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, +] [package.dependencies] click = ">=4.0" @@ -270,6 +521,10 @@ description = "REPL plugin for Click" category = "main" optional = false python-versions = "*" +files = [ + {file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"}, + {file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"}, +] [package.dependencies] click = "*" @@ -283,6 +538,10 @@ description = "Cross-platform colored terminal text." category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] [[package]] name = "coreapi" @@ -291,6 +550,10 @@ description = "Python client library for Core API." category = "main" optional = false python-versions = "*" +files = [ + {file = "coreapi-2.3.3-py2.py3-none-any.whl", hash = "sha256:bf39d118d6d3e171f10df9ede5666f63ad80bba9a29a8ec17726a66cf52ee6f3"}, + {file = "coreapi-2.3.3.tar.gz", hash = "sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb"}, +] [package.dependencies] coreschema = "*" @@ -305,6 +568,10 @@ description = "Core Schema." category = "main" optional = false python-versions = "*" +files = [ + {file = "coreschema-0.0.4-py2-none-any.whl", hash = "sha256:5e6ef7bf38c1525d5e55a895934ab4273548629f16aed5c0a6caa74ebf45551f"}, + {file = "coreschema-0.0.4.tar.gz", hash = "sha256:9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607"}, +] [package.dependencies] jinja2 = "*" @@ -316,18 +583,39 @@ description = "cryptography is a package which provides cryptographic recipes an category = "main" optional = false python-versions = ">=3.6" - -[package.dependencies] -cffi = ">=1.12" - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] -pep8test = ["black", "check-manifest", "mypy", "ruff"] -sdist = ["setuptools-rust (>=0.11.4)"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] +files = [ + {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b"}, + {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b"}, + {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"}, + {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c"}, + {file = "cryptography-40.0.2-cp36-abi3-win32.whl", hash = "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9"}, + {file = "cryptography-40.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404"}, + {file = "cryptography-40.0.2.tar.gz", hash = "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99"}, +] + +[package.dependencies] +cffi = ">=1.12" + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] +pep8test = ["black", "check-manifest", "mypy", "ruff"] +sdist = ["setuptools-rust (>=0.11.4)"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"] +test-randomorder = ["pytest-randomly"] tox = ["tox"] [[package]] @@ -337,6 +625,10 @@ description = "Composable style cycles" category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] [[package]] name = "deepdiff" @@ -345,6 +637,10 @@ description = "Deep Difference and Search of any Python object/data. Recreate ob category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "deepdiff-6.3.0-py3-none-any.whl", hash = "sha256:15838bd1cbd046ce15ed0c41e837cd04aff6b3e169c5e06fca69d7aa11615ceb"}, + {file = "deepdiff-6.3.0.tar.gz", hash = "sha256:6a3bf1e7228ac5c71ca2ec43505ca0a743ff54ec77aa08d7db22de6bc7b2b644"}, +] [package.dependencies] ordered-set = ">=4.0.2,<4.2.0" @@ -360,6 +656,10 @@ description = "XML bomb protection for Python stdlib modules" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] [[package]] name = "dill" @@ -368,6 +668,10 @@ description = "serialize all of python" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, + {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, +] [package.extras] graph = ["objgraph (>=1.7.2)"] @@ -379,6 +683,10 @@ description = "A high-level Python Web framework that encourages rapid developme category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "Django-3.2.19-py3-none-any.whl", hash = "sha256:21cc991466245d659ab79cb01204f9515690f8dae00e5eabde307f14d24d4d7d"}, + {file = "Django-3.2.19.tar.gz", hash = "sha256:031365bae96814da19c10706218c44dff3b654cc4de20a98bd2d29b9bde469f0"}, +] [package.dependencies] asgiref = ">=3.3.2,<4" @@ -396,6 +704,10 @@ description = "Django tag for ajax-enabled tables" category = "main" optional = false python-versions = "*" +files = [ + {file = "django_ajax_tables-1.1.1-py3-none-any.whl", hash = "sha256:62e0138949153c0a994eefbf469f5496b1ad98bc073e170bc021a1aada7a32d0"}, + {file = "django_ajax_tables-1.1.1.tar.gz", hash = "sha256:5a7e7bc7940aa6332a564916cde22010a858a3d29fc1090ce8061010ec76337c"}, +] [[package]] name = "django-appconf" @@ -404,6 +716,10 @@ description = "A helper class for handling configuration defaults of packaged ap category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"}, + {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"}, +] [package.dependencies] django = "*" @@ -415,6 +731,10 @@ description = "A slick ORM cache with automatic granular event-driven invalidati category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "django-cacheops-6.0.tar.gz", hash = "sha256:78e161ebd96a32e28e19ec7da31f2afed9e62a79726b8b5f0ed12dd16c2e5841"}, + {file = "django_cacheops-6.0-py2.py3-none-any.whl", hash = "sha256:ee38b969c9fc68f7c88e769b6c811e19563cca1ae08210d9f553ff758b6c3e17"}, +] [package.dependencies] django = ">=2.1" @@ -429,6 +749,10 @@ description = "Database-backed Periodic Tasks." category = "main" optional = false python-versions = "*" +files = [ + {file = "django-celery-beat-2.2.1.tar.gz", hash = "sha256:97ae5eb309541551bdb07bf60cc57cadacf42a74287560ced2d2c06298620234"}, + {file = "django_celery_beat-2.2.1-py2.py3-none-any.whl", hash = "sha256:ab43049634fd18dc037927d7c2c7d5f67f95283a20ebbda55f42f8606412e66c"}, +] [package.dependencies] celery = ">=5.0,<6.0" @@ -443,6 +767,10 @@ description = "Django live settings with pluggable backends, including Redis." category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-constance-2.9.1.tar.gz", hash = "sha256:4c6a96a5f2cbce1bc3fa41aa20566b6ee26fbd896c9f91f996518a3a0904f6c8"}, + {file = "django_constance-2.9.1-py3-none-any.whl", hash = "sha256:bf0b392efa18a1f3f464eddb7eb36ac5c02598354a5e31d0d4ce4fc8b535694b"}, +] [package.dependencies] django-picklefield = {version = "*", optional = true, markers = "extra == \"database\""} @@ -458,6 +786,10 @@ description = "django-cors-headers is a Django application for handling the serv category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "django-cors-headers-3.13.0.tar.gz", hash = "sha256:f9dc6b4e3f611c3199700b3e5f3398c28757dcd559c2f82932687f3d0443cfdf"}, + {file = "django_cors_headers-3.13.0-py3-none-any.whl", hash = "sha256:37e42883b5f1f2295df6b4bba96eb2417a14a03270cb24b2a07f021cd4487cf4"}, +] [package.dependencies] Django = ">=3.2" @@ -469,6 +801,10 @@ description = "Easily encrypt data in Django" category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "django-cryptography-1.0.tar.gz", hash = "sha256:13de5cf8f1250744c104b9e24774d03aa6d8488959dd40cdc016934043652445"}, + {file = "django_cryptography-1.0-py3-none-any.whl", hash = "sha256:0a99980b1cee7cc5e52f9b20b322620fea7cc124d770273e7bd285b20fd9d222"}, +] [package.dependencies] cryptography = "*" @@ -481,6 +817,9 @@ description = "Custom FILE_STORAGE for Django. Saves files in your database inst category = "main" optional = false python-versions = "*" +files = [ + {file = "django-db-file-storage-0.5.5.tar.gz", hash = "sha256:5d5da694b78ab202accab4508b958e0e37b3d146310e76f6f6125e1bdeaaad14"}, +] [package.dependencies] Django = "*" @@ -492,6 +831,10 @@ description = "A configurable set of panels that display various debug informati category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "django_debug_toolbar-3.8.1-py3-none-any.whl", hash = "sha256:879f8a4672d41621c06a4d322dcffa630fc4df056cada6e417ed01db0e5e0478"}, + {file = "django_debug_toolbar-3.8.1.tar.gz", hash = "sha256:24ef1a7d44d25e60d7951e378454c6509bf536dce7e7d9d36e7c387db499bc27"}, +] [package.dependencies] django = ">=3.2.4" @@ -504,6 +847,10 @@ description = "Extensions for Django" category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-extensions-3.2.1.tar.gz", hash = "sha256:2a4f4d757be2563cd1ff7cfdf2e57468f5f931cc88b23cf82ca75717aae504a4"}, + {file = "django_extensions-3.2.1-py3-none-any.whl", hash = "sha256:421464be390289513f86cb5e18eb43e5dc1de8b4c27ba9faa3b91261b0d67e09"}, +] [package.dependencies] Django = ">=3.2" @@ -515,6 +862,10 @@ description = "Django-filter is a reusable Django application for allowing users category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-filter-21.1.tar.gz", hash = "sha256:632a251fa8f1aadb4b8cceff932bb52fe2f826dd7dfe7f3eac40e5c463d6836e"}, + {file = "django_filter-21.1-py3-none-any.whl", hash = "sha256:f4a6737a30104c98d2e2a5fb93043f36dd7978e0c7ddc92f5998e85433ea5063"}, +] [package.dependencies] Django = ">=2.2" @@ -526,6 +877,10 @@ description = "Run checks on services like databases, queue servers, celery proc category = "main" optional = false python-versions = "*" +files = [ + {file = "django-health-check-3.16.5.tar.gz", hash = "sha256:1edfd49293ccebbce29f9da609c407f307aee240ab799ab4201031341ae78c0f"}, + {file = "django_health_check-3.16.5-py2.py3-none-any.whl", hash = "sha256:8d66781a0ea82b1a8b44878187b38a27370e94f18287312e39be0593e72d8983"}, +] [package.dependencies] django = ">=2.2" @@ -537,6 +892,10 @@ description = "Jinja2 templating language integrated in Django." category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-jinja-2.10.2.tar.gz", hash = "sha256:bfdfbb55c1f5a679d69ad575d550c4707d386634009152efe014089f3c4d1412"}, + {file = "django_jinja-2.10.2-py3-none-any.whl", hash = "sha256:dd003ec1c95c0989eb28a538831bced62b1b61da551cb44a5dfd708fcf75589f"}, +] [package.dependencies] django = ">=2.2" @@ -549,6 +908,10 @@ description = "script tag with additional attributes for django.forms.Media" category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django_js_asset-2.0.0-py3-none-any.whl", hash = "sha256:86f9f300d682537ddaf0487dc2ab356581b8f50c069bdba91d334a46e449f923"}, + {file = "django_js_asset-2.0.0.tar.gz", hash = "sha256:adc1ee1efa853fad42054b540c02205344bb406c9bddf87c9e5377a41b7db90f"}, +] [package.dependencies] Django = ">=2.2" @@ -563,6 +926,10 @@ description = "Utilities for implementing Modified Preorder Tree Traversal with category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-mptt-0.14.0.tar.gz", hash = "sha256:2c92a2b1614c53086278795ccf50580cf1f9b8564f3ff03055dd62bab5987711"}, + {file = "django_mptt-0.14.0-py3-none-any.whl", hash = "sha256:d9a87433ab0e4f35247c6f6d5a93ace6990860a4ba8796f815d185f773b9acfc"}, +] [package.dependencies] django-js-asset = "*" @@ -577,6 +944,10 @@ description = "Pickled object field for Django" category = "main" optional = false python-versions = ">=3" +files = [ + {file = "django-picklefield-3.1.tar.gz", hash = "sha256:c786cbeda78d6def2b43bff4840d19787809c8909f7ad683961703060398d356"}, + {file = "django_picklefield-3.1-py3-none-any.whl", hash = "sha256:d77c504df7311e8ec14e8b779f10ca6fec74de6c7f8e2c136e1ef60cf955125d"}, +] [package.dependencies] Django = ">=3.2" @@ -591,6 +962,10 @@ description = "Create pivot tables and histograms from ORM querysets" category = "main" optional = false python-versions = "*" +files = [ + {file = "django-pivot-1.9.0.tar.gz", hash = "sha256:5e985d32d9ff2a6b89419dd0292c0fa2822d494ee479b5fd16cdb542abf66a88"}, + {file = "django_pivot-1.9.0-py3-none-any.whl", hash = "sha256:1c60e18e7d5f7e42856faee0961748082ddd05b01ae7c8a4baed64d2bbacd051"}, +] [package.dependencies] django = ">=2.2.0" @@ -602,6 +977,10 @@ description = "Django middlewares to monitor your application with Prometheus.io category = "main" optional = false python-versions = "*" +files = [ + {file = "django-prometheus-2.2.0.tar.gz", hash = "sha256:240378a1307c408bd5fc85614a3a57f1ce633d4a222c9e291e2bbf325173b801"}, + {file = "django_prometheus-2.2.0-py2.py3-none-any.whl", hash = "sha256:e6616770d8820b8834762764bf1b76ec08e1b98e72a6f359d488a2e15fe3537c"}, +] [package.dependencies] prometheus-client = ">=0.7" @@ -613,6 +992,10 @@ description = "Full featured redis cache backend for Django." category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-redis-5.2.0.tar.gz", hash = "sha256:8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de"}, + {file = "django_redis-5.2.0-py3-none-any.whl", hash = "sha256:1d037dc02b11ad7aa11f655d26dac3fb1af32630f61ef4428860a2e29ff92026"}, +] [package.dependencies] Django = ">=2.2" @@ -628,6 +1011,10 @@ description = "An app that provides django integration for RQ (Redis Queue)" category = "main" optional = false python-versions = "*" +files = [ + {file = "django-rq-2.5.1.tar.gz", hash = "sha256:f08486602664d73a6e335872c868d79663e380247e6307496d01b8fa770fefd8"}, + {file = "django_rq-2.5.1-py2.py3-none-any.whl", hash = "sha256:7be1e10e7091555f9f36edf100b0dbb205ea2b98683d74443d2bdf3c6649a03f"}, +] [package.dependencies] django = ">=2.0" @@ -645,6 +1032,10 @@ description = "Table/data-grid framework for Django" category = "main" optional = false python-versions = "*" +files = [ + {file = "django-tables2-2.4.1.tar.gz", hash = "sha256:6c72dd208358539e789e4c0efd7d151e43283a4aa4093a35f44c43489e7ddeaa"}, + {file = "django_tables2-2.4.1-py2.py3-none-any.whl", hash = "sha256:50762bf3d7c61a4eb70e763c3e278650d7266bb78d0497fc8fafcf4e507c9a64"}, +] [package.dependencies] Django = ">=1.11" @@ -659,6 +1050,10 @@ description = "django-taggit is a reusable Django application for simple tagging category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django-taggit-3.0.0.tar.gz", hash = "sha256:e645b8e3dd4f85989d5ef5c5a3d5ebbe5badf5d1e51b53e42d0af726240b00b9"}, + {file = "django_taggit-3.0.0-py3-none-any.whl", hash = "sha256:ca2df20399a11321db75988404afb640a08eff61e52bde35f6c16f307004ec9e"}, +] [package.dependencies] Django = ">=3.2" @@ -670,6 +1065,10 @@ description = "A Django app providing database and form fields for pytz timezone category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"}, + {file = "django_timezone_field-4.1.2-py3-none-any.whl", hash = "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36"}, +] [package.dependencies] django = ">=2.2" @@ -685,6 +1084,10 @@ description = "Tree queries with explicit opt-in, without configurability" category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "django_tree_queries-0.11.0-py3-none-any.whl", hash = "sha256:d74fe9e36dc67cb2c6f7df1969ef700627b0c49af2ada15990dd3ae44e4ddb23"}, + {file = "django_tree_queries-0.11.0.tar.gz", hash = "sha256:768bc75fd5ab617e19bec5c7e207964d7f2f6155f5f3d8c3332b41d9d0e6b436"}, +] [package.extras] tests = ["coverage"] @@ -696,6 +1099,10 @@ description = "Django management commands for production webservers" category = "main" optional = false python-versions = "*" +files = [ + {file = "django-webserver-1.2.0.tar.gz", hash = "sha256:c976979d15b5ff9a212f7904d3b779e22219aebb4857860fcaf20e4e40f1da40"}, + {file = "django_webserver-1.2.0-py2.py3-none-any.whl", hash = "sha256:09200631f266484b9e944e38e92681d6e9aa7d90d089a5c86d5fb08fddad84fe"}, +] [package.dependencies] Django = "*" @@ -714,6 +1121,10 @@ description = "Web APIs for Django, made easy." category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "djangorestframework-3.14.0-py3-none-any.whl", hash = "sha256:eb63f58c9f218e1a7d064d17a70751f528ed4e1d35547fdade9aaf4cd103fd08"}, + {file = "djangorestframework-3.14.0.tar.gz", hash = "sha256:579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8"}, +] [package.dependencies] django = ">=3.0" @@ -726,6 +1137,10 @@ description = "Sane and flexible OpenAPI 3 schema generation for Django REST fra category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "drf-spectacular-0.24.2.tar.gz", hash = "sha256:be32417594080a52f996afd83fd47ea9c2b83cbf13f6d3fbf3de809a0dfa7ead"}, + {file = "drf_spectacular-0.24.2-py3-none-any.whl", hash = "sha256:b276e6f7bda6dfb911e742dab87c6e97bc67da2dafe82d6fd8df7cec6c8b03ec"}, +] [package.dependencies] Django = ">=2.2" @@ -748,6 +1163,10 @@ description = "Serve self-contained distribution builds of Swagger UI and Redoc category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "drf-spectacular-sidecar-2023.5.1.tar.gz", hash = "sha256:58358215fee6c4634d77335d4c341b8132dc0847b282fb2fe4b22530dc2a56ca"}, + {file = "drf_spectacular_sidecar-2023.5.1-py3-none-any.whl", hash = "sha256:10ab069a3475f763acbae76414ee80fc67a42c00394918777996bbfa9239f155"}, +] [package.dependencies] Django = ">=2.2" @@ -759,6 +1178,10 @@ description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Dja category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "drf-yasg-1.21.5.tar.gz", hash = "sha256:ceef0c3b5dc4389781afd786e6dc3697af2a2fe0d8724ee1f637c23d75bbc5b2"}, + {file = "drf_yasg-1.21.5-py3-none-any.whl", hash = "sha256:ba9cf4bf79f259290daee9b400fa4fcdb0e78d2f043fa5e9f6589c939fd06d05"}, +] [package.dependencies] coreapi = ">=2.3.3" @@ -782,6 +1205,10 @@ description = "the modular source code checker: pep8 pyflakes and co" category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +files = [ + {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, + {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, +] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} @@ -796,6 +1223,10 @@ description = "Tools to manipulate font files" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "fonttools-4.38.0-py3-none-any.whl", hash = "sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb"}, + {file = "fonttools-4.38.0.zip", hash = "sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1"}, +] [package.extras] all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=14.0.0)", "xattr", "zopfli (>=0.1.4)"] @@ -818,6 +1249,10 @@ description = "A fancy and practical functional tools" category = "main" optional = false python-versions = "*" +files = [ + {file = "funcy-1.18-py2.py3-none-any.whl", hash = "sha256:00ce91afc850357a131dc54f0db2ad8a1110d5087f1fa4480d7ea3ba0249f89d"}, + {file = "funcy-1.18.tar.gz", hash = "sha256:15448d19a8ebcc7a585afe7a384a19186d0bd67cbf56fb42cd1fd0f76313f9b2"}, +] [[package]] name = "future" @@ -826,6 +1261,9 @@ description = "Clean single-source support for Python 3 and 2" category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, +] [[package]] name = "ghp-import" @@ -834,6 +1272,10 @@ description = "Copy your docs directly to the gh-pages branch." category = "dev" optional = false python-versions = "*" +files = [ + {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, + {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, +] [package.dependencies] python-dateutil = ">=2.8.1" @@ -848,6 +1290,10 @@ description = "Git Object Database" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, + {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, +] [package.dependencies] smmap = ">=3.0.1,<6" @@ -859,6 +1305,10 @@ description = "GitPython is a Python library used to interact with Git repositor category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, + {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, +] [package.dependencies] gitdb = ">=4.0.1,<5" @@ -871,6 +1321,10 @@ description = "GraphQL Framework for Python" category = "main" optional = false python-versions = "*" +files = [ + {file = "graphene-2.1.9-py2.py3-none-any.whl", hash = "sha256:3d446eb1237c551052bc31155cf1a3a607053e4f58c9172b83a1b597beaa0868"}, + {file = "graphene-2.1.9.tar.gz", hash = "sha256:b9f2850e064eebfee9a3ef4a1f8aa0742848d97652173ab44c82cc8a62b9ed93"}, +] [package.dependencies] aniso8601 = ">=3,<=7" @@ -890,6 +1344,10 @@ description = "Graphene Django integration" category = "main" optional = false python-versions = "*" +files = [ + {file = "graphene-django-2.15.0.tar.gz", hash = "sha256:b78c9b05bc899016b9cc5bf13faa1f37fe1faa8c5407552c6ddd1a28f46fc31a"}, + {file = "graphene_django-2.15.0-py2.py3-none-any.whl", hash = "sha256:02671d195f0c09c8649acff2a8f4ad4f297d0f7d98ea6e6cdf034b81bab92880"}, +] [package.dependencies] Django = ">=1.11" @@ -912,6 +1370,9 @@ description = "Optimize database access inside graphene queries." category = "main" optional = false python-versions = "*" +files = [ + {file = "graphene-django-optimizer-0.8.0.tar.gz", hash = "sha256:79269880d59d0a35d41751ddcb419220c4ad3871960416371119f447cb2e1a77"}, +] [[package]] name = "graphql-core" @@ -920,6 +1381,10 @@ description = "GraphQL implementation for Python" category = "main" optional = false python-versions = "*" +files = [ + {file = "graphql-core-2.3.2.tar.gz", hash = "sha256:aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746"}, + {file = "graphql_core-2.3.2-py2.py3-none-any.whl", hash = "sha256:44c9bac4514e5e30c5a595fac8e3c76c1975cae14db215e8174c7fe995825bad"}, +] [package.dependencies] promise = ">=2.3,<3" @@ -937,6 +1402,10 @@ description = "Relay implementation for Python" category = "main" optional = false python-versions = "*" +files = [ + {file = "graphql-relay-2.0.1.tar.gz", hash = "sha256:870b6b5304123a38a0b215a79eace021acce5a466bf40cd39fa18cb8528afabb"}, + {file = "graphql_relay-2.0.1-py3-none-any.whl", hash = "sha256:ac514cb86db9a43014d7e73511d521137ac12cf0101b2eaa5f0a3da2e10d913d"}, +] [package.dependencies] graphql-core = ">=2.2,<3" @@ -950,6 +1419,10 @@ description = "Signatures for entire Python programs. Extract the structure, the category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "griffe-0.27.2-py3-none-any.whl", hash = "sha256:8d6bc40e7bede3fb5879598c1f71b8902d245804ab59ae55516f864b2bdc25c6"}, + {file = "griffe-0.27.2.tar.gz", hash = "sha256:833990074c8c0b323a55f37f72265fdd841cb0a756122303505bf4bc80800e82"}, +] [package.dependencies] cached-property = {version = "*", markers = "python_version < \"3.8\""} @@ -962,6 +1435,10 @@ description = "Internationalized Domain Names in Applications (IDNA)" category = "main" 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"}, +] [[package]] name = "importlib-metadata" @@ -970,6 +1447,10 @@ description = "Read metadata from Python packages" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] [package.dependencies] typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} @@ -987,6 +1468,10 @@ description = "Read resources from Python packages" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, + {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, +] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -1002,6 +1487,10 @@ description = "A port of Ruby on Rails inflector to Python" category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] [[package]] name = "invoke" @@ -1010,6 +1499,10 @@ description = "Pythonic task execution" category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "invoke-2.1.1-py3-none-any.whl", hash = "sha256:e86a53046eca453d3e609e7017f65db5f66b947d4d337b60658859eb8c8a80e3"}, + {file = "invoke-2.1.1.tar.gz", hash = "sha256:7dcf054c4626b89713da650635c29e9dfeb8a1dd0a14edc60bd3e16f751292ff"}, +] [[package]] name = "isort" @@ -1018,6 +1511,10 @@ description = "A Python utility / library to sort Python imports." category = "dev" optional = false python-versions = ">=3.7.0" +files = [ + {file = "isort-5.11.5-py3-none-any.whl", hash = "sha256:ba1d72fb2595a01c7895a5128f9585a5cc4b6d395f1c8d514989b9a7eb2a8746"}, + {file = "isort-5.11.5.tar.gz", hash = "sha256:6be1f76a507cb2ecf16c7cf14a37e41609ca082330be4e3436a18ef74add55db"}, +] [package.extras] colors = ["colorama (>=0.4.3,<0.5.0)"] @@ -1032,6 +1529,10 @@ description = "Simple immutable types for python." category = "main" optional = false python-versions = "*" +files = [ + {file = "itypes-1.2.0-py2.py3-none-any.whl", hash = "sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6"}, + {file = "itypes-1.2.0.tar.gz", hash = "sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1"}, +] [[package]] name = "jinja2" @@ -1040,6 +1541,10 @@ description = "A very fast and expressive template engine." category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] [package.dependencies] MarkupSafe = ">=2.0" @@ -1054,6 +1559,10 @@ description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "jsonschema-4.7.2-py3-none-any.whl", hash = "sha256:c7448a421b25e424fccfceea86b4e3a8672b4436e1988ccbde92c80828d4f085"}, + {file = "jsonschema-4.7.2.tar.gz", hash = "sha256:73764f461d61eb97a057c929368610a134d1d1fffd858acfe88864ee94f1f1d3"}, +] [package.dependencies] attrs = ">=17.4.0" @@ -1073,6 +1582,10 @@ description = "Junos 'EZ' automation for non-programmers" category = "main" optional = false python-versions = ">=3.5, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "junos-eznc-2.6.7.tar.gz", hash = "sha256:b3ab81dafb160cd16cba8f26b92b6f5c3333a8d30566a7ebd966fc1f313b0980"}, + {file = "junos_eznc-2.6.7-py2.py3-none-any.whl", hash = "sha256:6ee9d74228ebaca01381eb88dbe21765006d76935960fd4e6cd8d67248b11644"}, +] [package.dependencies] jinja2 = ">=2.7.1" @@ -1095,1904 +1608,7 @@ description = "A fast implementation of the Cassowary constraint solver" category = "main" optional = false python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = {version = "*", markers = "python_version < \"3.8\""} - -[[package]] -name = "kombu" -version = "5.2.4" -description = "Messaging library for Python." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -amqp = ">=5.0.9,<6.0.0" -cached-property = {version = "*", markers = "python_version < \"3.8\""} -importlib-metadata = {version = ">=0.18", markers = "python_version < \"3.8\""} -vine = "*" - -[package.extras] -azureservicebus = ["azure-servicebus (>=7.0.0)"] -azurestoragequeues = ["azure-storage-queue"] -consul = ["python-consul (>=0.6.0)"] -librabbitmq = ["librabbitmq (>=2.0.0)"] -mongodb = ["pymongo (>=3.3.0,<3.12.1)"] -msgpack = ["msgpack"] -pyro = ["pyro4"] -qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] -redis = ["redis (>=3.4.1,!=4.0.0,!=4.0.1)"] -slmq = ["softlayer-messaging (>=1.0.3)"] -sqlalchemy = ["sqlalchemy"] -sqs = ["boto3 (>=1.9.12)", "pycurl (>=7.44.1,<7.45.0)", "urllib3 (>=1.26.7)"] -yaml = ["PyYAML (>=3.10)"] -zookeeper = ["kazoo (>=1.3.1)"] - -[[package]] -name = "lazy-object-proxy" -version = "1.9.0" -description = "A fast and thorough lazy object proxy." -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "lxml" -version = "4.9.2" -description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" - -[package.extras] -cssselect = ["cssselect (>=0.7)"] -html5 = ["html5lib"] -htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=0.29.7)"] - -[[package]] -name = "markdown" -version = "3.3.7" -description = "Python implementation of Markdown." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} - -[package.extras] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "markdown-it-py" -version = "2.2.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -mdurl = ">=0.1,<1.0" -typing_extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark"] -code-style = ["pre-commit (>=3.0,<4.0)"] -compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] -linkify = ["linkify-it-py (>=1,<3)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "markupsafe" -version = "2.1.2" -description = "Safely add untrusted strings to HTML/XML markup." -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "matplotlib" -version = "3.5.3" -description = "Python plotting package" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -cycler = ">=0.10" -fonttools = ">=4.22.0" -kiwisolver = ">=1.0.1" -numpy = ">=1.17" -packaging = ">=20.0" -pillow = ">=6.2.0" -pyparsing = ">=2.2.1" -python-dateutil = ">=2.7" -setuptools_scm = ">=4,<7" - -[[package]] -name = "mccabe" -version = "0.6.1" -description = "McCabe checker, plugin for flake8" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "mdurl" -version = "0.1.2" -description = "Markdown URL utilities" -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "mergedeep" -version = "1.3.4" -description = "A deep merge function for 🐍." -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "mkdocs" -version = "1.3.1" -description = "Project documentation with Markdown." -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -click = ">=3.3" -ghp-import = ">=1.0" -importlib-metadata = ">=4.3" -Jinja2 = ">=2.10.2" -Markdown = ">=3.2.1,<3.4" -mergedeep = ">=1.3.4" -packaging = ">=20.5" -PyYAML = ">=3.10" -pyyaml-env-tag = ">=0.1" -watchdog = ">=2.0" - -[package.extras] -i18n = ["babel (>=2.9.0)"] - -[[package]] -name = "mkdocs-autorefs" -version = "0.4.1" -description = "Automatically link across pages in MkDocs." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -Markdown = ">=3.3" -mkdocs = ">=1.1" - -[[package]] -name = "mkdocs-material" -version = "8.4.2" -description = "Documentation that simply works" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -jinja2 = ">=3.0.2" -markdown = ">=3.2" -mkdocs = ">=1.3.0" -mkdocs-material-extensions = ">=1.0.3" -pygments = ">=2.12" -pymdown-extensions = ">=9.4" - -[[package]] -name = "mkdocs-material-extensions" -version = "1.1.1" -description = "Extension pack for Python Markdown and MkDocs Material." -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "mkdocs-version-annotations" -version = "1.0.0" -description = "MkDocs plugin to add custom admonitions for documenting version differences" -category = "dev" -optional = false -python-versions = ">=3.7,<4.0" - -[[package]] -name = "mkdocstrings" -version = "0.19.0" -description = "Automatic documentation from sources, for MkDocs." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -Jinja2 = ">=2.11.1" -Markdown = ">=3.3" -MarkupSafe = ">=1.1" -mkdocs = ">=1.2" -mkdocs-autorefs = ">=0.3.1" -pymdown-extensions = ">=6.3" - -[package.extras] -crystal = ["mkdocstrings-crystal (>=0.3.4)"] -python = ["mkdocstrings-python (>=0.5.2)"] -python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] - -[[package]] -name = "mkdocstrings-python" -version = "0.7.1" -description = "A Python handler for mkdocstrings." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -griffe = ">=0.11.1" -mkdocstrings = ">=0.19" - -[[package]] -name = "mypy-extensions" -version = "0.4.4" -description = "Experimental type system extensions for programs checked with the mypy typechecker." -category = "main" -optional = false -python-versions = ">=2.7" - -[[package]] -name = "napalm" -version = "4.0.0" -description = "Network Automation and Programmability Abstraction Layer with Multivendor support" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -cffi = ">=1.11.3" -future = "*" -jinja2 = "*" -junos-eznc = ">=2.6.3" -lxml = ">=4.3.0" -ncclient = "*" -netaddr = "*" -netmiko = ">=4.0.0" -netutils = ">=1.0.0" -paramiko = ">=2.6.0" -pyeapi = ">=0.8.2" -pyYAML = "*" -requests = ">=2.7.0" -scp = "*" -setuptools = ">=38.4.0" -textfsm = "<=1.1.2" -ttp = "*" -ttp-templates = "*" -typing-extensions = ">=4.3.0" - -[[package]] -name = "nautobot" -version = "1.5.16" -description = "Source of truth and network automation platform." -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -celery = ">=5.2.7,<5.3.0" -Django = ">=3.2.18,<3.3.0" -django-ajax-tables = ">=1.1.1,<1.2.0" -django-cacheops = ">=6.0,<6.1" -django-celery-beat = ">=2.2.1,<2.3.0" -django-constance = {version = ">=2.9.0,<2.10.0", extras = ["database"]} -django-cors-headers = ">=3.13.0,<3.14.0" -django-cryptography = ">=1.0,<1.1" -django-db-file-storage = ">=0.5.5,<0.6.0" -django-extensions = ">=3.2.0,<3.3.0" -django-filter = ">=21.1,<21.2" -django-health-check = ">=3.16.5,<3.17.0" -django-jinja = ">=2.10.2,<2.11.0" -django-mptt = ">=0.14.0,<0.15.0" -django-prometheus = ">=2.2.0,<2.3.0" -django-redis = ">=5.2.0,<5.3.0" -django-rq = ">=2.5.1,<2.6.0" -django-tables2 = ">=2.4.1,<2.5.0" -django-taggit = ">=3.0.0,<3.1.0" -django-timezone-field = ">=4.1.2,<4.2.0" -django-tree-queries = ">=0.11,<0.12" -django-webserver = ">=1.2.0,<1.3.0" -djangorestframework = ">=3.14.0,<3.15.0" -drf-spectacular = {version = ">=0.24.2,<0.25.0", extras = ["sidecar"]} -drf-yasg = {version = ">=1.20.0,<2.0.0", extras = ["validation"]} -GitPython = ">=3.1.31,<3.2.0" -graphene-django = ">=2.15.0,<2.16.0" -graphene-django-optimizer = ">=0.8.0,<0.9.0" -importlib-metadata = {version = ">=4.4,<5.0", markers = "python_version < \"3.8\""} -Jinja2 = ">=3.1.0,<3.2.0" -jsonschema = ">=4.7.0,<4.8.0" -Markdown = ">=3.3.7,<3.4.0" -MarkupSafe = ">=2.1.1,<2.2.0" -netaddr = ">=0.8.0,<0.9.0" -netutils = ">=1.4.1,<2.0.0" -Pillow = ">=9.3.0,<9.4.0" -prometheus-client = ">=0.14.1,<0.15.0" -psycopg2-binary = ">=2.9.5,<2.10.0" -pycryptodome = ">=3.13.0,<3.14.0" -pyuwsgi = ">=2.0.21,<2.1.0" -PyYAML = ">=6.0,<6.1" -social-auth-app-django = ">=5.0.0,<5.1.0" -svgwrite = ">=1.4.2,<1.5.0" - -[package.extras] -all = ["django-auth-ldap (>=4.1.0,<4.2.0)", "django-storages (>=1.12.3,<1.13.0)", "mysqlclient (>=2.1.0,<2.2.0)", "napalm (>=3.4.1,<3.5.0)", "social-auth-core[openidconnect,saml] (>=4.3.0,<4.4.0)"] -ldap = ["django-auth-ldap (>=4.1.0,<4.2.0)"] -mysql = ["mysqlclient (>=2.1.0,<2.2.0)"] -napalm = ["napalm (>=3.4.1,<3.5.0)"] -remote-storage = ["django-storages (>=1.12.3,<1.13.0)"] -sso = ["social-auth-core[openidconnect,saml] (>=4.3.0,<4.4.0)"] - -[[package]] -name = "nautobot-plugin-nornir" -version = "1.0.0" -description = "Nautobot Nornir plugin." -category = "main" -optional = false -python-versions = ">=3.6,<4.0" - -[package.dependencies] -nautobot = ">=1.2.0" -netutils = ">=1.0.0" -nornir-nautobot = ">=2.2.0,<3.0.0" - -[[package]] -name = "ncclient" -version = "0.6.13" -description = "Python library for NETCONF clients" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -lxml = ">=3.3.0" -paramiko = ">=1.15.0" -setuptools = ">0.6" -six = "*" - -[[package]] -name = "netaddr" -version = "0.8.0" -description = "A network address manipulation library for Python" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "netmiko" -version = "4.1.2" -description = "Multi-vendor library to simplify legacy CLI connections to network devices" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -ntc-templates = ">=2.0.0" -paramiko = ">=2.7.2" -pyserial = "*" -pyyaml = ">=5.3" -scp = ">=0.13.3" -setuptools = ">=38.4.0" -tenacity = "*" -textfsm = "1.1.2" - -[[package]] -name = "netutils" -version = "1.4.1" -description = "Common helper functions useful in network automation." -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.extras] -optionals = ["napalm (>=4.0.0,<5.0.0)"] - -[[package]] -name = "nornir" -version = "3.3.0" -description = "Pluggable multi-threaded framework with inventory management to help operate collections of devices" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -importlib-metadata = {version = ">=4,<5", markers = "python_version < \"3.10\""} -mypy_extensions = ">=0.4.1,<0.5.0" -"ruamel.yaml" = ">=0.17" -typing_extensions = ">=4.1,<5.0" - -[package.extras] -docs = ["jupyter (>=1,<2)", "nbsphinx (>=0.8,<0.9)", "pygments (>=2,<3)", "sphinx (>=4,<5)", "sphinx-issues (>=3.0,<4.0)", "sphinx_rtd_theme (>=1.0,<2.0)", "sphinxcontrib-napoleon (>=0.7,<0.8)"] - -[[package]] -name = "nornir-jinja2" -version = "0.2.0" -description = "Jinja2 plugins for nornir" -category = "main" -optional = false -python-versions = ">=3.6,<4.0" - -[package.dependencies] -jinja2 = ">=2.11.2,<4" -nornir = ">=3,<4" - -[[package]] -name = "nornir-napalm" -version = "0.4.0" -description = "NAPALM's plugins for nornir" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -napalm = ">=4,<5" -nornir = ">=3,<4" - -[[package]] -name = "nornir-nautobot" -version = "2.3.0" -description = "Nornir Nautobot" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -netutils = ">=1,<2" -nornir = ">=3.0.0,<4.0.0" -nornir-jinja2 = ">=0,<1" -nornir-napalm = ">=0,<1" -nornir-netmiko = ">=0,<1" -nornir-utils = ">=0,<1" -pynautobot = ">=1.0.1,<2.0.0" -requests = ">=2.25.1,<3.0.0" - -[[package]] -name = "nornir-netmiko" -version = "0.2.0" -description = "Netmiko's plugins for Nornir" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -netmiko = ">=4.0.0,<5.0.0" -textfsm = "1.1.2" - -[[package]] -name = "nornir-utils" -version = "0.2.0" -description = "Collection of plugins and functions for nornir that don't require external dependencies" -category = "main" -optional = false -python-versions = ">=3.6.2,<4.0.0" - -[package.dependencies] -colorama = ">=0.4.3,<0.5.0" -nornir = ">=3,<4" - -[[package]] -name = "ntc-templates" -version = "3.3.0" -description = "TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable." -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -textfsm = ">=1.1.0,<2.0.0" - -[[package]] -name = "numpy" -version = "1.21.1" -description = "NumPy is the fundamental package for array computing with Python." -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "ordered-set" -version = "4.1.0" -description = "An OrderedSet is a custom MutableSet that remembers its order, so that every" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -dev = ["black", "mypy", "pytest"] - -[[package]] -name = "packaging" -version = "23.1" -description = "Core utilities for Python packages" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "paramiko" -version = "3.1.0" -description = "SSH2 protocol library" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -bcrypt = ">=3.2" -cryptography = ">=3.3" -pynacl = ">=1.5" - -[package.extras] -all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] -gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] -invoke = ["invoke (>=2.0)"] - -[[package]] -name = "pathspec" -version = "0.11.1" -description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "pbr" -version = "5.11.1" -description = "Python Build Reasonableness" -category = "dev" -optional = false -python-versions = ">=2.6" - -[[package]] -name = "pillow" -version = "9.3.0" -description = "Python Imaging Library (Fork)" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "platformdirs" -version = "3.5.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} - -[package.extras] -docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] - -[[package]] -name = "prometheus-client" -version = "0.14.1" -description = "Python client for the Prometheus monitoring system." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -twisted = ["twisted"] - -[[package]] -name = "promise" -version = "2.3" -description = "Promises/A+ implementation for Python" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -six = "*" - -[package.extras] -test = ["coveralls", "futures", "mock", "pytest (>=2.7.3)", "pytest-benchmark", "pytest-cov"] - -[[package]] -name = "prompt-toolkit" -version = "3.0.38" -description = "Library for building powerful interactive command lines in Python" -category = "main" -optional = false -python-versions = ">=3.7.0" - -[package.dependencies] -wcwidth = "*" - -[[package]] -name = "psycopg2-binary" -version = "2.9.6" -description = "psycopg2 - Python-PostgreSQL Database Adapter" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "pycodestyle" -version = "2.7.0" -description = "Python style guide checker" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pycparser" -version = "2.21" -description = "C parser in Python" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pycryptodome" -version = "3.13.0" -description = "Cryptographic library for Python" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "pydocstyle" -version = "6.3.0" -description = "Python docstring style checker" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = ">=2.0.0,<5.0.0", markers = "python_version < \"3.8\""} -snowballstemmer = ">=2.2.0" - -[package.extras] -toml = ["tomli (>=1.2.3)"] - -[[package]] -name = "pyeapi" -version = "0.8.4" -description = "Python Client for eAPI" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -netaddr = "*" - -[package.extras] -dev = ["check-manifest", "pep8", "pyflakes", "twine"] -test = ["coverage", "mock"] - -[[package]] -name = "pyflakes" -version = "2.3.1" -description = "passive checker of Python programs" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pygments" -version = "2.15.1" -description = "Pygments is a syntax highlighting package written in Python." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -plugins = ["importlib-metadata"] - -[[package]] -name = "pyjwt" -version = "2.6.0" -description = "JSON Web Token implementation in Python" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pylint" -version = "2.13.9" -description = "python code static checker" -category = "dev" -optional = false -python-versions = ">=3.6.2" - -[package.dependencies] -astroid = ">=2.11.5,<=2.12.0-dev0" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -dill = ">=0.2" -isort = ">=4.2.5,<6" -mccabe = ">=0.6,<0.8" -platformdirs = ">=2.2.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} - -[package.extras] -testutil = ["gitpython (>3)"] - -[[package]] -name = "pylint-django" -version = "2.5.3" -description = "A Pylint plugin to help Pylint understand the Django web framework" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -pylint = ">=2.0,<3" -pylint-plugin-utils = ">=0.7" - -[package.extras] -for-tests = ["coverage", "django-tables2", "django-tastypie", "factory-boy", "pylint (>=2.13)", "pytest", "wheel"] -with-django = ["Django"] - -[[package]] -name = "pylint-plugin-utils" -version = "0.7" -description = "Utilities and helpers for writing Pylint plugins" -category = "dev" -optional = false -python-versions = ">=3.6.2" - -[package.dependencies] -pylint = ">=1.7" - -[[package]] -name = "pymdown-extensions" -version = "9.11" -description = "Extension pack for Python Markdown." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -markdown = ">=3.2" -pyyaml = "*" - -[[package]] -name = "pynacl" -version = "1.5.0" -description = "Python binding to the Networking and Cryptography (NaCl) library" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -cffi = ">=1.4.1" - -[package.extras] -docs = ["sphinx (>=1.6.5)", "sphinx_rtd_theme"] -tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] - -[[package]] -name = "pynautobot" -version = "1.4.0" -description = "Nautobot API client library" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -requests = ">=2.20.0,<3.0.0" - -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" -optional = false -python-versions = ">=3.6.8" - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - -[[package]] -name = "pyrsistent" -version = "0.19.3" -description = "Persistent/Functional/Immutable data structures" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "pyserial" -version = "3.5" -description = "Python Serial Port Extension" -category = "main" -optional = false -python-versions = "*" - -[package.extras] -cp2110 = ["hidapi"] - -[[package]] -name = "python-crontab" -version = "2.7.1" -description = "Python Crontab API" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -python-dateutil = "*" - -[package.extras] -cron-description = ["cron-descriptor"] -cron-schedule = ["croniter"] - -[[package]] -name = "python-dateutil" -version = "2.8.2" -description = "Extensions to the standard Python datetime module" -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python3-openid" -version = "3.2.0" -description = "OpenID support for modern servers and consumers." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -defusedxml = "*" - -[package.extras] -mysql = ["mysql-connector-python"] -postgresql = ["psycopg2"] - -[[package]] -name = "pytz" -version = "2023.3" -description = "World timezone definitions, modern and historical" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "pyuwsgi" -version = "2.0.21" -description = "The uWSGI server" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "pyyaml" -version = "6.0" -description = "YAML parser and emitter for Python" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "pyyaml-env-tag" -version = "0.1" -description = "A custom YAML tag for referencing environment variables in YAML files. " -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -pyyaml = "*" - -[[package]] -name = "redis" -version = "4.5.4" -description = "Python client for Redis database and key-value store" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -async-timeout = {version = ">=4.0.2", markers = "python_version <= \"3.11.2\""} -importlib-metadata = {version = ">=1.0", markers = "python_version < \"3.8\""} -typing-extensions = {version = "*", markers = "python_version < \"3.8\""} - -[package.extras] -hiredis = ["hiredis (>=1.0.0)"] -ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] - -[[package]] -name = "requests" -version = "2.29.0" -description = "Python HTTP for Humans." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "requests-oauthlib" -version = "1.3.1" -description = "OAuthlib authentication support for Requests." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -oauthlib = ">=3.0.0" -requests = ">=2.0.0" - -[package.extras] -rsa = ["oauthlib[signedtoken] (>=3.0.0)"] - -[[package]] -name = "rich" -version = "13.3.5" -description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "dev" -optional = false -python-versions = ">=3.7.0" - -[package.dependencies] -markdown-it-py = ">=2.2.0,<3.0.0" -pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} - -[package.extras] -jupyter = ["ipywidgets (>=7.5.1,<9)"] - -[[package]] -name = "rq" -version = "1.14.0" -description = "RQ is a simple, lightweight, library for creating background jobs, and processing them." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -click = ">=5.0.0" -redis = ">=3.5.0" - -[[package]] -name = "ruamel-yaml" -version = "0.17.22" -description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "main" -optional = false -python-versions = ">=3" - -[package.dependencies] -"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} - -[package.extras] -docs = ["ryd"] -jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] - -[[package]] -name = "ruamel-yaml-clib" -version = "0.2.7" -description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "main" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "rx" -version = "1.6.3" -description = "Reactive Extensions (Rx) for Python" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "scp" -version = "0.14.5" -description = "scp module for paramiko" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -paramiko = "*" - -[[package]] -name = "setuptools" -version = "67.7.2" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] - -[[package]] -name = "setuptools-scm" -version = "6.4.2" -description = "the blessed package to manage your versions by scm tags" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -packaging = ">=20.0" -setuptools = "*" -tomli = ">=1.0.0" - -[package.extras] -test = ["pytest (>=6.2)", "virtualenv (>20)"] -toml = ["setuptools (>=42)"] - -[[package]] -name = "singledispatch" -version = "4.0.0" -description = "Backport functools.singledispatch to older Pythons." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "smmap" -version = "5.0.0" -description = "A pure Python implementation of a sliding window memory map manager" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "snowballstemmer" -version = "2.2.0" -description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "social-auth-app-django" -version = "5.0.0" -description = "Python Social Authentication, Django integration." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -social-auth-core = ">=4.1.0" - -[[package]] -name = "social-auth-core" -version = "4.4.2" -description = "Python social authentication made simple." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -cryptography = ">=1.4" -defusedxml = ">=0.5.0rc1" -oauthlib = ">=1.0.3" -PyJWT = ">=2.0.0" -python3-openid = ">=3.0.10" -requests = ">=2.9.1" -requests-oauthlib = ">=0.6.1" - -[package.extras] -all = ["cryptography (>=2.1.1)", "python-jose (>=3.0.0)", "python3-saml (>=1.5.0)"] -allpy3 = ["cryptography (>=2.1.1)", "python-jose (>=3.0.0)", "python3-saml (>=1.5.0)"] -azuread = ["cryptography (>=2.1.1)"] -openidconnect = ["python-jose (>=3.0.0)"] -saml = ["python3-saml (>=1.5.0)"] - -[[package]] -name = "sqlparse" -version = "0.4.4" -description = "A non-validating SQL parser." -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -dev = ["build", "flake8"] -doc = ["sphinx"] -test = ["pytest", "pytest-cov"] - -[[package]] -name = "stevedore" -version = "3.5.2" -description = "Manage dynamic plugins for Python applications" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""} -pbr = ">=2.0.0,<2.1.0 || >2.1.0" - -[[package]] -name = "svgwrite" -version = "1.4.3" -description = "A Python library to create SVG drawings." -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "swagger-spec-validator" -version = "3.0.3" -description = "Validation of Swagger specifications" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -jsonschema = "*" -pyyaml = "*" -typing-extensions = "*" - -[[package]] -name = "tenacity" -version = "8.2.2" -description = "Retry code until it succeeds" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -doc = ["reno", "sphinx", "tornado (>=4.5)"] - -[[package]] -name = "text-unidecode" -version = "1.3" -description = "The most basic Text::Unidecode port" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "textfsm" -version = "1.1.2" -description = "Python module for parsing semi-structured text into python tables." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -future = "*" -six = "*" - -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "transitions" -version = "0.9.0" -description = "A lightweight, object-oriented Python state machine implementation with many extensions." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -six = "*" - -[package.extras] -diagrams = ["pygraphviz"] -test = ["pytest"] - -[[package]] -name = "ttp" -version = "0.9.4" -description = "Template Text Parser" -category = "main" -optional = false -python-versions = ">=2.7,<4.0" - -[package.extras] -docs = ["Sphinx (==4.3.0)", "readthedocs-sphinx-search (==0.1.1)", "sphinx_rtd_theme (==1.0.0)", "sphinxcontrib-applehelp (==1.0.1)", "sphinxcontrib-devhelp (==1.0.1)", "sphinxcontrib-htmlhelp (==2.0.0)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-napoleon (==0.7)", "sphinxcontrib-qthelp (==1.0.2)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-spelling (==7.2.1)"] -full = ["cerberus (>=1.3.0,<1.4.0)", "deepdiff (>=5.8.0,<5.9.0)", "jinja2 (>=3.0.0,<3.1.0)", "n2g (>=0.2.0,<0.3.0)", "openpyxl (>=3.0.0,<3.1.0)", "pyyaml (==6.0)", "tabulate (>=0.8.0,<0.9.0)", "ttp_templates (<1.0.0)", "yangson (>=1.4.0,<1.5.0)"] - -[[package]] -name = "ttp-templates" -version = "0.3.5" -description = "Template Text Parser Templates collections" -category = "main" -optional = false -python-versions = ">=3.6,<4.0" - -[package.dependencies] -ttp = ">=0.6.0" - -[package.extras] -docs = ["mkdocs (==1.2.4)", "mkdocs-material (==7.2.2)", "mkdocs-material-extensions (==1.0.1)", "mkdocstrings[python] (>=0.18.0,<0.19.0)", "pygments (==2.11)", "pymdown-extensions (==9.3)"] - -[[package]] -name = "typed-ast" -version = "1.5.4" -description = "a fork of Python 2 and 3 ast modules with type comment support" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "typing-extensions" -version = "4.5.0" -description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "uritemplate" -version = "4.1.1" -description = "Implementation of RFC 6570 URI Templates" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "urllib3" -version = "1.26.15" -description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "vine" -version = "5.0.0" -description = "Promises, promises, promises." -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "watchdog" -version = "3.0.0" -description = "Filesystem events monitoring" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -watchmedo = ["PyYAML (>=3.10)"] - -[[package]] -name = "wcwidth" -version = "0.2.6" -description = "Measures the displayed width of unicode strings in a terminal" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "wrapt" -version = "1.15.0" -description = "Module for decorators, wrappers and monkey patching." -category = "dev" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" - -[[package]] -name = "yamllint" -version = "1.31.0" -description = "A linter for YAML files." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -pathspec = ">=0.5.3" -pyyaml = "*" - -[package.extras] -dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] - -[[package]] -name = "yamlordereddictloader" -version = "0.4.0" -description = "YAML loader and dump for PyYAML allowing to keep keys order." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -pyyaml = "*" - -[[package]] -name = "zipp" -version = "3.15.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] - -[metadata] -lock-version = "1.1" -python-versions = "^3.7" -content-hash = "173ac8d2740483d36301d5d819b5e65d200c4c8e274e20d0113f96170d5731a2" - -[metadata.files] -amqp = [ - {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, - {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, -] -aniso8601 = [ - {file = "aniso8601-7.0.0-py2.py3-none-any.whl", hash = "sha256:d10a4bf949f619f719b227ef5386e31f49a2b6d453004b21f02661ccc8670c7b"}, - {file = "aniso8601-7.0.0.tar.gz", hash = "sha256:513d2b6637b7853806ae79ffaca6f3e8754bdd547048f5ccc1420aec4b714f1e"}, -] -asgiref = [ - {file = "asgiref-3.6.0-py3-none-any.whl", hash = "sha256:71e68008da809b957b7ee4b43dbccff33d1b23519fb8344e33f049897077afac"}, - {file = "asgiref-3.6.0.tar.gz", hash = "sha256:9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506"}, -] -astroid = [ - {file = "astroid-2.11.7-py3-none-any.whl", hash = "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"}, - {file = "astroid-2.11.7.tar.gz", hash = "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946"}, -] -async-timeout = [ - {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, - {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, -] -attrs = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, -] -bandit = [ - {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, - {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, -] -bcrypt = [ - {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, - {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, - {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, - {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, -] -billiard = [ - {file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"}, - {file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"}, -] -black = [ - {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, - {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, - {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, - {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, - {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, - {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, - {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, - {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, - {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, - {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, - {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, - {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, - {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, - {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, -] -cached-property = [ - {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"}, - {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"}, -] -celery = [ - {file = "celery-5.2.7-py3-none-any.whl", hash = "sha256:138420c020cd58d6707e6257b6beda91fd39af7afde5d36c6334d175302c0e14"}, - {file = "celery-5.2.7.tar.gz", hash = "sha256:fafbd82934d30f8a004f81e8f7a062e31413a23d444be8ee3326553915958c6d"}, -] -certifi = [ - {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, - {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, -] -cffi = [ - {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"}, -] -charset-normalizer = [ - {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, - {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, -] -click = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, -] -click-didyoumean = [ - {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"}, - {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"}, -] -click-plugins = [ - {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, - {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, -] -click-repl = [ - {file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"}, - {file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"}, -] -colorama = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] -coreapi = [ - {file = "coreapi-2.3.3-py2.py3-none-any.whl", hash = "sha256:bf39d118d6d3e171f10df9ede5666f63ad80bba9a29a8ec17726a66cf52ee6f3"}, - {file = "coreapi-2.3.3.tar.gz", hash = "sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb"}, -] -coreschema = [ - {file = "coreschema-0.0.4-py2-none-any.whl", hash = "sha256:5e6ef7bf38c1525d5e55a895934ab4273548629f16aed5c0a6caa74ebf45551f"}, - {file = "coreschema-0.0.4.tar.gz", hash = "sha256:9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607"}, -] -cryptography = [ - {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b"}, - {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b"}, - {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"}, - {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c"}, - {file = "cryptography-40.0.2-cp36-abi3-win32.whl", hash = "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9"}, - {file = "cryptography-40.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404"}, - {file = "cryptography-40.0.2.tar.gz", hash = "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99"}, -] -cycler = [ - {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, - {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, -] -deepdiff = [ - {file = "deepdiff-6.3.0-py3-none-any.whl", hash = "sha256:15838bd1cbd046ce15ed0c41e837cd04aff6b3e169c5e06fca69d7aa11615ceb"}, - {file = "deepdiff-6.3.0.tar.gz", hash = "sha256:6a3bf1e7228ac5c71ca2ec43505ca0a743ff54ec77aa08d7db22de6bc7b2b644"}, -] -defusedxml = [ - {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, - {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, -] -dill = [ - {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, - {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, -] -django = [ - {file = "Django-3.2.19-py3-none-any.whl", hash = "sha256:21cc991466245d659ab79cb01204f9515690f8dae00e5eabde307f14d24d4d7d"}, - {file = "Django-3.2.19.tar.gz", hash = "sha256:031365bae96814da19c10706218c44dff3b654cc4de20a98bd2d29b9bde469f0"}, -] -django-ajax-tables = [ - {file = "django_ajax_tables-1.1.1-py3-none-any.whl", hash = "sha256:62e0138949153c0a994eefbf469f5496b1ad98bc073e170bc021a1aada7a32d0"}, - {file = "django_ajax_tables-1.1.1.tar.gz", hash = "sha256:5a7e7bc7940aa6332a564916cde22010a858a3d29fc1090ce8061010ec76337c"}, -] -django-appconf = [ - {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"}, - {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"}, -] -django-cacheops = [ - {file = "django-cacheops-6.0.tar.gz", hash = "sha256:78e161ebd96a32e28e19ec7da31f2afed9e62a79726b8b5f0ed12dd16c2e5841"}, - {file = "django_cacheops-6.0-py2.py3-none-any.whl", hash = "sha256:ee38b969c9fc68f7c88e769b6c811e19563cca1ae08210d9f553ff758b6c3e17"}, -] -django-celery-beat = [ - {file = "django-celery-beat-2.2.1.tar.gz", hash = "sha256:97ae5eb309541551bdb07bf60cc57cadacf42a74287560ced2d2c06298620234"}, - {file = "django_celery_beat-2.2.1-py2.py3-none-any.whl", hash = "sha256:ab43049634fd18dc037927d7c2c7d5f67f95283a20ebbda55f42f8606412e66c"}, -] -django-constance = [ - {file = "django-constance-2.9.1.tar.gz", hash = "sha256:4c6a96a5f2cbce1bc3fa41aa20566b6ee26fbd896c9f91f996518a3a0904f6c8"}, - {file = "django_constance-2.9.1-py3-none-any.whl", hash = "sha256:bf0b392efa18a1f3f464eddb7eb36ac5c02598354a5e31d0d4ce4fc8b535694b"}, -] -django-cors-headers = [ - {file = "django-cors-headers-3.13.0.tar.gz", hash = "sha256:f9dc6b4e3f611c3199700b3e5f3398c28757dcd559c2f82932687f3d0443cfdf"}, - {file = "django_cors_headers-3.13.0-py3-none-any.whl", hash = "sha256:37e42883b5f1f2295df6b4bba96eb2417a14a03270cb24b2a07f021cd4487cf4"}, -] -django-cryptography = [ - {file = "django-cryptography-1.0.tar.gz", hash = "sha256:13de5cf8f1250744c104b9e24774d03aa6d8488959dd40cdc016934043652445"}, - {file = "django_cryptography-1.0-py3-none-any.whl", hash = "sha256:0a99980b1cee7cc5e52f9b20b322620fea7cc124d770273e7bd285b20fd9d222"}, -] -django-db-file-storage = [ - {file = "django-db-file-storage-0.5.5.tar.gz", hash = "sha256:5d5da694b78ab202accab4508b958e0e37b3d146310e76f6f6125e1bdeaaad14"}, -] -django-debug-toolbar = [ - {file = "django_debug_toolbar-3.8.1-py3-none-any.whl", hash = "sha256:879f8a4672d41621c06a4d322dcffa630fc4df056cada6e417ed01db0e5e0478"}, - {file = "django_debug_toolbar-3.8.1.tar.gz", hash = "sha256:24ef1a7d44d25e60d7951e378454c6509bf536dce7e7d9d36e7c387db499bc27"}, -] -django-extensions = [ - {file = "django-extensions-3.2.1.tar.gz", hash = "sha256:2a4f4d757be2563cd1ff7cfdf2e57468f5f931cc88b23cf82ca75717aae504a4"}, - {file = "django_extensions-3.2.1-py3-none-any.whl", hash = "sha256:421464be390289513f86cb5e18eb43e5dc1de8b4c27ba9faa3b91261b0d67e09"}, -] -django-filter = [ - {file = "django-filter-21.1.tar.gz", hash = "sha256:632a251fa8f1aadb4b8cceff932bb52fe2f826dd7dfe7f3eac40e5c463d6836e"}, - {file = "django_filter-21.1-py3-none-any.whl", hash = "sha256:f4a6737a30104c98d2e2a5fb93043f36dd7978e0c7ddc92f5998e85433ea5063"}, -] -django-health-check = [ - {file = "django-health-check-3.16.5.tar.gz", hash = "sha256:1edfd49293ccebbce29f9da609c407f307aee240ab799ab4201031341ae78c0f"}, - {file = "django_health_check-3.16.5-py2.py3-none-any.whl", hash = "sha256:8d66781a0ea82b1a8b44878187b38a27370e94f18287312e39be0593e72d8983"}, -] -django-jinja = [ - {file = "django-jinja-2.10.2.tar.gz", hash = "sha256:bfdfbb55c1f5a679d69ad575d550c4707d386634009152efe014089f3c4d1412"}, - {file = "django_jinja-2.10.2-py3-none-any.whl", hash = "sha256:dd003ec1c95c0989eb28a538831bced62b1b61da551cb44a5dfd708fcf75589f"}, -] -django-js-asset = [ - {file = "django_js_asset-2.0.0-py3-none-any.whl", hash = "sha256:86f9f300d682537ddaf0487dc2ab356581b8f50c069bdba91d334a46e449f923"}, - {file = "django_js_asset-2.0.0.tar.gz", hash = "sha256:adc1ee1efa853fad42054b540c02205344bb406c9bddf87c9e5377a41b7db90f"}, -] -django-mptt = [ - {file = "django-mptt-0.14.0.tar.gz", hash = "sha256:2c92a2b1614c53086278795ccf50580cf1f9b8564f3ff03055dd62bab5987711"}, - {file = "django_mptt-0.14.0-py3-none-any.whl", hash = "sha256:d9a87433ab0e4f35247c6f6d5a93ace6990860a4ba8796f815d185f773b9acfc"}, -] -django-picklefield = [ - {file = "django-picklefield-3.1.tar.gz", hash = "sha256:c786cbeda78d6def2b43bff4840d19787809c8909f7ad683961703060398d356"}, - {file = "django_picklefield-3.1-py3-none-any.whl", hash = "sha256:d77c504df7311e8ec14e8b779f10ca6fec74de6c7f8e2c136e1ef60cf955125d"}, -] -django-pivot = [ - {file = "django-pivot-1.9.0.tar.gz", hash = "sha256:5e985d32d9ff2a6b89419dd0292c0fa2822d494ee479b5fd16cdb542abf66a88"}, - {file = "django_pivot-1.9.0-py3-none-any.whl", hash = "sha256:1c60e18e7d5f7e42856faee0961748082ddd05b01ae7c8a4baed64d2bbacd051"}, -] -django-prometheus = [ - {file = "django-prometheus-2.2.0.tar.gz", hash = "sha256:240378a1307c408bd5fc85614a3a57f1ce633d4a222c9e291e2bbf325173b801"}, - {file = "django_prometheus-2.2.0-py2.py3-none-any.whl", hash = "sha256:e6616770d8820b8834762764bf1b76ec08e1b98e72a6f359d488a2e15fe3537c"}, -] -django-redis = [ - {file = "django-redis-5.2.0.tar.gz", hash = "sha256:8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de"}, - {file = "django_redis-5.2.0-py3-none-any.whl", hash = "sha256:1d037dc02b11ad7aa11f655d26dac3fb1af32630f61ef4428860a2e29ff92026"}, -] -django-rq = [ - {file = "django-rq-2.5.1.tar.gz", hash = "sha256:f08486602664d73a6e335872c868d79663e380247e6307496d01b8fa770fefd8"}, - {file = "django_rq-2.5.1-py2.py3-none-any.whl", hash = "sha256:7be1e10e7091555f9f36edf100b0dbb205ea2b98683d74443d2bdf3c6649a03f"}, -] -django-tables2 = [ - {file = "django-tables2-2.4.1.tar.gz", hash = "sha256:6c72dd208358539e789e4c0efd7d151e43283a4aa4093a35f44c43489e7ddeaa"}, - {file = "django_tables2-2.4.1-py2.py3-none-any.whl", hash = "sha256:50762bf3d7c61a4eb70e763c3e278650d7266bb78d0497fc8fafcf4e507c9a64"}, -] -django-taggit = [ - {file = "django-taggit-3.0.0.tar.gz", hash = "sha256:e645b8e3dd4f85989d5ef5c5a3d5ebbe5badf5d1e51b53e42d0af726240b00b9"}, - {file = "django_taggit-3.0.0-py3-none-any.whl", hash = "sha256:ca2df20399a11321db75988404afb640a08eff61e52bde35f6c16f307004ec9e"}, -] -django-timezone-field = [ - {file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"}, - {file = "django_timezone_field-4.1.2-py3-none-any.whl", hash = "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36"}, -] -django-tree-queries = [ - {file = "django_tree_queries-0.11.0-py3-none-any.whl", hash = "sha256:d74fe9e36dc67cb2c6f7df1969ef700627b0c49af2ada15990dd3ae44e4ddb23"}, - {file = "django_tree_queries-0.11.0.tar.gz", hash = "sha256:768bc75fd5ab617e19bec5c7e207964d7f2f6155f5f3d8c3332b41d9d0e6b436"}, -] -django-webserver = [ - {file = "django-webserver-1.2.0.tar.gz", hash = "sha256:c976979d15b5ff9a212f7904d3b779e22219aebb4857860fcaf20e4e40f1da40"}, - {file = "django_webserver-1.2.0-py2.py3-none-any.whl", hash = "sha256:09200631f266484b9e944e38e92681d6e9aa7d90d089a5c86d5fb08fddad84fe"}, -] -djangorestframework = [ - {file = "djangorestframework-3.14.0-py3-none-any.whl", hash = "sha256:eb63f58c9f218e1a7d064d17a70751f528ed4e1d35547fdade9aaf4cd103fd08"}, - {file = "djangorestframework-3.14.0.tar.gz", hash = "sha256:579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8"}, -] -drf-spectacular = [ - {file = "drf-spectacular-0.24.2.tar.gz", hash = "sha256:be32417594080a52f996afd83fd47ea9c2b83cbf13f6d3fbf3de809a0dfa7ead"}, - {file = "drf_spectacular-0.24.2-py3-none-any.whl", hash = "sha256:b276e6f7bda6dfb911e742dab87c6e97bc67da2dafe82d6fd8df7cec6c8b03ec"}, -] -drf-spectacular-sidecar = [ - {file = "drf-spectacular-sidecar-2023.5.1.tar.gz", hash = "sha256:58358215fee6c4634d77335d4c341b8132dc0847b282fb2fe4b22530dc2a56ca"}, - {file = "drf_spectacular_sidecar-2023.5.1-py3-none-any.whl", hash = "sha256:10ab069a3475f763acbae76414ee80fc67a42c00394918777996bbfa9239f155"}, -] -drf-yasg = [ - {file = "drf-yasg-1.21.5.tar.gz", hash = "sha256:ceef0c3b5dc4389781afd786e6dc3697af2a2fe0d8724ee1f637c23d75bbc5b2"}, - {file = "drf_yasg-1.21.5-py3-none-any.whl", hash = "sha256:ba9cf4bf79f259290daee9b400fa4fcdb0e78d2f043fa5e9f6589c939fd06d05"}, -] -flake8 = [ - {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, - {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, -] -fonttools = [ - {file = "fonttools-4.38.0-py3-none-any.whl", hash = "sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb"}, - {file = "fonttools-4.38.0.zip", hash = "sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1"}, -] -funcy = [ - {file = "funcy-1.18-py2.py3-none-any.whl", hash = "sha256:00ce91afc850357a131dc54f0db2ad8a1110d5087f1fa4480d7ea3ba0249f89d"}, - {file = "funcy-1.18.tar.gz", hash = "sha256:15448d19a8ebcc7a585afe7a384a19186d0bd67cbf56fb42cd1fd0f76313f9b2"}, -] -future = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, -] -ghp-import = [ - {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, - {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, -] -gitdb = [ - {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, - {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, -] -gitpython = [ - {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, - {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, -] -graphene = [ - {file = "graphene-2.1.9-py2.py3-none-any.whl", hash = "sha256:3d446eb1237c551052bc31155cf1a3a607053e4f58c9172b83a1b597beaa0868"}, - {file = "graphene-2.1.9.tar.gz", hash = "sha256:b9f2850e064eebfee9a3ef4a1f8aa0742848d97652173ab44c82cc8a62b9ed93"}, -] -graphene-django = [ - {file = "graphene-django-2.15.0.tar.gz", hash = "sha256:b78c9b05bc899016b9cc5bf13faa1f37fe1faa8c5407552c6ddd1a28f46fc31a"}, - {file = "graphene_django-2.15.0-py2.py3-none-any.whl", hash = "sha256:02671d195f0c09c8649acff2a8f4ad4f297d0f7d98ea6e6cdf034b81bab92880"}, -] -graphene-django-optimizer = [ - {file = "graphene-django-optimizer-0.8.0.tar.gz", hash = "sha256:79269880d59d0a35d41751ddcb419220c4ad3871960416371119f447cb2e1a77"}, -] -graphql-core = [ - {file = "graphql-core-2.3.2.tar.gz", hash = "sha256:aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746"}, - {file = "graphql_core-2.3.2-py2.py3-none-any.whl", hash = "sha256:44c9bac4514e5e30c5a595fac8e3c76c1975cae14db215e8174c7fe995825bad"}, -] -graphql-relay = [ - {file = "graphql-relay-2.0.1.tar.gz", hash = "sha256:870b6b5304123a38a0b215a79eace021acce5a466bf40cd39fa18cb8528afabb"}, - {file = "graphql_relay-2.0.1-py3-none-any.whl", hash = "sha256:ac514cb86db9a43014d7e73511d521137ac12cf0101b2eaa5f0a3da2e10d913d"}, -] -griffe = [ - {file = "griffe-0.27.2-py3-none-any.whl", hash = "sha256:8d6bc40e7bede3fb5879598c1f71b8902d245804ab59ae55516f864b2bdc25c6"}, - {file = "griffe-0.27.2.tar.gz", hash = "sha256:833990074c8c0b323a55f37f72265fdd841cb0a756122303505bf4bc80800e82"}, -] -idna = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, -] -importlib-metadata = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, -] -importlib-resources = [ - {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, - {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, -] -inflection = [ - {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, - {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, -] -invoke = [ - {file = "invoke-2.1.1-py3-none-any.whl", hash = "sha256:e86a53046eca453d3e609e7017f65db5f66b947d4d337b60658859eb8c8a80e3"}, - {file = "invoke-2.1.1.tar.gz", hash = "sha256:7dcf054c4626b89713da650635c29e9dfeb8a1dd0a14edc60bd3e16f751292ff"}, -] -isort = [ - {file = "isort-5.11.5-py3-none-any.whl", hash = "sha256:ba1d72fb2595a01c7895a5128f9585a5cc4b6d395f1c8d514989b9a7eb2a8746"}, - {file = "isort-5.11.5.tar.gz", hash = "sha256:6be1f76a507cb2ecf16c7cf14a37e41609ca082330be4e3436a18ef74add55db"}, -] -itypes = [ - {file = "itypes-1.2.0-py2.py3-none-any.whl", hash = "sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6"}, - {file = "itypes-1.2.0.tar.gz", hash = "sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1"}, -] -jinja2 = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, -] -jsonschema = [ - {file = "jsonschema-4.7.2-py3-none-any.whl", hash = "sha256:c7448a421b25e424fccfceea86b4e3a8672b4436e1988ccbde92c80828d4f085"}, - {file = "jsonschema-4.7.2.tar.gz", hash = "sha256:73764f461d61eb97a057c929368610a134d1d1fffd858acfe88864ee94f1f1d3"}, -] -junos-eznc = [ - {file = "junos-eznc-2.6.7.tar.gz", hash = "sha256:b3ab81dafb160cd16cba8f26b92b6f5c3333a8d30566a7ebd966fc1f313b0980"}, - {file = "junos_eznc-2.6.7-py2.py3-none-any.whl", hash = "sha256:6ee9d74228ebaca01381eb88dbe21765006d76935960fd4e6cd8d67248b11644"}, -] -kiwisolver = [ +files = [ {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"}, {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"}, {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"}, @@ -3062,11 +1678,52 @@ kiwisolver = [ {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"}, {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"}, ] -kombu = [ + +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[[package]] +name = "kombu" +version = "5.2.4" +description = "Messaging library for Python." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "kombu-5.2.4-py3-none-any.whl", hash = "sha256:8b213b24293d3417bcf0d2f5537b7f756079e3ea232a8386dcc89a59fd2361a4"}, {file = "kombu-5.2.4.tar.gz", hash = "sha256:37cee3ee725f94ea8bb173eaab7c1760203ea53bbebae226328600f9d2799610"}, ] -lazy-object-proxy = [ + +[package.dependencies] +amqp = ">=5.0.9,<6.0.0" +cached-property = {version = "*", markers = "python_version < \"3.8\""} +importlib-metadata = {version = ">=0.18", markers = "python_version < \"3.8\""} +vine = "*" + +[package.extras] +azureservicebus = ["azure-servicebus (>=7.0.0)"] +azurestoragequeues = ["azure-storage-queue"] +consul = ["python-consul (>=0.6.0)"] +librabbitmq = ["librabbitmq (>=2.0.0)"] +mongodb = ["pymongo (>=3.3.0,<3.12.1)"] +msgpack = ["msgpack"] +pyro = ["pyro4"] +qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] +redis = ["redis (>=3.4.1,!=4.0.0,!=4.0.1)"] +slmq = ["softlayer-messaging (>=1.0.3)"] +sqlalchemy = ["sqlalchemy"] +sqs = ["boto3 (>=1.9.12)", "pycurl (>=7.44.1,<7.45.0)", "urllib3 (>=1.26.7)"] +yaml = ["PyYAML (>=3.10)"] +zookeeper = ["kazoo (>=1.3.1)"] + +[[package]] +name = "lazy-object-proxy" +version = "1.9.0" +description = "A fast and thorough lazy object proxy." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, @@ -3104,7 +1761,15 @@ lazy-object-proxy = [ {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, ] -lxml = [ + +[[package]] +name = "lxml" +version = "4.9.2" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" +files = [ {file = "lxml-4.9.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:76cf573e5a365e790396a5cc2b909812633409306c6531a6877c59061e42c4f2"}, {file = "lxml-4.9.2-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b1f42b6921d0e81b1bcb5e395bc091a70f41c4d4e55ba99c6da2b31626c44892"}, {file = "lxml-4.9.2-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9f102706d0ca011de571de32c3247c6476b55bb6bc65a20f682f000b07a4852a"}, @@ -3183,15 +1848,65 @@ lxml = [ {file = "lxml-4.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7b515674acfdcadb0eb5d00d8a709868173acece5cb0be3dd165950cbfdf5409"}, {file = "lxml-4.9.2.tar.gz", hash = "sha256:2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67"}, ] -markdown = [ + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=0.29.7)"] + +[[package]] +name = "markdown" +version = "3.3.7" +description = "Python implementation of Markdown." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, ] -markdown-it-py = [ + +[package.dependencies] +importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} + +[package.extras] +testing = ["coverage", "pyyaml"] + +[[package]] +name = "markdown-it-py" +version = "2.2.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, ] -markupsafe = [ + +[package.dependencies] +mdurl = ">=0.1,<1.0" +typing_extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "2.1.2" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, @@ -3243,7 +1958,15 @@ markupsafe = [ {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, ] -matplotlib = [ + +[[package]] +name = "matplotlib" +version = "3.5.3" +description = "Python plotting package" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "matplotlib-3.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a206a1b762b39398efea838f528b3a6d60cdb26fe9d58b48265787e29cd1d693"}, {file = "matplotlib-3.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd45a6f3e93a780185f70f05cf2a383daed13c3489233faad83e81720f7ede24"}, {file = "matplotlib-3.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d62880e1f60e5a30a2a8484432bcb3a5056969dc97258d7326ad465feb7ae069"}, @@ -3280,105 +2003,503 @@ matplotlib = [ {file = "matplotlib-3.5.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d2484b350bf3d32cae43f85dcfc89b3ed7bd2bcd781ef351f93eb6fb2cc483f9"}, {file = "matplotlib-3.5.3.tar.gz", hash = "sha256:339cac48b80ddbc8bfd05daae0a3a73414651a8596904c2a881cfd1edb65f26c"}, ] -mccabe = [ + +[package.dependencies] +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.0.1" +numpy = ">=1.17" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.2.1" +python-dateutil = ">=2.7" + +[[package]] +name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = "*" +files = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, ] -mdurl = [ + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] -mergedeep = [ + +[[package]] +name = "mergedeep" +version = "1.3.4" +description = "A deep merge function for 🐍." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, ] -mkdocs = [ + +[[package]] +name = "mkdocs" +version = "1.3.1" +description = "Project documentation with Markdown." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ {file = "mkdocs-1.3.1-py3-none-any.whl", hash = "sha256:fda92466393127d2da830bc6edc3a625a14b436316d1caf347690648e774c4f0"}, {file = "mkdocs-1.3.1.tar.gz", hash = "sha256:a41a2ff25ce3bbacc953f9844ba07d106233cd76c88bac1f59cb1564ac0d87ed"}, ] -mkdocs-autorefs = [ + +[package.dependencies] +click = ">=3.3" +ghp-import = ">=1.0" +importlib-metadata = ">=4.3" +Jinja2 = ">=2.10.2" +Markdown = ">=3.2.1,<3.4" +mergedeep = ">=1.3.4" +packaging = ">=20.5" +PyYAML = ">=3.10" +pyyaml-env-tag = ">=0.1" +watchdog = ">=2.0" + +[package.extras] +i18n = ["babel (>=2.9.0)"] + +[[package]] +name = "mkdocs-autorefs" +version = "0.4.1" +description = "Automatically link across pages in MkDocs." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "mkdocs-autorefs-0.4.1.tar.gz", hash = "sha256:70748a7bd025f9ecd6d6feeba8ba63f8e891a1af55f48e366d6d6e78493aba84"}, {file = "mkdocs_autorefs-0.4.1-py3-none-any.whl", hash = "sha256:a2248a9501b29dc0cc8ba4c09f4f47ff121945f6ce33d760f145d6f89d313f5b"}, ] -mkdocs-material = [ + +[package.dependencies] +Markdown = ">=3.3" +mkdocs = ">=1.1" + +[[package]] +name = "mkdocs-material" +version = "8.4.2" +description = "Documentation that simply works" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "mkdocs-material-8.4.2.tar.gz", hash = "sha256:704c64c3fff126a3923c2961d95f26b19be621342a6a4e49ed039f0bb7a5c540"}, {file = "mkdocs_material-8.4.2-py2.py3-none-any.whl", hash = "sha256:166287bb0e4197804906bf0389a852d5ced43182c30127ac8b48a4e497ecd7e5"}, ] -mkdocs-material-extensions = [ + +[package.dependencies] +jinja2 = ">=3.0.2" +markdown = ">=3.2" +mkdocs = ">=1.3.0" +mkdocs-material-extensions = ">=1.0.3" +pygments = ">=2.12" +pymdown-extensions = ">=9.4" + +[[package]] +name = "mkdocs-material-extensions" +version = "1.1.1" +description = "Extension pack for Python Markdown and MkDocs Material." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "mkdocs_material_extensions-1.1.1-py3-none-any.whl", hash = "sha256:e41d9f38e4798b6617ad98ca8f7f1157b1e4385ac1459ca1e4ea219b556df945"}, {file = "mkdocs_material_extensions-1.1.1.tar.gz", hash = "sha256:9c003da71e2cc2493d910237448c672e00cefc800d3d6ae93d2fc69979e3bd93"}, ] -mkdocs-version-annotations = [ + +[[package]] +name = "mkdocs-version-annotations" +version = "1.0.0" +description = "MkDocs plugin to add custom admonitions for documenting version differences" +category = "dev" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "mkdocs-version-annotations-1.0.0.tar.gz", hash = "sha256:6786024b37d27b330fda240b76ebec8e7ce48bd5a9d7a66e99804559d088dffa"}, {file = "mkdocs_version_annotations-1.0.0-py3-none-any.whl", hash = "sha256:385004eb4a7530dd87a227e08cd907ce7a8fe21fdf297720a4149c511bcf05f5"}, ] -mkdocstrings = [ + +[[package]] +name = "mkdocstrings" +version = "0.19.0" +description = "Automatic documentation from sources, for MkDocs." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "mkdocstrings-0.19.0-py3-none-any.whl", hash = "sha256:3217d510d385c961f69385a670b2677e68e07b5fea4a504d86bf54c006c87c7d"}, {file = "mkdocstrings-0.19.0.tar.gz", hash = "sha256:efa34a67bad11229d532d89f6836a8a215937548623b64f3698a1df62e01cc3e"}, ] -mkdocstrings-python = [ + +[package.dependencies] +Jinja2 = ">=2.11.1" +Markdown = ">=3.3" +MarkupSafe = ">=1.1" +mkdocs = ">=1.2" +mkdocs-autorefs = ">=0.3.1" +pymdown-extensions = ">=6.3" + +[package.extras] +crystal = ["mkdocstrings-crystal (>=0.3.4)"] +python = ["mkdocstrings-python (>=0.5.2)"] +python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] + +[[package]] +name = "mkdocstrings-python" +version = "0.7.1" +description = "A Python handler for mkdocstrings." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "mkdocstrings-python-0.7.1.tar.gz", hash = "sha256:c334b382dca202dfa37071c182418a6df5818356a95d54362a2b24822ca3af71"}, {file = "mkdocstrings_python-0.7.1-py3-none-any.whl", hash = "sha256:a22060bfa374697678e9af4e62b020d990dad2711c98f7a9fac5c0345bef93c7"}, ] -mypy-extensions = [ + +[package.dependencies] +griffe = ">=0.11.1" +mkdocstrings = ">=0.19" + +[[package]] +name = "mypy-extensions" +version = "0.4.4" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "main" +optional = false +python-versions = ">=2.7" +files = [ {file = "mypy_extensions-0.4.4.tar.gz", hash = "sha256:c8b707883a96efe9b4bb3aaf0dcc07e7e217d7d8368eec4db4049ee9e142f4fd"}, ] -napalm = [ + +[[package]] +name = "napalm" +version = "4.0.0" +description = "Network Automation and Programmability Abstraction Layer with Multivendor support" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "napalm-4.0.0-py2.py3-none-any.whl", hash = "sha256:e4289f6966974b485c1f3de3e8f4a11ac2ed2825e975bbd5afc006331b1e4c36"}, {file = "napalm-4.0.0.tar.gz", hash = "sha256:40e1bd297ac4102c14c0d427c51d61c3a12d5d5bec163750733941ad82a464ee"}, ] -nautobot = [ + +[package.dependencies] +cffi = ">=1.11.3" +future = "*" +jinja2 = "*" +junos-eznc = ">=2.6.3" +lxml = ">=4.3.0" +ncclient = "*" +netaddr = "*" +netmiko = ">=4.0.0" +netutils = ">=1.0.0" +paramiko = ">=2.6.0" +pyeapi = ">=0.8.2" +pyYAML = "*" +requests = ">=2.7.0" +scp = "*" +setuptools = ">=38.4.0" +textfsm = "<=1.1.2" +ttp = "*" +ttp-templates = "*" +typing-extensions = ">=4.3.0" + +[[package]] +name = "nautobot" +version = "1.5.16" +description = "Source of truth and network automation platform." +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "nautobot-1.5.16-py3-none-any.whl", hash = "sha256:9ca3c5e277377155549ffe5a3c2b886ee148c1639fced438eb4f08ba8f7bcec1"}, {file = "nautobot-1.5.16.tar.gz", hash = "sha256:36b73ffc8b63c2e2667cbc40b05137fd9291335d652adb088c364f546add9adf"}, ] -nautobot-plugin-nornir = [ + +[package.dependencies] +celery = ">=5.2.7,<5.3.0" +Django = ">=3.2.18,<3.3.0" +django-ajax-tables = ">=1.1.1,<1.2.0" +django-cacheops = ">=6.0,<6.1" +django-celery-beat = ">=2.2.1,<2.3.0" +django-constance = {version = ">=2.9.0,<2.10.0", extras = ["database"]} +django-cors-headers = ">=3.13.0,<3.14.0" +django-cryptography = ">=1.0,<1.1" +django-db-file-storage = ">=0.5.5,<0.6.0" +django-extensions = ">=3.2.0,<3.3.0" +django-filter = ">=21.1,<21.2" +django-health-check = ">=3.16.5,<3.17.0" +django-jinja = ">=2.10.2,<2.11.0" +django-mptt = ">=0.14.0,<0.15.0" +django-prometheus = ">=2.2.0,<2.3.0" +django-redis = ">=5.2.0,<5.3.0" +django-rq = ">=2.5.1,<2.6.0" +django-tables2 = ">=2.4.1,<2.5.0" +django-taggit = ">=3.0.0,<3.1.0" +django-timezone-field = ">=4.1.2,<4.2.0" +django-tree-queries = ">=0.11,<0.12" +django-webserver = ">=1.2.0,<1.3.0" +djangorestframework = ">=3.14.0,<3.15.0" +drf-spectacular = {version = ">=0.24.2,<0.25.0", extras = ["sidecar"]} +drf-yasg = {version = ">=1.20.0,<2.0.0", extras = ["validation"]} +GitPython = ">=3.1.31,<3.2.0" +graphene-django = ">=2.15.0,<2.16.0" +graphene-django-optimizer = ">=0.8.0,<0.9.0" +importlib-metadata = {version = ">=4.4,<5.0", markers = "python_version < \"3.8\""} +Jinja2 = ">=3.1.0,<3.2.0" +jsonschema = ">=4.7.0,<4.8.0" +Markdown = ">=3.3.7,<3.4.0" +MarkupSafe = ">=2.1.1,<2.2.0" +netaddr = ">=0.8.0,<0.9.0" +netutils = ">=1.4.1,<2.0.0" +Pillow = ">=9.3.0,<9.4.0" +prometheus-client = ">=0.14.1,<0.15.0" +psycopg2-binary = ">=2.9.5,<2.10.0" +pycryptodome = ">=3.13.0,<3.14.0" +pyuwsgi = ">=2.0.21,<2.1.0" +PyYAML = ">=6.0,<6.1" +social-auth-app-django = ">=5.0.0,<5.1.0" +svgwrite = ">=1.4.2,<1.5.0" + +[package.extras] +all = ["django-auth-ldap (>=4.1.0,<4.2.0)", "django-storages (>=1.12.3,<1.13.0)", "mysqlclient (>=2.1.0,<2.2.0)", "napalm (>=3.4.1,<3.5.0)", "social-auth-core[openidconnect,saml] (>=4.3.0,<4.4.0)"] +ldap = ["django-auth-ldap (>=4.1.0,<4.2.0)"] +mysql = ["mysqlclient (>=2.1.0,<2.2.0)"] +napalm = ["napalm (>=3.4.1,<3.5.0)"] +remote-storage = ["django-storages (>=1.12.3,<1.13.0)"] +sso = ["social-auth-core[openidconnect,saml] (>=4.3.0,<4.4.0)"] + +[[package]] +name = "nautobot-plugin-nornir" +version = "1.0.0" +description = "Nautobot Nornir plugin." +category = "main" +optional = false +python-versions = ">=3.6,<4.0" +files = [ {file = "nautobot-plugin-nornir-1.0.0.tar.gz", hash = "sha256:d9301329decd7e4b9b5578c72e05c44ac84fc747002135b99538152a5ae27de3"}, {file = "nautobot_plugin_nornir-1.0.0-py3-none-any.whl", hash = "sha256:14e4098bf0a4d0d5ca3c550e75c6acf88502fb774791865488a9eaac5eff402e"}, ] -ncclient = [ + +[package.dependencies] +nautobot = ">=1.2.0" +netutils = ">=1.0.0" +nornir-nautobot = ">=2.2.0,<3.0.0" + +[[package]] +name = "ncclient" +version = "0.6.13" +description = "Python library for NETCONF clients" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ {file = "ncclient-0.6.13.tar.gz", hash = "sha256:f9f8cea8bcbe057e1b948b9cd1b241eafb8a3f73c4981fbdfa1cc6ed69c0a7b3"}, ] -netaddr = [ + +[package.dependencies] +lxml = ">=3.3.0" +paramiko = ">=1.15.0" +setuptools = ">0.6" +six = "*" + +[[package]] +name = "netaddr" +version = "0.8.0" +description = "A network address manipulation library for Python" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, ] -netmiko = [ + +[[package]] +name = "netmiko" +version = "4.1.2" +description = "Multi-vendor library to simplify legacy CLI connections to network devices" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "netmiko-4.1.2-py3-none-any.whl", hash = "sha256:ee1e88ecbd07f619b0bc1e90648f82a64a0adee5968c3068621bbdadbfec5c03"}, {file = "netmiko-4.1.2.tar.gz", hash = "sha256:f5ede2a28670d3dfd3470061468665f80f9b4906ed20e6b0fb4d9e1c9be67afc"}, ] -netutils = [ + +[package.dependencies] +ntc-templates = ">=2.0.0" +paramiko = ">=2.7.2" +pyserial = "*" +pyyaml = ">=5.3" +scp = ">=0.13.3" +setuptools = ">=38.4.0" +tenacity = "*" +textfsm = "1.1.2" + +[[package]] +name = "netutils" +version = "1.4.1" +description = "Common helper functions useful in network automation." +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "netutils-1.4.1-py3-none-any.whl", hash = "sha256:41002e42b205149fbe6739b7fdbc778ed843e87fabba9691d3d06a35f7876fd4"}, {file = "netutils-1.4.1.tar.gz", hash = "sha256:4f7501478d810bcd3c64edfe064fa8962a1572636f4fceee2538fc9d3616fbe2"}, ] -nornir = [ + +[package.extras] +optionals = ["napalm (>=4.0.0,<5.0.0)"] + +[[package]] +name = "nornir" +version = "3.3.0" +description = "Pluggable multi-threaded framework with inventory management to help operate collections of devices" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "nornir-3.3.0-py3-none-any.whl", hash = "sha256:4590d96edb5044e6a9e6f84e15625d32932177a10654040f99e145d73b352479"}, {file = "nornir-3.3.0.tar.gz", hash = "sha256:1c6fd283bcdff9972358b126703c0990e9076dff1dfdc211e3077d45ada937d5"}, ] -nornir-jinja2 = [ + +[package.dependencies] +importlib-metadata = {version = ">=4,<5", markers = "python_version < \"3.10\""} +mypy_extensions = ">=0.4.1,<0.5.0" +"ruamel.yaml" = ">=0.17" +typing_extensions = ">=4.1,<5.0" + +[package.extras] +docs = ["jupyter (>=1,<2)", "nbsphinx (>=0.8,<0.9)", "pygments (>=2,<3)", "sphinx (>=4,<5)", "sphinx-issues (>=3.0,<4.0)", "sphinx_rtd_theme (>=1.0,<2.0)", "sphinxcontrib-napoleon (>=0.7,<0.8)"] + +[[package]] +name = "nornir-jinja2" +version = "0.2.0" +description = "Jinja2 plugins for nornir" +category = "main" +optional = false +python-versions = ">=3.6,<4.0" +files = [ {file = "nornir_jinja2-0.2.0-py3-none-any.whl", hash = "sha256:0c446bec7a8492923d4eb9ca00fb327603b41bc35d5f0112843c048737b506b1"}, {file = "nornir_jinja2-0.2.0.tar.gz", hash = "sha256:9ee5e725fe5543dcba4ec8b976804e9e88ecd356ea3b62bad97578cea0de1f75"}, ] -nornir-napalm = [ + +[package.dependencies] +jinja2 = ">=2.11.2,<4" +nornir = ">=3,<4" + +[[package]] +name = "nornir-napalm" +version = "0.4.0" +description = "NAPALM's plugins for nornir" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "nornir_napalm-0.4.0-py3-none-any.whl", hash = "sha256:20a41499aecf9c4e41181b18a73b2ee3ab7763824645ac0eb80abb3973a5f17e"}, {file = "nornir_napalm-0.4.0.tar.gz", hash = "sha256:84e0711ccbdf24bdb228042ab530bf688d6b2b8f12c65fa3cb73499c6974a9de"}, ] -nornir-nautobot = [ + +[package.dependencies] +napalm = ">=4,<5" +nornir = ">=3,<4" + +[[package]] +name = "nornir-nautobot" +version = "2.3.0" +description = "Nornir Nautobot" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "nornir_nautobot-2.3.0-py3-none-any.whl", hash = "sha256:3f56d81840214a447d049548537540cc27c4539484b826ed3d2e5cc41c2b1031"}, {file = "nornir_nautobot-2.3.0.tar.gz", hash = "sha256:bfe4e9a3a7c3f66d88aad2864267cbe8b182b3328ee67777c9929fc415e06204"}, ] -nornir-netmiko = [ + +[package.dependencies] +netutils = ">=1,<2" +nornir = ">=3.0.0,<4.0.0" +nornir-jinja2 = ">=0,<1" +nornir-napalm = ">=0,<1" +nornir-netmiko = ">=0,<1" +nornir-utils = ">=0,<1" +pynautobot = ">=1.0.1,<2.0.0" +requests = ">=2.25.1,<3.0.0" + +[[package]] +name = "nornir-netmiko" +version = "0.2.0" +description = "Netmiko's plugins for Nornir" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "nornir_netmiko-0.2.0-py3-none-any.whl", hash = "sha256:6960e7ae0b0566a46750634ec7ab3b3a081e09afb554f593bc547bb9383d41b1"}, {file = "nornir_netmiko-0.2.0.tar.gz", hash = "sha256:78c93b11ef21a8dd55689b82e47149061ab653cc7fe641e43886c847d171f486"}, ] -nornir-utils = [ + +[package.dependencies] +netmiko = ">=4.0.0,<5.0.0" +textfsm = "1.1.2" + +[[package]] +name = "nornir-utils" +version = "0.2.0" +description = "Collection of plugins and functions for nornir that don't require external dependencies" +category = "main" +optional = false +python-versions = ">=3.6.2,<4.0.0" +files = [ {file = "nornir_utils-0.2.0-py3-none-any.whl", hash = "sha256:b4c430793a74f03affd5ff2d90abc8c67a28c7ff325f48e3a01a9a44ec71b844"}, {file = "nornir_utils-0.2.0.tar.gz", hash = "sha256:4de6aaa35e5c1a98e1c84db84a008b0b1e974dc65d88484f2dcea3e30c95fbc2"}, ] -ntc-templates = [ + +[package.dependencies] +colorama = ">=0.4.3,<0.5.0" +nornir = ">=3,<4" + +[[package]] +name = "ntc-templates" +version = "3.3.0" +description = "TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable." +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "ntc_templates-3.3.0-py3-none-any.whl", hash = "sha256:b0941824212ae50668cf9b882e848512d09487128a491909eab9afc30f808a85"}, {file = "ntc_templates-3.3.0.tar.gz", hash = "sha256:a74014431715c2029a2d0f065bca447312d55171cea191db1189689ea076b82d"}, ] -numpy = [ + +[package.dependencies] +textfsm = ">=1.1.0,<2.0.0" + +[[package]] +name = "numpy" +version = "1.21.1" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50"}, {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a"}, {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062"}, @@ -3408,31 +2529,105 @@ numpy = [ {file = "numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4"}, {file = "numpy-1.21.1.zip", hash = "sha256:dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd"}, ] -oauthlib = [ + +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, ] -ordered-set = [ + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "ordered-set" +version = "4.1.0" +description = "An OrderedSet is a custom MutableSet that remembers its order, so that every" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"}, {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"}, ] -packaging = [ + +[package.extras] +dev = ["black", "mypy", "pytest"] + +[[package]] +name = "packaging" +version = "23.1" +description = "Core utilities for Python packages" +category = "main" +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"}, ] -paramiko = [ + +[[package]] +name = "paramiko" +version = "3.1.0" +description = "SSH2 protocol library" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "paramiko-3.1.0-py3-none-any.whl", hash = "sha256:f0caa660e797d9cd10db6fc6ae81e2c9b2767af75c3180fcd0e46158cd368d7f"}, {file = "paramiko-3.1.0.tar.gz", hash = "sha256:6950faca6819acd3219d4ae694a23c7a87ee38d084f70c1724b0c0dbb8b75769"}, ] -pathspec = [ + +[package.dependencies] +bcrypt = ">=3.2" +cryptography = ">=3.3" +pynacl = ">=1.5" + +[package.extras] +all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +invoke = ["invoke (>=2.0)"] + +[[package]] +name = "pathspec" +version = "0.11.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, ] -pbr = [ + +[[package]] +name = "pbr" +version = "5.11.1" +description = "Python Build Reasonableness" +category = "dev" +optional = false +python-versions = ">=2.6" +files = [ {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, ] -pillow = [ + +[[package]] +name = "pillow" +version = "9.3.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "Pillow-9.3.0-1-cp37-cp37m-win32.whl", hash = "sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74"}, {file = "Pillow-9.3.0-1-cp37-cp37m-win_amd64.whl", hash = "sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa"}, {file = "Pillow-9.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2"}, @@ -3495,22 +2690,85 @@ pillow = [ {file = "Pillow-9.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8"}, {file = "Pillow-9.3.0.tar.gz", hash = "sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f"}, ] -platformdirs = [ + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "platformdirs" +version = "3.5.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "platformdirs-3.5.0-py3-none-any.whl", hash = "sha256:47692bc24c1958e8b0f13dd727307cff1db103fca36399f457da8e05f222fdc4"}, {file = "platformdirs-3.5.0.tar.gz", hash = "sha256:7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335"}, ] -prometheus-client = [ + +[package.dependencies] +typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} + +[package.extras] +docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] + +[[package]] +name = "prometheus-client" +version = "0.14.1" +description = "Python client for the Prometheus monitoring system." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "prometheus_client-0.14.1-py3-none-any.whl", hash = "sha256:522fded625282822a89e2773452f42df14b5a8e84a86433e3f8a189c1d54dc01"}, {file = "prometheus_client-0.14.1.tar.gz", hash = "sha256:5459c427624961076277fdc6dc50540e2bacb98eebde99886e59ec55ed92093a"}, ] -promise = [ + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "promise" +version = "2.3" +description = "Promises/A+ implementation for Python" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "promise-2.3.tar.gz", hash = "sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0"}, ] -prompt-toolkit = [ + +[package.dependencies] +six = "*" + +[package.extras] +test = ["coveralls", "futures", "mock", "pytest (>=2.7.3)", "pytest-benchmark", "pytest-cov"] + +[[package]] +name = "prompt-toolkit" +version = "3.0.38" +description = "Library for building powerful interactive command lines in Python" +category = "main" +optional = false +python-versions = ">=3.7.0" +files = [ {file = "prompt_toolkit-3.0.38-py3-none-any.whl", hash = "sha256:45ea77a2f7c60418850331366c81cf6b5b9cf4c7fd34616f733c5427e6abbb1f"}, {file = "prompt_toolkit-3.0.38.tar.gz", hash = "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b"}, ] -psycopg2-binary = [ + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "psycopg2-binary" +version = "2.9.6" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "psycopg2-binary-2.9.6.tar.gz", hash = "sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c"}, {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7"}, {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365"}, @@ -3574,15 +2832,39 @@ psycopg2-binary = [ {file = "psycopg2_binary-2.9.6-cp39-cp39-win32.whl", hash = "sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848"}, {file = "psycopg2_binary-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249"}, ] -pycodestyle = [ + +[[package]] +name = "pycodestyle" +version = "2.7.0" +description = "Python style guide checker" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, ] -pycparser = [ + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] -pycryptodome = [ + +[[package]] +name = "pycryptodome" +version = "3.13.0" +description = "Cryptographic library for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ {file = "pycryptodome-3.13.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:e468724173df02f9d83f3fea830bf0d04aa291b5add22b4a78e01c97aab04873"}, {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:1fb7a6f222072412f320b9e48d3ce981920efbfce37b06d028ec9bd94093b37f"}, {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:4f1b594d0cf35bd12ec4244df1155a7f565bf6e6245976ac36174c1564688c90"}, @@ -3614,42 +2896,173 @@ pycryptodome = [ {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:b3af53dddf848afb38b3ac2bae7159ddad1feb9bac14aa3acec6ef1797b82f8d"}, {file = "pycryptodome-3.13.0.tar.gz", hash = "sha256:95bacf9ff7d1b90bba537d3f5f6c834efe6bfbb1a0195cb3573f29e6716ef08d"}, ] -pydocstyle = [ + +[[package]] +name = "pydocstyle" +version = "6.3.0" +description = "Python docstring style checker" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, ] -pyeapi = [ + +[package.dependencies] +importlib-metadata = {version = ">=2.0.0,<5.0.0", markers = "python_version < \"3.8\""} +snowballstemmer = ">=2.2.0" + +[package.extras] +toml = ["tomli (>=1.2.3)"] + +[[package]] +name = "pyeapi" +version = "0.8.4" +description = "Python Client for eAPI" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "pyeapi-0.8.4.tar.gz", hash = "sha256:c33ad1eadd8ebac75f63488df9412081ce0b024c9e1da12a37196a5c60427c54"}, ] -pyflakes = [ + +[package.dependencies] +netaddr = "*" + +[package.extras] +dev = ["check-manifest", "pep8", "pyflakes", "twine"] +test = ["coverage", "mock"] + +[[package]] +name = "pyflakes" +version = "2.3.1" +description = "passive checker of Python programs" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, ] -pygments = [ + +[[package]] +name = "pygments" +version = "2.15.1" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"}, {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"}, ] -pyjwt = [ + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pyjwt" +version = "2.6.0" +description = "JSON Web Token implementation in Python" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "PyJWT-2.6.0-py3-none-any.whl", hash = "sha256:d83c3d892a77bbb74d3e1a2cfa90afaadb60945205d1095d9221f04466f64c14"}, {file = "PyJWT-2.6.0.tar.gz", hash = "sha256:69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd"}, ] -pylint = [ + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + +[[package]] +name = "pylint" +version = "2.13.9" +description = "python code static checker" +category = "dev" +optional = false +python-versions = ">=3.6.2" +files = [ {file = "pylint-2.13.9-py3-none-any.whl", hash = "sha256:705c620d388035bdd9ff8b44c5bcdd235bfb49d276d488dd2c8ff1736aa42526"}, {file = "pylint-2.13.9.tar.gz", hash = "sha256:095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"}, ] -pylint-django = [ + +[package.dependencies] +astroid = ">=2.11.5,<=2.12.0-dev0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +dill = ">=0.2" +isort = ">=4.2.5,<6" +mccabe = ">=0.6,<0.8" +platformdirs = ">=2.2.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +testutil = ["gitpython (>3)"] + +[[package]] +name = "pylint-django" +version = "2.5.3" +description = "A Pylint plugin to help Pylint understand the Django web framework" +category = "dev" +optional = false +python-versions = "*" +files = [ {file = "pylint-django-2.5.3.tar.gz", hash = "sha256:0ac090d106c62fe33782a1d01bda1610b761bb1c9bf5035ced9d5f23a13d8591"}, {file = "pylint_django-2.5.3-py3-none-any.whl", hash = "sha256:56b12b6adf56d548412445bd35483034394a1a94901c3f8571980a13882299d5"}, ] -pylint-plugin-utils = [ + +[package.dependencies] +pylint = ">=2.0,<3" +pylint-plugin-utils = ">=0.7" + +[package.extras] +for-tests = ["coverage", "django-tables2", "django-tastypie", "factory-boy", "pylint (>=2.13)", "pytest", "wheel"] +with-django = ["Django"] + +[[package]] +name = "pylint-plugin-utils" +version = "0.7" +description = "Utilities and helpers for writing Pylint plugins" +category = "dev" +optional = false +python-versions = ">=3.6.2" +files = [ {file = "pylint-plugin-utils-0.7.tar.gz", hash = "sha256:ce48bc0516ae9415dd5c752c940dfe601b18fe0f48aa249f2386adfa95a004dd"}, {file = "pylint_plugin_utils-0.7-py3-none-any.whl", hash = "sha256:b3d43e85ab74c4f48bb46ae4ce771e39c3a20f8b3d56982ab17aa73b4f98d535"}, ] -pymdown-extensions = [ + +[package.dependencies] +pylint = ">=1.7" + +[[package]] +name = "pymdown-extensions" +version = "9.11" +description = "Extension pack for Python Markdown." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "pymdown_extensions-9.11-py3-none-any.whl", hash = "sha256:a499191d8d869f30339de86fcf072a787e86c42b6f16f280f5c2cf174182b7f3"}, {file = "pymdown_extensions-9.11.tar.gz", hash = "sha256:f7e86c1d3981f23d9dc43294488ecb54abadd05b0be4bf8f0e15efc90f7853ff"}, ] -pynacl = [ + +[package.dependencies] +markdown = ">=3.2" +pyyaml = "*" + +[[package]] +name = "pynacl" +version = "1.5.0" +description = "Python binding to the Networking and Cryptography (NaCl) library" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, @@ -3661,15 +3074,52 @@ pynacl = [ {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, ] -pynautobot = [ + +[package.dependencies] +cffi = ">=1.4.1" + +[package.extras] +docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] + +[[package]] +name = "pynautobot" +version = "1.4.0" +description = "Nautobot API client library" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "pynautobot-1.4.0-py3-none-any.whl", hash = "sha256:6bc053b095728ed0af40d097a7513c3e16c51ec63aad46f691f50b3f6c82bdfe"}, {file = "pynautobot-1.4.0.tar.gz", hash = "sha256:87c93976248f99f2adc0e22d7a39e7f0aac3460451607078bfee93742742c9d4"}, ] -pyparsing = [ + +[package.dependencies] +requests = ">=2.20.0,<3.0.0" + +[[package]] +name = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "main" +optional = false +python-versions = ">=3.6.8" +files = [ {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] -pyrsistent = [ + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pyrsistent" +version = "0.19.3" +description = "Persistent/Functional/Immutable data structures" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"}, {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"}, {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"}, @@ -3698,27 +3148,95 @@ pyrsistent = [ {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"}, {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, ] -pyserial = [ + +[[package]] +name = "pyserial" +version = "3.5" +description = "Python Serial Port Extension" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"}, {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"}, ] -python-crontab = [ + +[package.extras] +cp2110 = ["hidapi"] + +[[package]] +name = "python-crontab" +version = "2.7.1" +description = "Python Crontab API" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "python-crontab-2.7.1.tar.gz", hash = "sha256:b21af4647c7bbb848fef2f020616c6b0289dcb9f94b4f991a55310ff9bec5749"}, {file = "python_crontab-2.7.1-py3-none-any.whl", hash = "sha256:9c374d1c9d401afdd8dd958f20077f74c158ab3fffb9604296802715e887fe48"}, ] -python-dateutil = [ + +[package.dependencies] +python-dateutil = "*" + +[package.extras] +cron-description = ["cron-descriptor"] +cron-schedule = ["croniter"] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +category = "main" +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"}, ] -python3-openid = [ + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python3-openid" +version = "3.2.0" +description = "OpenID support for modern servers and consumers." +category = "main" +optional = false +python-versions = "*" +files = [ {file = "python3-openid-3.2.0.tar.gz", hash = "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf"}, {file = "python3_openid-3.2.0-py3-none-any.whl", hash = "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b"}, ] -pytz = [ + +[package.dependencies] +defusedxml = "*" + +[package.extras] +mysql = ["mysql-connector-python"] +postgresql = ["psycopg2"] + +[[package]] +name = "pytz" +version = "2023.3" +description = "World timezone definitions, modern and historical" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, ] -pyuwsgi = [ + +[[package]] +name = "pyuwsgi" +version = "2.0.21" +description = "The uWSGI server" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "pyuwsgi-2.0.21-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10cce470f3db6e5206c3fb9d46b86c5c915dcb6616a617101411006463e833ea"}, {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e06b41ad50b8d3d5a46374af8c8ed9bcf2627ea97f5718ef2da693ab3425656"}, {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:977ce0f87e3f07571267b6572dcbe8b3d5d488cbc351d33c93ec6cce9737099a"}, @@ -3756,7 +3274,15 @@ pyuwsgi = [ {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92371cb638707574fe93127f9c270216d12751a96e6a624237820a089f846ef5"}, {file = "pyuwsgi-2.0.21.tar.gz", hash = "sha256:211e8877f5191e347ba905232d04ab30e05ce31ba7a6dac4bfcb48de9845bb52"}, ] -pyyaml = [ + +[[package]] +name = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, @@ -3798,35 +3324,147 @@ pyyaml = [ {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, ] -pyyaml-env-tag = [ + +[[package]] +name = "pyyaml-env-tag" +version = "0.1" +description = "A custom YAML tag for referencing environment variables in YAML files. " +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, ] -redis = [ + +[package.dependencies] +pyyaml = "*" + +[[package]] +name = "redis" +version = "4.5.4" +description = "Python client for Redis database and key-value store" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "redis-4.5.4-py3-none-any.whl", hash = "sha256:2c19e6767c474f2e85167909061d525ed65bea9301c0770bb151e041b7ac89a2"}, {file = "redis-4.5.4.tar.gz", hash = "sha256:73ec35da4da267d6847e47f68730fdd5f62e2ca69e3ef5885c6a78a9374c3893"}, ] -requests = [ + +[package.dependencies] +async-timeout = {version = ">=4.0.2", markers = "python_version <= \"3.11.2\""} +importlib-metadata = {version = ">=1.0", markers = "python_version < \"3.8\""} +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +hiredis = ["hiredis (>=1.0.0)"] +ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] + +[[package]] +name = "requests" +version = "2.29.0" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "requests-2.29.0-py3-none-any.whl", hash = "sha256:e8f3c9be120d3333921d213eef078af392fba3933ab7ed2d1cba3b56f2568c3b"}, {file = "requests-2.29.0.tar.gz", hash = "sha256:f2e34a75f4749019bb0e3effb66683630e4ffeaf75819fb51bebef1bf5aef059"}, ] -requests-oauthlib = [ + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "requests-oauthlib" +version = "1.3.1" +description = "OAuthlib authentication support for Requests." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, ] -rich = [ + +[package.dependencies] +oauthlib = ">=3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib[signedtoken] (>=3.0.0)"] + +[[package]] +name = "rich" +version = "13.3.5" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "dev" +optional = false +python-versions = ">=3.7.0" +files = [ {file = "rich-13.3.5-py3-none-any.whl", hash = "sha256:69cdf53799e63f38b95b9bf9c875f8c90e78dd62b2f00c13a911c7a3b9fa4704"}, {file = "rich-13.3.5.tar.gz", hash = "sha256:2d11b9b8dd03868f09b4fffadc84a6a8cda574e40dc90821bd845720ebb8e89c"}, ] -rq = [ + +[package.dependencies] +markdown-it-py = ">=2.2.0,<3.0.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "rq" +version = "1.14.0" +description = "RQ is a simple, lightweight, library for creating background jobs, and processing them." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "rq-1.14.0-py2.py3-none-any.whl", hash = "sha256:dc2c54f4f56e637b056f0ff5859c0e4b4baec657a08c57cee86ebe84bbf984ce"}, {file = "rq-1.14.0.tar.gz", hash = "sha256:caadcbd117d898e4fe3e97cf761e2d9c598a387195ee4da3e3d81000918abac3"}, ] -ruamel-yaml = [ + +[package.dependencies] +click = ">=5.0.0" +redis = ">=3.5.0" + +[[package]] +name = "ruamel-yaml" +version = "0.17.22" +description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" +category = "main" +optional = false +python-versions = ">=3" +files = [ {file = "ruamel.yaml-0.17.22-py3-none-any.whl", hash = "sha256:b4c6e66d103d8af198aa6139580ab735169be4922eb4c515ac121bdabf6f9361"}, {file = "ruamel.yaml-0.17.22.tar.gz", hash = "sha256:c22ec58aaca5105f771cb8f7ac45ad631b5e8b00454ebe1822d442fb696e9e62"}, ] -ruamel-yaml-clib = [ + +[package.dependencies] +"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} + +[package.extras] +docs = ["ryd"] +jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] + +[[package]] +name = "ruamel-yaml-clib" +version = "0.2.7" +description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, @@ -3835,6 +3473,9 @@ ruamel-yaml-clib = [ {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, @@ -3861,90 +3502,323 @@ ruamel-yaml-clib = [ {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, ] -rx = [ + +[[package]] +name = "rx" +version = "1.6.3" +description = "Reactive Extensions (Rx) for Python" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "Rx-1.6.3.tar.gz", hash = "sha256:ca71b65d0fc0603a3b5cfaa9e33f5ba81e4aae10a58491133595088d7734b2da"}, ] -scp = [ + +[[package]] +name = "scp" +version = "0.14.5" +description = "scp module for paramiko" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "scp-0.14.5-py2.py3-none-any.whl", hash = "sha256:d224535dd8ed00294f52b0e0e18fde7a6fb7a3d06b97ede9e3f750fa7bf75c09"}, {file = "scp-0.14.5.tar.gz", hash = "sha256:64f0015899b3d212cb8088e7d40ebaf0686889ff0e243d5c1242efe8b50f053e"}, ] -setuptools = [ + +[package.dependencies] +paramiko = "*" + +[[package]] +name = "setuptools" +version = "67.7.2" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "setuptools-67.7.2-py3-none-any.whl", hash = "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b"}, {file = "setuptools-67.7.2.tar.gz", hash = "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"}, ] -setuptools-scm = [ - {file = "setuptools_scm-6.4.2-py3-none-any.whl", hash = "sha256:acea13255093849de7ccb11af9e1fb8bde7067783450cee9ef7a93139bddf6d4"}, - {file = "setuptools_scm-6.4.2.tar.gz", hash = "sha256:6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30"}, -] -singledispatch = [ + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "singledispatch" +version = "4.0.0" +description = "Backport functools.singledispatch to older Pythons." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "singledispatch-4.0.0-py2.py3-none-any.whl", hash = "sha256:b8f69397a454b45b91e2f949fcc87896c53718ca59aab6367966e8b3f010ec77"}, {file = "singledispatch-4.0.0.tar.gz", hash = "sha256:f3c327a968651a7f4b03586eab7d90a07b05ff3ef7942d1967036eb9f75ab8fc"}, ] -six = [ + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] -smmap = [ + +[[package]] +name = "smmap" +version = "5.0.0" +description = "A pure Python implementation of a sliding window memory map manager" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, ] -snowballstemmer = [ + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "dev" +optional = false +python-versions = "*" +files = [ {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, ] -social-auth-app-django = [ + +[[package]] +name = "social-auth-app-django" +version = "5.0.0" +description = "Python Social Authentication, Django integration." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "social-auth-app-django-5.0.0.tar.gz", hash = "sha256:b6e3132ce087cdd6e1707aeb1b588be41d318408fcf6395435da0bc6fe9a9795"}, {file = "social_auth_app_django-5.0.0-py3-none-any.whl", hash = "sha256:52241a25445a010ab1c108bafff21fc5522d5c8cd0d48a92c39c7371824b065d"}, ] -social-auth-core = [ + +[package.dependencies] +social-auth-core = ">=4.1.0" + +[[package]] +name = "social-auth-core" +version = "4.4.2" +description = "Python social authentication made simple." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "social-auth-core-4.4.2.tar.gz", hash = "sha256:9791d7c7aee2ac8517fe7a2ea2f942a8a5492b3a4ccb44a9b0dacc87d182f2aa"}, {file = "social_auth_core-4.4.2-py3-none-any.whl", hash = "sha256:ea7a19c46b791b767e95f467881b53c5fd0d1efb40048d9ed3dbc46daa05c954"}, ] -sqlparse = [ + +[package.dependencies] +cryptography = ">=1.4" +defusedxml = ">=0.5.0rc1" +oauthlib = ">=1.0.3" +PyJWT = ">=2.0.0" +python3-openid = ">=3.0.10" +requests = ">=2.9.1" +requests-oauthlib = ">=0.6.1" + +[package.extras] +all = ["cryptography (>=2.1.1)", "python-jose (>=3.0.0)", "python3-saml (>=1.5.0)"] +allpy3 = ["cryptography (>=2.1.1)", "python-jose (>=3.0.0)", "python3-saml (>=1.5.0)"] +azuread = ["cryptography (>=2.1.1)"] +openidconnect = ["python-jose (>=3.0.0)"] +saml = ["python3-saml (>=1.5.0)"] + +[[package]] +name = "sqlparse" +version = "0.4.4" +description = "A non-validating SQL parser." +category = "main" +optional = false +python-versions = ">=3.5" +files = [ {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, ] -stevedore = [ + +[package.extras] +dev = ["build", "flake8"] +doc = ["sphinx"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "stevedore" +version = "3.5.2" +description = "Manage dynamic plugins for Python applications" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ {file = "stevedore-3.5.2-py3-none-any.whl", hash = "sha256:fa2630e3d0ad3e22d4914aff2501445815b9a4467a6edc49387c667a38faf5bf"}, {file = "stevedore-3.5.2.tar.gz", hash = "sha256:cf99f41fc0d5a4f185ca4d3d42b03be9011b0a1ec1a4ea1a282be1b4b306dcc2"}, ] -svgwrite = [ + +[package.dependencies] +importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""} +pbr = ">=2.0.0,<2.1.0 || >2.1.0" + +[[package]] +name = "svgwrite" +version = "1.4.3" +description = "A Python library to create SVG drawings." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "svgwrite-1.4.3-py3-none-any.whl", hash = "sha256:bb6b2b5450f1edbfa597d924f9ac2dd099e625562e492021d7dd614f65f8a22d"}, {file = "svgwrite-1.4.3.zip", hash = "sha256:a8fbdfd4443302a6619a7f76bc937fc683daf2628d9b737c891ec08b8ce524c3"}, ] -swagger-spec-validator = [ + +[[package]] +name = "swagger-spec-validator" +version = "3.0.3" +description = "Validation of Swagger specifications" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "swagger-spec-validator-3.0.3.tar.gz", hash = "sha256:16a5ce08c772824a77b1a4a05efc047d72eef1ed53fb969dfe0a18f437ac30a8"}, {file = "swagger_spec_validator-3.0.3-py2.py3-none-any.whl", hash = "sha256:174b5de4ab0899df9a57d35c880aaa515511c4b8b578d9d519b09a9596537055"}, ] -tenacity = [ + +[package.dependencies] +jsonschema = "*" +pyyaml = "*" +typing-extensions = "*" + +[[package]] +name = "tenacity" +version = "8.2.2" +description = "Retry code until it succeeds" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "tenacity-8.2.2-py3-none-any.whl", hash = "sha256:2f277afb21b851637e8f52e6a613ff08734c347dc19ade928e519d7d2d8569b0"}, {file = "tenacity-8.2.2.tar.gz", hash = "sha256:43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0"}, ] -text-unidecode = [ + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "text-unidecode" +version = "1.3" +description = "The most basic Text::Unidecode port" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, ] -textfsm = [ + +[[package]] +name = "textfsm" +version = "1.1.2" +description = "Python module for parsing semi-structured text into python tables." +category = "main" +optional = false +python-versions = "*" +files = [ {file = "textfsm-1.1.2-py2.py3-none-any.whl", hash = "sha256:f3d4e9bd4344935a08e6844e53d6220e2e4fb7e465bee51fa909152ed6bab406"}, {file = "textfsm-1.1.2.tar.gz", hash = "sha256:85a450b441aff04b1cac726bdb36f35534a5b196cca08c8bc14fddd879c4255c"}, ] -tomli = [ + +[package.dependencies] +future = "*" +six = "*" + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -transitions = [ + +[[package]] +name = "transitions" +version = "0.9.0" +description = "A lightweight, object-oriented Python state machine implementation with many extensions." +category = "main" +optional = false +python-versions = "*" +files = [ {file = "transitions-0.9.0-py2.py3-none-any.whl", hash = "sha256:5687ee8c6a3200830e44f988d16b0045f53293f7a873002d7bff70852331a078"}, {file = "transitions-0.9.0.tar.gz", hash = "sha256:2f54d11bdb225779d7e729011e93a9fb717668ce3dc65f8d4f5a5d7ba2f48e10"}, ] -ttp = [ + +[package.dependencies] +six = "*" + +[package.extras] +diagrams = ["pygraphviz"] +test = ["pytest"] + +[[package]] +name = "ttp" +version = "0.9.4" +description = "Template Text Parser" +category = "main" +optional = false +python-versions = ">=2.7,<4.0" +files = [ {file = "ttp-0.9.4-py2.py3-none-any.whl", hash = "sha256:550e26fd742703f9fd0fac09e3701766190d4551978fccdead294d49cdec2423"}, {file = "ttp-0.9.4.tar.gz", hash = "sha256:44aaef0561f83d588563918157a502fc9f928e5bc3867026c2cc7b5a8c0dc3e1"}, ] -ttp-templates = [ + +[package.extras] +docs = ["Sphinx (==4.3.0)", "readthedocs-sphinx-search (==0.1.1)", "sphinx_rtd_theme (==1.0.0)", "sphinxcontrib-applehelp (==1.0.1)", "sphinxcontrib-devhelp (==1.0.1)", "sphinxcontrib-htmlhelp (==2.0.0)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-napoleon (==0.7)", "sphinxcontrib-qthelp (==1.0.2)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-spelling (==7.2.1)"] +full = ["cerberus (>=1.3.0,<1.4.0)", "deepdiff (>=5.8.0,<5.9.0)", "jinja2 (>=3.0.0,<3.1.0)", "n2g (>=0.2.0,<0.3.0)", "openpyxl (>=3.0.0,<3.1.0)", "pyyaml (==6.0)", "tabulate (>=0.8.0,<0.9.0)", "ttp_templates (<1.0.0)", "yangson (>=1.4.0,<1.5.0)"] + +[[package]] +name = "ttp-templates" +version = "0.3.5" +description = "Template Text Parser Templates collections" +category = "main" +optional = false +python-versions = ">=3.6,<4.0" +files = [ {file = "ttp_templates-0.3.5-py3-none-any.whl", hash = "sha256:4985a68640468127a0e31021672039cd88a8b9c3dd9289cad67839209cddaf30"}, {file = "ttp_templates-0.3.5.tar.gz", hash = "sha256:e59870d4f65bd4aaf89178dc9065a7db8b80a23d5d79b5d6ffd041312d5ec5a6"}, ] -typed-ast = [ + +[package.dependencies] +ttp = ">=0.6.0" + +[package.extras] +docs = ["mkdocs (==1.2.4)", "mkdocs-material (==7.2.2)", "mkdocs-material-extensions (==1.0.1)", "mkdocstrings[python] (>=0.18.0,<0.19.0)", "pygments (==2.11)", "pymdown-extensions (==9.3)"] + +[[package]] +name = "typed-ast" +version = "1.5.4" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, @@ -3970,23 +3844,68 @@ typed-ast = [ {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, ] -typing-extensions = [ + +[[package]] +name = "typing-extensions" +version = "4.5.0" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, ] -uritemplate = [ + +[[package]] +name = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, ] -urllib3 = [ + +[[package]] +name = "urllib3" +version = "1.26.15" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, ] -vine = [ + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "vine" +version = "5.0.0" +description = "Promises, promises, promises." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, ] -watchdog = [ + +[[package]] +name = "watchdog" +version = "3.0.0" +description = "Filesystem events monitoring" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, @@ -4015,11 +3934,30 @@ watchdog = [ {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, ] -wcwidth = [ + +[package.extras] +watchmedo = ["PyYAML (>=3.10)"] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +category = "main" +optional = false +python-versions = "*" +files = [ {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, ] -wrapt = [ + +[[package]] +name = "wrapt" +version = "1.15.0" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +files = [ {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, @@ -4096,14 +4034,57 @@ wrapt = [ {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, ] -yamllint = [ + +[[package]] +name = "yamllint" +version = "1.31.0" +description = "A linter for YAML files." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ {file = "yamllint-1.31.0-py3-none-any.whl", hash = "sha256:15f4bdb645e6a4a0a22fe5415bc38b4a934c51419b30104896d2f3f95e329185"}, {file = "yamllint-1.31.0.tar.gz", hash = "sha256:2d83f1d12f733e162a87e06b176149d7bb9c5bae4a9e5fce1c771d7f703f7a65"}, ] -yamlordereddictloader = [ + +[package.dependencies] +pathspec = ">=0.5.3" +pyyaml = "*" + +[package.extras] +dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] + +[[package]] +name = "yamlordereddictloader" +version = "0.4.0" +description = "YAML loader and dump for PyYAML allowing to keep keys order." +category = "main" +optional = false +python-versions = "*" +files = [ {file = "yamlordereddictloader-0.4.0.tar.gz", hash = "sha256:7f30f0b99ea3f877f7cb340c570921fa9d639b7f69cba18be051e27f8de2080e"}, ] -zipp = [ + +[package.dependencies] +pyyaml = "*" + +[[package]] +name = "zipp" +version = "3.15.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, ] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.7" +content-hash = "c99ed0c6031a56d53394dc9a24967f8ef64333a784bed727567dbc3d51a63939" diff --git a/pyproject.toml b/pyproject.toml index 8d6ee2f0..771fd772 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ packages = [ [tool.poetry.dependencies] python = "^3.7" -deepdiff = ">=5.5.0,>=6.2.0" +deepdiff = ">=5.5.0,!=6.0,!=6.1,<7" django-pivot = "^1.8.1" matplotlib = "^3.3.2" nautobot = ">=1.5.3" From 4a29b0be1793556037c6ef4ab661cd55bde34b80 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Thu, 6 Jul 2023 11:44:54 -0600 Subject: [PATCH 07/10] docs-only: large fixes and template troubleshooting section (#519) * large fixes and template troubleshooting section * add general troubleshooting guide * add dispatcher troubleshooting * troubleshooting credentials and a few other cleanups * add trailing slash to absolute_url in test to get test passing * Apply suggestions from code review Co-authored-by: Ken Celenza * fix tests, update postconfig * fix pylint and update condition to use startswith --------- Co-authored-by: Ken Celenza --- docs/admin/admin_install.md | 11 +-- docs/admin/admin_upgrade.md | 6 +- docs/dev/dev_adr.md | 2 +- docs/dev/dev_environment.md | 5 +- docs/images/00-troubleshooting.png | Bin 0 -> 276244 bytes docs/images/01-troubleshooting.png | Bin 0 -> 59437 bytes docs/user/app_faq.md | 17 +++- docs/user/app_feature_backup.md | 14 ++- docs/user/app_feature_compliance.md | 4 +- .../user/app_feature_config_postprocessing.md | 4 +- docs/user/app_feature_intended.md | 8 +- docs/user/app_feature_sotagg.md | 8 +- docs/user/app_overview.md | 3 + docs/user/app_use_cases.md | 6 +- .../troubleshoot_credentials.md | 82 ++++++++++++++++++ .../troubleshoot_dispatchers.md | 37 ++++++++ .../troubleshooting/troubleshoot_general.md | 66 ++++++++++++++ mkdocs.yml | 4 + nautobot_golden_config/tests/test_models.py | 4 +- .../utilities/config_postprocessing.py | 21 +++-- 20 files changed, 256 insertions(+), 46 deletions(-) create mode 100644 docs/images/00-troubleshooting.png create mode 100644 docs/images/01-troubleshooting.png create mode 100755 docs/user/troubleshooting/troubleshoot_credentials.md create mode 100755 docs/user/troubleshooting/troubleshoot_dispatchers.md create mode 100755 docs/user/troubleshooting/troubleshoot_general.md diff --git a/docs/admin/admin_install.md b/docs/admin/admin_install.md index c5b03dce..7626aee4 100644 --- a/docs/admin/admin_install.md +++ b/docs/admin/admin_install.md @@ -28,7 +28,7 @@ echo nautobot-golden-config >> local_requirements.txt Once installed, the plugin needs to be enabled in your Nautobot configuration. The following block of code below shows the additional configuration required to be added to your `nautobot_config.py` file: -- Append `"nautobot_golden_config"` to the `PLUGINS` list, and `"nautobot_plugin_nornir"` if it was not already there (more info [here](https://github.com/nautobot/nautobot-plugin-nornir)). +- Append `"nautobot_golden_config"` to the `PLUGINS` list, and `"nautobot_plugin_nornir"` if it was not already there (more info [here](https://docs.nautobot.com/projects/plugin-nornir/en/latest/)). - Append the `"nautobot_golden_config"` dictionary to the `PLUGINS_CONFIG` dictionary, and `"nautobot_plugin_nornir"` if it was not already there. ```python @@ -64,11 +64,6 @@ PLUGINS_CONFIG = { } ``` -The following block of code below shows the additional configuration required to be added to your `nautobot_config.py` file: - -- append `"nautobot_golden_config"` to the `PLUGINS` list, and `"nautobot_plugin_nornir"` if it was not already there (more info [here](https://github.com/nautobot/nautobot-plugin-nornir)). -- append the `"nautobot_golden_config"` dictionary to the `PLUGINS_CONFIG` dictionary, and `"nautobot_plugin_nornir"` if it was not already there. - Once the Nautobot configuration is updated, run the Post Upgrade command (`nautobot-server post_upgrade`) to run migrations and clear any cache. ```shell @@ -101,7 +96,7 @@ The plugin behavior can be controlled with the following list of settings. | enable_postprocessing | True | False | A boolean to represent whether or not to generate intended configurations to push, with extra processing such as secrets rendering. | | postprocessing_callables | ['mypackage.myfunction'] | [] | A list of function paths, in dotted format, that are appended to the available methods for post-processing the intended configuration, for instance, the `render_secrets`. | | postprocessing_subscribed | ['mypackage.myfunction'] | [] | A list of function paths, that should exist as postprocessing_callables, that defines the order of application of during the post-processing process. | -| platform_slug_map | {"cisco_wlc": "cisco_aireos"} | None | A dictionary in which the key is the platform slug and the value is what netutils uses in any "network_os" parameter. | +| platform_slug_map | {"cisco_wlc": "cisco_aireos"} | None | A dictionary in which the key is the platform slug and the value is what netutils uses in any "network_os" parameter within `netutils.config.compliance.parser_map`. | | sot_agg_transposer | "mypkg.transposer" | None | A string representation of a function that can post-process the graphQL data. | | per_feature_bar_width | 0.15 | 0.15 | The width of the table bar within the overview report | | per_feature_width | 13 | 13 | The width in inches that the overview table can be. | @@ -111,4 +106,4 @@ The plugin behavior can be controlled with the following list of settings. Over time the compliance report will become more dynamic, but for now allow users to configure the `per_*` configs in a way that fits best for them. !!! note - Review [`nautobot_plugin_nornir`](https://pypi.org/project/nautobot-plugin-nornir/) for Nornir and dispatcher configuration options. + Review [`nautobot_plugin_nornir`](https://docs.nautobot.com/projects/plugin-nornir/en/latest/user/app_feature_dispatcher/) for Nornir and dispatcher configuration options. diff --git a/docs/admin/admin_upgrade.md b/docs/admin/admin_upgrade.md index 413a2ccf..53109384 100644 --- a/docs/admin/admin_upgrade.md +++ b/docs/admin/admin_upgrade.md @@ -6,8 +6,8 @@ When a new release comes out it may be necessary to run a migration of the datab ## v1.0.0 -`v1.0.0` Provides a breaking change for the users running pre `1.0.0` code sourced from `develop` branch of the plugin. Only users of the `Backup Repository Matching Rule` and `Intended Repository Matching Rule` features are affected by following behaviour: migration script will only migrate the first repository from the list into the new default settings. +`v1.0.0` Provides a breaking change for the users running pre `1.0.0` code sourced from `develop` branch of the plugin. Only users of the `Backup Repository Matching Rule` and `Intended Repository Matching Rule` features are affected by following behavior: migration script will only migrate the first repository from the list into the new default settings. -Because of this specific behaviour, please review your configuration and capture it before attempting to upgrade if using above features. +Because of this specific behavior, please review your configuration and capture it before attempting to upgrade if using above features. -Users running the released packages are not affected by this behaviour. +Users running the released packages are not affected by this behavior. diff --git a/docs/dev/dev_adr.md b/docs/dev/dev_adr.md index a343c8e1..88f6f593 100644 --- a/docs/dev/dev_adr.md +++ b/docs/dev/dev_adr.md @@ -134,7 +134,7 @@ The API view, under the path `config-postprocessing`, uses custom permissions, n ### Renders Secrets -It was decided to restrict the usage of Jinja filters to only the ones related to getting Nautobot secrets values (defined here), plus the `encrypt_type5` and `encrypt_type7` filters from Netutils. Remember that this function is not defined to replace the regular Jinja rendering done for creating the Intended configuration, only to add secrets information on the fly. This avoids undesired behavior on this synchronous operation. +It was decided to restrict the usage of Jinja filters to only the ones related to getting Nautobot secrets values (defined here), plus the `encrypt__type5` and `encrypt___type7` filters from [Netutils](https://netutils.readthedocs.io/en/latest/dev/code_reference/password/#netutils.password). Remember that this function is not defined to replace the regular Jinja rendering done for creating the Intended configuration, only to add secrets information on the fly. This avoids undesired behavior on this synchronous operation. This function performs an additional permission validation, to check if the requesting user has permissions to view the `SecretsGroup` requested. diff --git a/docs/dev/dev_environment.md b/docs/dev/dev_environment.md index 485fda08..c2520b9b 100644 --- a/docs/dev/dev_environment.md +++ b/docs/dev/dev_environment.md @@ -4,7 +4,7 @@ The development environment can be used in two ways: -1. `Recommended` All services are spun up using Docker and a local mount so you can develop locally, but Nautobot is spun up within the Docker container. +1. `Recommended` All services are spun up using Docker and a local volume mount attached so you can develop locally, but Nautobot is spun up within the Docker container. 2. With a local poetry environment if you wish to develop outside of Docker with the caveat of using external services provided by Docker for PostgresQL and Redis. This is a quick reference guide if you're already familiar with the development environment provided, which you can read more about later in this document. @@ -321,6 +321,9 @@ When trying to debug an issue, one helpful thing you can look at are the logs wi !!! note The `-f` tag will keep the logs open, and output them in realtime as they are generated. +!!! info + Want to limit the log output even further? Use the `--tail <#>` command line argument in conjunction with `-f`. + So for example, our plugin is named `nautobot-golden-config`, the command would most likely be `docker logs nautobot_golden_config_nautobot_1 -f`. You can find the name of all running containers via `docker ps`. If you want to view the logs specific to the worker container, simply use the name of that container instead. diff --git a/docs/images/00-troubleshooting.png b/docs/images/00-troubleshooting.png new file mode 100644 index 0000000000000000000000000000000000000000..77b386de43483105ff362722d6b78fc849dde7f2 GIT binary patch literal 276244 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%0A7ZU%-_1Xhvt$XFj##}V+aj)FS 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 z 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 _r*A62*#Bg#Q#ZSJj5H6eslq;X8LAB`6}+N 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 NbF;I@@=aZC{|DpyLPG!m literal 0 HcmV?d00001 diff --git a/docs/user/app_faq.md b/docs/user/app_faq.md index 7084fd7c..80c38c7b 100644 --- a/docs/user/app_faq.md +++ b/docs/user/app_faq.md @@ -43,19 +43,26 @@ Understanding that there will never be consensus on what should go into a featur The current supported platform and the associated *default* platform slug names are the following for: * arista_eos +* aruba_aoscx * bigip_f5 * cisco_aireos * cisco_asa * cisco_ios +* cisco_ios_xr +* citrix_netscaler * cisco_nxos +* extreme_netiron * fortinet_fortios * juniper_junos * linux +* mikrotik_routeros +* mrv_optiswitch * nokia_sros +* paloalto_panos The expected "network_os" parameter must be as defined by netutils and golden config uses the platform slug to map from the device to the appropriate "network_os" that netutils expects. However, there an ability to map the actual platform slug for compliance and parsing tasks via the plugin settings in your "nautobot_config.py", and documented on the primary Readme. -To provide a concrete example of this, note the following example that demonstrates how you can transpose any platform slug name to the expected one, as well as map multiple keys to a single netutils expected key. +To provide a concrete example of this, note the following example that demonstrates how you can transpose any platform slug name to the expected one, as well as map multiple keys to a single netutils expected key. The `platform_slug_map` is only used for configuration compliance job. The json key is the Nautobot platform slug, and the json value is the "network_os" parameter defined in `netutils.config.compliance.parser_map`. ```json { "platform_slug_map": { @@ -73,9 +80,13 @@ The current supported platform and the associated *default* platform slug names * arista_eos * cisco_asa * cisco_ios -* cisco_xr +* cisco_ios_xr * cisco_nxos * juniper_junos +* mikrotik_routeros +* mikrotik_routeros_api +* ruckus_fastiron +* ruckus_smartzone_api In many use cases, this can be extended with a custom dispatcher for nornir tasks, which is controlled in the [nornir-nautobot](https://github.com/nautobot/nornir-nautobot) repository. Additionally the [`nautobot_plugin_nornir`](https://pypi.org/project/nautobot-plugin-nornir/) provide the ability to leverage the `dispatcher_mapping` configuration parameter to map and/or extend for your environment. Please see the instructions there for further details. @@ -131,4 +142,4 @@ These errors have been accurate so far, that is not to say that there is no way * Incorrectly configured Secrets * Filtering to nothing when presumption is the filter works a certain way -* Referencing an OS that is not recognized \ No newline at end of file +* Referencing an OS that is not recognized diff --git a/docs/user/app_feature_backup.md b/docs/user/app_feature_backup.md index da7f8e3c..a1183cb6 100644 --- a/docs/user/app_feature_backup.md +++ b/docs/user/app_feature_backup.md @@ -46,9 +46,17 @@ The `backup_path_template` can be set in the UI. For navigation details [see](. ### Device Login Credentials -The credentials/secrets management is further described within the [nautbot-plugin-nornir](https://github.com/nautobot/nautobot-plugin-nornir) -repository. For the simplest use case you can set environment variables for `NAPALM_USERNAME`, `NAPALM_PASSWORD`, and `DEVICE_SECRET`. For more -complicated use cases, please refer to the plugin documentation linked above. +The credentials/secrets management occurs within the [nautobot-plugin-nornir](https://github.com/nautobot/nautobot-plugin-nornir) library and is described in the [Navigating Credentials](https://docs.nautobot.com/projects/plugin-nornir/en/latest/user/app_feature_credentials/) documentation. For the simplest use case you can set environment variables for `NAPALM_USERNAME`, `NAPALM_PASSWORD`, and `DEVICE_SECRET` in conjunction with the `credentials` string shown below in your configuration for `nautobot-plugin-nornir`. + +```python +PLUGINS_CONFIG = { + "nautobot_plugin_nornir": { + "nornir_settings": { + "credentials": "nautobot_plugin_nornir.plugins.credentials.env_vars.CredentialsEnvVars" + }, + } +} +``` ## Starting a Backup Job diff --git a/docs/user/app_feature_compliance.md b/docs/user/app_feature_compliance.md index d21d83cc..4430f5a1 100644 --- a/docs/user/app_feature_compliance.md +++ b/docs/user/app_feature_compliance.md @@ -58,7 +58,7 @@ The "Configs to Match" section represents the configuration root elements. This what a line starts with only. Meaning, there is an implicit greediness to the matching. All matches must start form the beginning of the line. !!! note - If accidentally the data is "corrupted" with a bad tested match, simply delete the devices an re-run the compliance process. + If the data is accidentally "corrupted" with a bad tested match, simply delete the devices an re-run the compliance process. !!! note The mapping of "network_os" as defined by netutils is provided via the plugin settings in your nautobot_config.py, and documented on the primary Readme. @@ -85,7 +85,7 @@ Please note the following about the compliance details page. ## Supported Platforms -Platforms support technically come from the options provided by [nornir-nautobot](https://github.com/nautobot/nornir-nautobot) for nornir dispatcher tasks and +Platforms support technically come from the options provided by [nornir-nautobot](https://github.com/nautobot/nornir-nautobot) for Nornir dispatcher tasks and [netutils](https://github.com/networktocode/netutils) for configuration compliance and parsing. However, for reference, the valid slug's of the platforms are provided in the [FAQ](./app_faq). diff --git a/docs/user/app_feature_config_postprocessing.md b/docs/user/app_feature_config_postprocessing.md index d7874589..13070533 100644 --- a/docs/user/app_feature_config_postprocessing.md +++ b/docs/user/app_feature_config_postprocessing.md @@ -9,7 +9,7 @@ Challenging use cases when using the running configuration as intended: - Because the intended configuration is stored in the database, and in an external Git repository, it should **not** contain any secret. - The format of the running configuration is not always the same as the configuration to push, examples include: - - Pushing snmpv3 configurations, which do not show up in the running config + - Pushing SNMPv3 configurations, which do not show up in the running config - VTP configurations where the configurations is not in the running config at all - Implicit configurations like a "no shutdown" on an interface - The configurations used to get the configuration to the intended state may require to be ordered to not cause an outage. @@ -41,7 +41,7 @@ The `render_secrets` function performs an extra Jinja rendering on top of an int - `get_secret_by_secret_group_slug`: as the name suggests, it returns the secret_group value, for a secret type, from its `slug`. !!! note - Other default Django or Netutils filters are not available in this Jinja environment. Only `encrypt_type5` and `encrypt_type7` can be used together with the `get_secret` filters. + Other default Django or Netutils filters are not available in this Jinja environment. Only `encrypt__type5` and `encrypt__type7` can be used together with the `get_secret` filters. Because this rendering is separated from the standard generation of the intended configuration, you must use the `{% raw %}` Jinja syntax to avoid being processed by the initial generation stage. diff --git a/docs/user/app_feature_intended.md b/docs/user/app_feature_intended.md index 6ec673ac..7023f2d7 100644 --- a/docs/user/app_feature_intended.md +++ b/docs/user/app_feature_intended.md @@ -2,13 +2,13 @@ ## Configuration Generation -The Golden Config plugin **Intended Configuration** job generates intended state files for each device in the plugin setting's configured Dynamic Group. An intended state file contains the output from rendering the device's Source of Truth Aggregation values through the Jinja templates used by the plugin. +The Golden Config plugin **Intended Configuration** job generates intended state files for each device in the plugin setting's configured Dynamic Group. An intended state files contain the output from rendering the device's Source of Truth Aggregation values through the Jinja2 templates used by the plugin. -The job itself is a Nornir play which uses a single Jinja template per device. Source of Truth Aggregation data comes from the GraphQL query configured in the Golden Config plugin's settings. An important component of the SoT Aggregation data are the `config_context` values. `config_context` should contain a vendor-neutral, JSON structured representation of a device's configuration values: a list of NTP/AAA/Syslog servers, common VRFs, etc. See [Config Contexts](https://nautobot.readthedocs.io/en/latest/additional-features/config-contexts/#configuration-contexts) for more information. +The job itself is a Nornir play which uses a single Jinja2 template per device. Source of Truth Aggregation data comes from the GraphQL query configured in the Golden Config plugin's settings. An important component of the SoT Aggregation data are the `config_context` values. `config_context` should contain a vendor-neutral, JSON structured representation of a device's configuration values: a list of NTP/AAA/Syslog servers, common VRFs, etc. See [Config Contexts](https://docs.nautobot.com/projects/core/en/latest/additional-features/config-contexts/#configuration-contexts) for more information. The Source of Truth Aggregation feature of the plugin must be enabled for the plugin to generate intended configuration state output. -There can only be a single Jinja template per device. Device configurations can become daunting to create via a Jinja template, if you try to place all of the logic for a device's configuration inside a single Jinja2 file. These template files can quickly become too complex to maintain. So, it is often advantageous to break configurations into smaller feature-oriented snippets, each contained in their own discrete template file. Operators often keep their main, top-level, template simple and easy to maintain by only placing include statements in it: +There can only be a single Jinja2 template per device. Device configurations can become daunting to create via a template, if you try to place all of the logic for a device's configuration inside a single Jinja2 file. These template files can quickly become too complex to maintain. So, it is often advantageous to break configurations into smaller feature-oriented snippets, each contained in their own discrete template file. Operators often keep their main, top-level, template simple and easy to maintain by only placing include statements in it: ```jinja ! @@ -35,7 +35,7 @@ In these examples, `/services.j2`, `/ntp.j2`, etc. could contain the actual Jinj ## Adding Jinja2 Filters to the Environment. -This plugin follows [Nautobot](https://nautobot.readthedocs.io/en/stable/plugins/development/#including-jinja2-filters) in relying on [django_jinja](https://niwinz.github.io/django-jinja/latest/) for customizing the Jinja2 Environment. Currently, only filters in the `django_jinja` Environment are passed along to the Jinja2 Template Environment used by Nornir to render the config template. +This plugin follows [Nautobot](https://docs.nautobot.com/projects/core/en/stable/plugins/development/#including-jinja2-filters) in relying on [django_jinja](https://niwinz.github.io/django-jinja/latest/) for customizing the Jinja2 Environment. Currently, only filters in the `django_jinja` Environment are passed along to the Jinja2 Template Environment used by Nornir to render the config template. ### Adding Filters In Nautobot Config diff --git a/docs/user/app_feature_sotagg.md b/docs/user/app_feature_sotagg.md index 2b87daf7..d467e76a 100644 --- a/docs/user/app_feature_sotagg.md +++ b/docs/user/app_feature_sotagg.md @@ -22,7 +22,7 @@ It is helpful to make adjustments to the query, and then view the data from the ## Transposer Function -The transposer function is an optional function to make arbitrary changes to the data after the fact. There is a Plugin configuration that allows the +The transposer function is an optional function to make arbitrary changes to the data after the fact. There is a plugin configuration that allows the operator to point to a function within the python path by a string. The function will receive a single variable, that by convention should be called `data`. The function should return a valid Python json serializable data structure. ```python @@ -37,7 +37,7 @@ def transposer(data): While the example transposer is silly and untested, it provides the structure for which a transposer can be used. The possibilities are obviously endless, such as reaching out to an external system, but operators should use caution not to overload complexity into the transposer. -The configuration required in the Plugin configuration is as described below. +The configuration required in the plugin configuration is as described below. ```python PLUGINS_CONFIG["nautobot_golden_config"]["sot_agg_transposer"] = "nautobot_golden_config.transposer.transposer" @@ -51,7 +51,7 @@ While outside the scope of this document, it is worth mentioning the power that that would not normally be available within Nautobot Core Django ORM models or within a Nautobot plugin's custom models. A common use case is to model "global configuration" like data, such as NTP, DNS, SNMP, etc. For more information, please refer to the Nautobot Core documentation on -[Config Contexts](https://nautobot.readthedocs.io/en/latest/additional-features/config-contexts/#configuration-contexts) and leveraging [Git Data Sources](https://nautobot.readthedocs.io/en/stable/user-guides/git-data-source/#using-git-data-sources). +[Config Contexts](https://docs.nautobot.com/projects/core/en/latest/additional-features/config-contexts/#configuration-contexts) and leveraging [Git Data Sources](https://docs.nautobot.com/projects/core/en/stable/user-guides/git-data-source/#using-git-data-sources). ## Performance @@ -70,7 +70,7 @@ Example: Query Variables ``` GraphQL may be new to many users, and while the GraphiQL interface is great way to get started, the following query is for reference. It is -highly recommended to alias name (as in `hostname: name` shown below), as there will be a namespace issue with nornir tasks, which often +highly recommended to alias name (as in `hostname: name` shown below), as there will be a namespace issue with Nornir tasks, which often take in name as a parameter. ``` diff --git a/docs/user/app_overview.md b/docs/user/app_overview.md index 9199eab1..74f02514 100644 --- a/docs/user/app_overview.md +++ b/docs/user/app_overview.md @@ -20,6 +20,9 @@ Thankfully, this issue can be addressed without making any changes on your devic - Configuration Intended - Configuration Compliance +!!! info + The four components are not hard requirements, the application is flexible and can be updated to leverage any of these components if they already exist in another system or automated process. + Utilizing these components, you can define the Golden Configuration standard for each of your devices and compare their adherence to that standard, otherwise known as their configuration compliance. ## Audience (User Personas) - Who should use this App? diff --git a/docs/user/app_use_cases.md b/docs/user/app_use_cases.md index 7d82376d..7d0e6054 100644 --- a/docs/user/app_use_cases.md +++ b/docs/user/app_use_cases.md @@ -39,7 +39,7 @@ Each Job attempts to provide sane error handling, and respects the `debug` flag The golden configuration plugin settings can be found by navigating to `Golden Config -> Settings` button. Select one of the Settings, under the `Golden Configuration` section. Since Golden Configuration Plugin version 1.0, the plugin allows for multiple settings to be configured by the User. Each of the settings, has the individual repositories and configuration details, as well as a Dynamic Group. -You could use a combination of settings to customize Your Configuration Compliance behavior. +You could use a combination of settings to customize your Configuration Compliance behavior. Settings have a name and a weight. The weight parameter indicates the priority of given Settings - the higher the weight, the device matching the Dynamic Group defined will be assigned to the scope. At the same moment, each device will be matched up to maximum of only one `Settings.` In case of the same weight, the sorting is performed by the name. @@ -68,7 +68,7 @@ To update existing settings click on one of the `Settings` name. !!! note Starting in Golden Config v1.2 and onwards the original implementation of scope has been deprecated in favor of Dynamic Groups from Nautobot. During the migrations any Golden Config Setting scope attribute will be migrated to Dynamic Groups. All settings require a Dynamic Group, if the original scope is not set to allow ALL Devices a Dynamic Group will be created without a filter applied which will is the equivalent of all Devices. -The [Dynamic Group](https://nautobot.readthedocs.io/en/stable/additional-features/dynamic-groups/) provides a filter that will limit the list of devices in scope of a Golden Config Setting. In the Golden Config Home view the Dynamic Group is used to limit the Devices that are displayed, if a Device does not match the filter of a Dynamic Group it is considered out of scope for GoldenConfig and will not show on the Golden Config Settings view. All jobs in Golden Config also use the Dynamic Group to know which Devices are in scope. A job can optionally further refine the scope, but the outer bound would be based on what is defined in the Dynamic Group. The options are best described by leveraging the Devices list view, search features (the filtering shown on the side of the Devices.) Building a query there, will provide the exact keys expected. +The [Dynamic Group](https://docs.nautobot.com/projects/core/en/stable/models/extras/dynamicgroup/) provides a filter that will limit the list of devices in scope of a Golden Config Setting. In the Golden Config Home view the Dynamic Group is used to limit the Devices that are displayed, if a Device does not match the filter of a Dynamic Group it is considered out of scope for GoldenConfig and will not show on the Golden Config Settings view. All jobs in Golden Config also use the Dynamic Group to know which Devices are in scope. A job can optionally further refine the scope, but the outer bound would be based on what is defined in the Dynamic Group. The options are best described by leveraging the Devices list view, search features (the filtering shown on the side of the Devices.) Building a query there, will provide the exact keys expected. ##### Scope Of Devices @@ -171,7 +171,7 @@ The plugin makes use of template content `right_page` in order to use display in ### API -To run the job programmactially, reference the [nautobot documentation](https://nautobot.readthedocs.io/en/stable/additional-features/jobs/#via-the-api) for the proper API call. Pay special attention to the `class_path` definition. +To run the job programmatically, reference the [nautobot documentation](https://docs.nautobot.com/projects/core/en/stable/additional-features/jobs/#via-the-api) for the proper API call. Pay special attention to the `class_path` definition. ### Feature Enablement diff --git a/docs/user/troubleshooting/troubleshoot_credentials.md b/docs/user/troubleshooting/troubleshoot_credentials.md new file mode 100755 index 00000000..c5f6574b --- /dev/null +++ b/docs/user/troubleshooting/troubleshoot_credentials.md @@ -0,0 +1,82 @@ +# Troubleshooting Credentials + +Credentials are an important aspect of the Golden Config application. In order to capture backup configs the application must have credentials to login to network devices. Golden Config simply utilizes another library to generate the inventory and to populate the credentials to use. + +At the time of writing this there are three main credentials types that Golden Config can utilize. + +- Environment Variables +- Configuration Settings Variables +- Nautobot Integrated Secrets Group Functionality + +These are documented in the [Nautobot Plugin Nornir](https://docs.nautobot.com/projects/plugin-nornir/en/latest/user/app_feature_credentials/) documentation. + +### No Username/Password Preemptively Failed + +This will cover some things to check for each of the credentials classes supported. + +- Environment Variables + - Make sure the `PLUGIN_CONFIG` is correct and the credentials class do not have a typo. + + ```python + PLUGINS_CONFIG = { + "nautobot_plugin_nornir": { + "nornir_settings": { + "credentials": "nautobot_plugin_nornir.plugins.credentials.env_vars.CredentialsEnvVars" + }, + } + } + ``` + + - Make sure the three environment variables are defined and accessible in the worker node. Please refer [here](https://docs.nautobot.com/projects/plugin-nornir/en/latest/user/app_feature_credentials/#environment-variables) for details: + - NAPALM_USERNAME + - NAPALM_PASSWORD + - DEVICE_SECRET + +- Configuration Settings Variables + - Make sure the `PLUGIN_CONFIG` is correct and the credentials class do not have a typo. + - Make sure the `username`, `password`, and `secret` is nested under `nautobot_plugin_nornir` and not under `nornir_settings`. + + ```python + PLUGINS_CONFIG = { + "nautobot_plugin_nornir": { + "nornir_settings": { + "credentials": "nautobot_plugin_nornir.plugins.credentials.settings_vars.CredentialsSettingsVars", + }, + "username": "ntc", + "password": "password123", + "secret": "password123", + } + } + ``` + + !!! info + A common pattern is to have these username/password/secrets reference "other" environment variables using the `os.getenv()` python function. This pattern works well, but the environment variables **MUST** be resolvable from within the workers environment. + +- Nautobot Integrated Secrets Group Functionality + + This credentials class uses the Nautobot core functionality for [secrets/secret_groups](https://docs.nautobot.com/projects/core/en/stable/core-functionality/secrets/). There is some caveats to this feature and some troubleshooting tips are provided below. + + - Make sure the `PLUGIN_CONFIG` is correct and the credentials class do not have a typo. + + ```python + PLUGINS_CONFIG = { + "nautobot_plugin_nornir": { + "nornir_settings": { + "credentials": "nautobot_plugin_nornir.plugins.credentials.nautobot_secrets.CredentialsNautobotSecrets", + } + } + } + ``` + + - Make sure you have the `secrets` defined and properly linked to environment variables or text file(s). + - Make sure the `secrets` are assigned to a `secret_group` and that the proper "types" are used. + + !!! warn + This credentials class is expecting some defaults to be used to auto load the credentials. The below "types" must be used if the default PLUGIN_CONFIG from above is used. If the `Access Type` needs to be changed see [Nautobot Secrets Nornir Docs](https://docs.nautobot.com/projects/plugin-nornir/en/latest/user/app_feature_credentials/#nautobot-secrets). + + - Access Type = "Generic" and Secret_Type = "Username" and linked to the secret objects that links to the username. + - Access Type = "Generic" and Secret_Type = "Password" and linked to the secret objects that links to the password. + - Access Type = "Generic" and Secret_Type = "Secret" and linked to the secret objects that links to the secret. + + - Make sure the `secret_group` is applied to the device. + - Edit device object and save it with a secret_group that identifies the credentials for that device. diff --git a/docs/user/troubleshooting/troubleshoot_dispatchers.md b/docs/user/troubleshooting/troubleshoot_dispatchers.md new file mode 100755 index 00000000..64b099e2 --- /dev/null +++ b/docs/user/troubleshooting/troubleshoot_dispatchers.md @@ -0,0 +1,37 @@ +# Troubleshooting Dispatchers + +At a high-level the default dispatchers that Golden Config uses are actually sourced from another open source library. [nornir-nautobot](https://docs.nautobot.com/projects/nornir-nautobot/en/latest/) contains the Nornir tasks that define the methods that Golden Config utilizes. + +This dispatcher task is explained in the [nornir-nautobot docs](https://docs.nautobot.com/projects/nornir-nautobot/en/latest/task/task/) + +Golden config uses the `get_dispatcher()` function from the Nautobot Plugin Nornir plugin. General information on dispatchers can be found in the [dispatcher](https://docs.nautobot.com/projects/plugin-nornir/en/latest/user/app_feature_dispatcher/) documentation. + +Although this functionality is simply used by Golden Config and isn't directly developed within this application the below troubleshooting sections may help. + +### Cannot import is the library installed? + +This occurs when a Golden Config job is executed with a Nautobot `platform`, and that platform slug is not found for the Nornir "method" the job is attempting to run. + +How is the dispatcher loaded? + +1. Job initializes Nornir and the method is called with `get_dispatcher()` function from Nautobot-Plugin-Nornir. +2. Nornir initialization looks in the DEFAULT_DISPATCHER map for the platform slug from [nornir-nautobot](https://github.com/nautobot/nornir-nautobot/blob/64baa8a24d21d9ec14c32be569e2b51cd0bd1cd1/nornir_nautobot/plugins/tasks/dispatcher/__init__.py#L12) mapping. +3. Merge this mapping with anything directly configured in Golden Config [dispatcher mapping](). +4. Load the dispatcher based on slug, or load the default dispatcher if the dictionary mapping doesn't include it. +5. The default dispatcher by default uses NAPALM and attempts to load the **getter**. Alternatively there is a `default_netmiko` dispatcher that will default to loading the driver via Netmiko instead of NAPALM. + +This error is actually generated [here](https://github.com/napalm-automation/napalm/blob/50ab9f73a2afd8c84c430e5d844e570f28adc917/napalm/base/__init__.py#L100C17-L100C17) in the NAPALM core code. + +Some steps to consider to troubleshooting this: + +1. PIP install the NAPALM plugin into the Nautobot environment from PYPI. + + As an example if you wanted to use NAPALMs Palo Alto plugin you'd need that library installed in the environment. + + ``` + pip install napalm-panos + ``` + +2. Is the platform slug being used something that is handled by default? + + Check the default dispatcher network os driver name. Change your platforms slug to match the default naming which is following the driver names from Netmiko. diff --git a/docs/user/troubleshooting/troubleshoot_general.md b/docs/user/troubleshooting/troubleshoot_general.md new file mode 100755 index 00000000..934921d5 --- /dev/null +++ b/docs/user/troubleshooting/troubleshoot_general.md @@ -0,0 +1,66 @@ +# General Troubleshooting Tips and Tricks + +This troubleshooting article provides general troubleshooting tips and tricks for the Golden Configuration app. + +### Where are the logs? +Golden config logs to the nautobot-worker facility. Where those logs are on specific deployments can vary on how the specific Nautobot instance was deployed and how. In general look in `journalctl` for logs for the system service defined for the worker. If the deployment is container based look in the celery worker logs for the specific container running that functionality. + +### This job is not enabled to be run. + +If you attempt to run any of the components of golden config and you see `This job is not enabled to be run.` on the job execution page this means you simply do not have the job enabled in Nautobot. + +To fix this follow the steps below: + +1. Navigate to **Jobs -> Jobs**. +2. Click on the job you're attempting to execute. Click `edit`. +3. Toggle the `enabled` field button. +4. Retest + +### Where's the rerun job button? + +By default Nautobot utilizes the job models field `Has sensitive variables` to determine whether a job execution will have a **rerun** button present on the page. If you've validated there is in fact no sensitive data in the job you can update this field. + +1. Navigate to **Jobs -> Jobs**. +2. Click on the job you're attempting to execute. Click `edit`. +3. Scroll to `Has sensitive variables` field button. +3. Toggle the `Override default value` button and then you can uncheck the `Has sensitive variables` toggle. +4. Retest + +### Missing the required global setting + +Golden config relies on multiple application specific settings to function. In most cases a job fails fast in these situations with errors similar to the screenshot posted below. + +![global settings error](../../images/00-troubleshooting.png) + +To fix this follow the steps below: + +1. Navigate to **Golden Config -> Settings**. +2. Click on the specific setting in use. Note: `Default Settings` is auto created upon application installation. +3. Ensure all settings and `paths` are configured. + +See [Getting Started](../app_getting_started.md) for more information. + +### Attempting to connect to IP and port: 22 failed. + +This one is specific to running a configuration backup job. Specially within the `Backup Test` Golden Config Backup settings. This indicates that from the nautobot worker a tcp ping check against the management IP on port 22 was unsuccessful. + +![backup test error](../../images/01-troubleshooting.png) + +Suggestions: + +- Validate from the Nautobot worker you can manually reach the IP + port of the system. + +### General Connectivity Issues + +Golden config uses Nornir for the framework that connects to devices and accomplishes a task. At the time of writing this the default dispatcher that Golden config uses are based off of `nornir_netmiko` and `nornir_napalm` functionality, this is a implementation detail at this time and is not a limitation. + +Some generic issues that can be encountered tend to provide default exception logging directly from these underlying Nornir extensions. Most of which should be troubleshot in the same general manner. + +- Validate from the Nautobot worker you can manually reach the IP + port of the system. +- Validate the device is not just slow to respond. (Exception tends to be related to the prompt not being found.) +- Test with underlying library optimizations disabled. E.g. Netmiko's fast_cli set to False. + +If none of these troubleshooting steps helped identify the problem please visit the more specific troubleshooting steps. + +- [Troubleshoot Credentials](./troubleshoot_credentials.md) +- [Troubleshoot Dispatchers](./troubleshoot_dispatchers.md) diff --git a/mkdocs.yml b/mkdocs.yml index e3fc4bf6..7cba498b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -106,6 +106,10 @@ nav: - Getting Started: "user/app_getting_started.md" - Frequently Asked Questions: "user/app_faq.md" - External Interactions: "user/app_external_interactions.md" + - Troubleshooting: + - General: "user/troubleshooting/troubleshoot_general.md" + - Credentials: "user/troubleshooting/troubleshoot_credentials.md" + - Dispatchers: "user/troubleshooting/troubleshoot_dispatchers.md" - Administrator Guide: - Install and Configure: "admin/admin_install.md" - Upgrade: "admin/admin_upgrade.md" diff --git a/nautobot_golden_config/tests/test_models.py b/nautobot_golden_config/tests/test_models.py index 68340a45..31a65c54 100644 --- a/nautobot_golden_config/tests/test_models.py +++ b/nautobot_golden_config/tests/test_models.py @@ -133,7 +133,9 @@ def setUp(self): def test_absolute_url_success(self): """Verify that get_absolute_url() returns the expected URL.""" url_string = self.global_settings.get_absolute_url() - self.assertEqual(url_string, f"/plugins/golden-config/golden-config-setting/{self.global_settings.pk}") + self.assertEqual( + url_string.rstrip("/"), f"/plugins/golden-config/golden-config-setting/{self.global_settings.pk}" + ) def test_good_graphql_query_invalid_starts_with(self): """Valid graphql query, however invalid in the usage with golden config plugin.""" diff --git a/nautobot_golden_config/utilities/config_postprocessing.py b/nautobot_golden_config/utilities/config_postprocessing.py index 685347ab..fb1ae091 100644 --- a/nautobot_golden_config/utilities/config_postprocessing.py +++ b/nautobot_golden_config/utilities/config_postprocessing.py @@ -1,24 +1,21 @@ """Functions related to prepare configuration with postprocessing.""" from functools import partial from typing import Optional -from jinja2.sandbox import SandboxedEnvironment -from jinja2 import exceptions as jinja_errors -from django.http import HttpRequest from django.core.exceptions import ObjectDoesNotExist +from django.http import HttpRequest from django.utils.module_loading import import_string - +from jinja2 import exceptions as jinja_errors +from jinja2.sandbox import SandboxedEnvironment from nautobot.dcim.models import Device -from nautobot.users.models import User -from nautobot.extras.models.secrets import SecretsGroup from nautobot.extras.choices import SecretsGroupAccessTypeChoices - +from nautobot.extras.models.secrets import SecretsGroup +from nautobot.users.models import User from netutils.utils import jinja2_convenience_function - from nautobot_golden_config import models -from nautobot_golden_config.utilities.constant import PLUGIN_CFG, ENABLE_POSTPROCESSING -from nautobot_golden_config.utilities.graphql import graph_ql_query from nautobot_golden_config.exceptions import RenderConfigToPushError +from nautobot_golden_config.utilities.constant import ENABLE_POSTPROCESSING, PLUGIN_CFG +from nautobot_golden_config.utilities.graphql import graph_ql_query from nautobot_golden_config.utilities.helper import get_device_to_settings_map @@ -91,7 +88,9 @@ def render_secrets(config_postprocessing: str, configs: models.GoldenConfig, req jinja_env.filters["get_secret_by_secret_group_slug"] = partial(get_secret_by_secret_group_slug, request.user) netutils_filters = jinja2_convenience_function() - for template_name in ["encrypt_type5", "encrypt_type7"]: + for template_name in [ + encrypt_templates for encrypt_templates in netutils_filters if encrypt_templates.startswith("encrypt") + ]: template_filter = netutils_filters.get(template_name) if template_filter is not None: jinja_env.filters[template_name] = template_filter From 5b8eda117d0ae1d300e18491401d2634f7109031 Mon Sep 17 00:00:00 2001 From: Jeff Kala <48843785+jeffkala@users.noreply.github.com> Date: Thu, 6 Jul 2023 13:14:48 -0600 Subject: [PATCH 08/10] pin dev dependencies to fix docs site (#523) * pin dev dependencies to fix docs site * fix test that checks docs dependencies * standarize pinning for docs --- docs/requirements.txt | 5 +- nautobot_golden_config/tests/test_basic.py | 1 + poetry.lock | 3589 ++++++++++---------- pyproject.toml | 6 +- 4 files changed, 1861 insertions(+), 1740 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 4a16a2ea..2792d17e 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,6 @@ +griffe==0.30.1 mkdocs==1.3.1 mkdocs-material==8.4.2 mkdocs-version-annotations==1.0.0 -mkdocstrings==0.19 -mkdocstrings-python==0.7.1 +mkdocstrings==0.22.0 +mkdocstrings-python==1.1.2 \ No newline at end of file diff --git a/nautobot_golden_config/tests/test_basic.py b/nautobot_golden_config/tests/test_basic.py index cf83e898..e70ce2d5 100644 --- a/nautobot_golden_config/tests/test_basic.py +++ b/nautobot_golden_config/tests/test_basic.py @@ -1,6 +1,7 @@ """Basic tests that do not require Django.""" import os import unittest + import toml diff --git a/poetry.lock b/poetry.lock index c8943e41..771a6a3f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,5 +1,3 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. - [[package]] name = "amqp" version = "5.1.1" @@ -7,10 +5,6 @@ description = "Low-level AMQP client for Python (fork of amqplib)." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, - {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, -] [package.dependencies] vine = ">=5.0.0" @@ -22,25 +16,36 @@ description = "A library for parsing ISO 8601 strings." category = "main" optional = false python-versions = "*" -files = [ - {file = "aniso8601-7.0.0-py2.py3-none-any.whl", hash = "sha256:d10a4bf949f619f719b227ef5386e31f49a2b6d453004b21f02661ccc8670c7b"}, - {file = "aniso8601-7.0.0.tar.gz", hash = "sha256:513d2b6637b7853806ae79ffaca6f3e8754bdd547048f5ccc1420aec4b714f1e"}, -] + +[[package]] +name = "anyio" +version = "3.7.1" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +doc = ["Sphinx", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-jquery"] +test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (<0.22)"] [[package]] name = "asgiref" -version = "3.6.0" +version = "3.7.2" description = "ASGI specs, helper code, and adapters" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "asgiref-3.6.0-py3-none-any.whl", hash = "sha256:71e68008da809b957b7ee4b43dbccff33d1b23519fb8344e33f049897077afac"}, - {file = "asgiref-3.6.0.tar.gz", hash = "sha256:9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506"}, -] [package.dependencies] -typing-extensions = {version = "*", markers = "python_version < \"3.8\""} +typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} [package.extras] tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] @@ -52,10 +57,6 @@ description = "An abstract syntax tree for Python with inference support." category = "dev" optional = false python-versions = ">=3.6.2" -files = [ - {file = "astroid-2.11.7-py3-none-any.whl", hash = "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"}, - {file = "astroid-2.11.7.tar.gz", hash = "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946"}, -] [package.dependencies] lazy-object-proxy = ">=1.4.0" @@ -71,10 +72,6 @@ description = "Timeout context manager for asyncio programs" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, - {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, -] [package.dependencies] typing-extensions = {version = ">=3.6.5", markers = "python_version < \"3.8\""} @@ -86,10 +83,6 @@ description = "Classes Without Boilerplate" category = "main" 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"}, -] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} @@ -108,10 +101,6 @@ description = "Security oriented static analyser for python code." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, - {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, -] [package.dependencies] colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} @@ -132,29 +121,6 @@ description = "Modern password hashing for your software and your servers" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, - {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, - {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, - {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, -] [package.extras] tests = ["pytest (>=3.2.1,!=3.3.0)"] @@ -167,10 +133,6 @@ description = "Python multiprocessing fork with improvements and bugfixes" category = "main" optional = false python-versions = "*" -files = [ - {file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"}, - {file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"}, -] [[package]] name = "black" @@ -179,33 +141,6 @@ description = "The uncompromising code formatter." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, - {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, - {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, - {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, - {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, - {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, - {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, - {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, - {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, - {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, - {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, - {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, - {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, - {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, -] [package.dependencies] click = ">=8.0.0" @@ -230,10 +165,6 @@ description = "A decorator for caching properties in classes." category = "main" optional = false python-versions = "*" -files = [ - {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"}, - {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"}, -] [[package]] name = "celery" @@ -242,10 +173,6 @@ description = "Distributed Task Queue." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "celery-5.2.7-py3-none-any.whl", hash = "sha256:138420c020cd58d6707e6257b6beda91fd39af7afde5d36c6334d175302c0e14"}, - {file = "celery-5.2.7.tar.gz", hash = "sha256:fafbd82934d30f8a004f81e8f7a062e31413a23d444be8ee3326553915958c6d"}, -] [package.dependencies] billiard = ">=3.6.4.0,<4.0" @@ -293,15 +220,11 @@ zstd = ["zstandard"] [[package]] name = "certifi" -version = "2022.12.7" +version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, - {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, -] [[package]] name = "cffi" @@ -310,72 +233,6 @@ description = "Foreign Function Interface for Python calling C code." category = "main" optional = false python-versions = "*" -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"}, -] [package.dependencies] pycparser = "*" @@ -387,95 +244,14 @@ description = "The Real First Universal Charset Detector. Open, modern and activ category = "main" optional = false python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, - {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, -] [[package]] name = "click" -version = "8.1.3" +version = "8.1.4" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, -] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -488,10 +264,6 @@ description = "Enables git-like *did-you-mean* feature in click" category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" -files = [ - {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"}, - {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"}, -] [package.dependencies] click = ">=7" @@ -503,10 +275,6 @@ description = "An extension module for click to enable registering CLI commands category = "main" optional = false python-versions = "*" -files = [ - {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, - {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, -] [package.dependencies] click = ">=4.0" @@ -516,20 +284,18 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] [[package]] name = "click-repl" -version = "0.2.0" +version = "0.3.0" description = "REPL plugin for Click" category = "main" optional = false -python-versions = "*" -files = [ - {file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"}, - {file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"}, -] +python-versions = ">=3.6" [package.dependencies] -click = "*" -prompt-toolkit = "*" -six = "*" +click = ">=7.0" +prompt-toolkit = ">=3.0.36" + +[package.extras] +testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] [[package]] name = "colorama" @@ -538,85 +304,27 @@ description = "Cross-platform colored terminal text." category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] [[package]] -name = "coreapi" -version = "2.3.3" -description = "Python client library for Core API." +name = "cryptography" +version = "41.0.1" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false -python-versions = "*" -files = [ - {file = "coreapi-2.3.3-py2.py3-none-any.whl", hash = "sha256:bf39d118d6d3e171f10df9ede5666f63ad80bba9a29a8ec17726a66cf52ee6f3"}, - {file = "coreapi-2.3.3.tar.gz", hash = "sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb"}, -] +python-versions = ">=3.7" [package.dependencies] -coreschema = "*" -itypes = "*" -requests = "*" -uritemplate = "*" - -[[package]] -name = "coreschema" -version = "0.0.4" -description = "Core Schema." -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "coreschema-0.0.4-py2-none-any.whl", hash = "sha256:5e6ef7bf38c1525d5e55a895934ab4273548629f16aed5c0a6caa74ebf45551f"}, - {file = "coreschema-0.0.4.tar.gz", hash = "sha256:9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607"}, -] - -[package.dependencies] -jinja2 = "*" - -[[package]] -name = "cryptography" -version = "40.0.2" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" -optional = false -python-versions = ">=3.6" -files = [ - {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b"}, - {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b"}, - {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"}, - {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c"}, - {file = "cryptography-40.0.2-cp36-abi3-win32.whl", hash = "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9"}, - {file = "cryptography-40.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404"}, - {file = "cryptography-40.0.2.tar.gz", hash = "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99"}, -] - -[package.dependencies] -cffi = ">=1.12" +cffi = ">=1.12" [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] -pep8test = ["black", "check-manifest", "mypy", "ruff"] -sdist = ["setuptools-rust (>=0.11.4)"] +nox = ["nox"] +pep8test = ["black", "check-sdist", "mypy", "ruff"] +sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"] +test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] -tox = ["tox"] [[package]] name = "cycler" @@ -625,22 +333,14 @@ description = "Composable style cycles" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, - {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, -] [[package]] name = "deepdiff" -version = "6.3.0" +version = "6.3.1" description = "Deep Difference and Search of any Python object/data. Recreate objects by adding adding deltas to each other." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "deepdiff-6.3.0-py3-none-any.whl", hash = "sha256:15838bd1cbd046ce15ed0c41e837cd04aff6b3e169c5e06fca69d7aa11615ceb"}, - {file = "deepdiff-6.3.0.tar.gz", hash = "sha256:6a3bf1e7228ac5c71ca2ec43505ca0a743ff54ec77aa08d7db22de6bc7b2b644"}, -] [package.dependencies] ordered-set = ">=4.0.2,<4.2.0" @@ -656,10 +356,6 @@ description = "XML bomb protection for Python stdlib modules" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, - {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, -] [[package]] name = "dill" @@ -668,25 +364,17 @@ description = "serialize all of python" category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, - {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, -] [package.extras] graph = ["objgraph (>=1.7.2)"] [[package]] name = "django" -version = "3.2.19" +version = "3.2.20" description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "Django-3.2.19-py3-none-any.whl", hash = "sha256:21cc991466245d659ab79cb01204f9515690f8dae00e5eabde307f14d24d4d7d"}, - {file = "Django-3.2.19.tar.gz", hash = "sha256:031365bae96814da19c10706218c44dff3b654cc4de20a98bd2d29b9bde469f0"}, -] [package.dependencies] asgiref = ">=3.3.2,<4" @@ -704,10 +392,6 @@ description = "Django tag for ajax-enabled tables" category = "main" optional = false python-versions = "*" -files = [ - {file = "django_ajax_tables-1.1.1-py3-none-any.whl", hash = "sha256:62e0138949153c0a994eefbf469f5496b1ad98bc073e170bc021a1aada7a32d0"}, - {file = "django_ajax_tables-1.1.1.tar.gz", hash = "sha256:5a7e7bc7940aa6332a564916cde22010a858a3d29fc1090ce8061010ec76337c"}, -] [[package]] name = "django-appconf" @@ -716,10 +400,6 @@ description = "A helper class for handling configuration defaults of packaged ap category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"}, - {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"}, -] [package.dependencies] django = "*" @@ -731,10 +411,6 @@ description = "A slick ORM cache with automatic granular event-driven invalidati category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "django-cacheops-6.0.tar.gz", hash = "sha256:78e161ebd96a32e28e19ec7da31f2afed9e62a79726b8b5f0ed12dd16c2e5841"}, - {file = "django_cacheops-6.0-py2.py3-none-any.whl", hash = "sha256:ee38b969c9fc68f7c88e769b6c811e19563cca1ae08210d9f553ff758b6c3e17"}, -] [package.dependencies] django = ">=2.1" @@ -749,10 +425,6 @@ description = "Database-backed Periodic Tasks." category = "main" optional = false python-versions = "*" -files = [ - {file = "django-celery-beat-2.2.1.tar.gz", hash = "sha256:97ae5eb309541551bdb07bf60cc57cadacf42a74287560ced2d2c06298620234"}, - {file = "django_celery_beat-2.2.1-py2.py3-none-any.whl", hash = "sha256:ab43049634fd18dc037927d7c2c7d5f67f95283a20ebbda55f42f8606412e66c"}, -] [package.dependencies] celery = ">=5.0,<6.0" @@ -767,10 +439,6 @@ description = "Django live settings with pluggable backends, including Redis." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-constance-2.9.1.tar.gz", hash = "sha256:4c6a96a5f2cbce1bc3fa41aa20566b6ee26fbd896c9f91f996518a3a0904f6c8"}, - {file = "django_constance-2.9.1-py3-none-any.whl", hash = "sha256:bf0b392efa18a1f3f464eddb7eb36ac5c02598354a5e31d0d4ce4fc8b535694b"}, -] [package.dependencies] django-picklefield = {version = "*", optional = true, markers = "extra == \"database\""} @@ -786,10 +454,6 @@ description = "django-cors-headers is a Django application for handling the serv category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "django-cors-headers-3.13.0.tar.gz", hash = "sha256:f9dc6b4e3f611c3199700b3e5f3398c28757dcd559c2f82932687f3d0443cfdf"}, - {file = "django_cors_headers-3.13.0-py3-none-any.whl", hash = "sha256:37e42883b5f1f2295df6b4bba96eb2417a14a03270cb24b2a07f021cd4487cf4"}, -] [package.dependencies] Django = ">=3.2" @@ -801,10 +465,6 @@ description = "Easily encrypt data in Django" category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "django-cryptography-1.0.tar.gz", hash = "sha256:13de5cf8f1250744c104b9e24774d03aa6d8488959dd40cdc016934043652445"}, - {file = "django_cryptography-1.0-py3-none-any.whl", hash = "sha256:0a99980b1cee7cc5e52f9b20b322620fea7cc124d770273e7bd285b20fd9d222"}, -] [package.dependencies] cryptography = "*" @@ -817,9 +477,6 @@ description = "Custom FILE_STORAGE for Django. Saves files in your database inst category = "main" optional = false python-versions = "*" -files = [ - {file = "django-db-file-storage-0.5.5.tar.gz", hash = "sha256:5d5da694b78ab202accab4508b958e0e37b3d146310e76f6f6125e1bdeaaad14"}, -] [package.dependencies] Django = "*" @@ -831,10 +488,6 @@ description = "A configurable set of panels that display various debug informati category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "django_debug_toolbar-3.8.1-py3-none-any.whl", hash = "sha256:879f8a4672d41621c06a4d322dcffa630fc4df056cada6e417ed01db0e5e0478"}, - {file = "django_debug_toolbar-3.8.1.tar.gz", hash = "sha256:24ef1a7d44d25e60d7951e378454c6509bf536dce7e7d9d36e7c387db499bc27"}, -] [package.dependencies] django = ">=3.2.4" @@ -842,15 +495,11 @@ sqlparse = ">=0.2" [[package]] name = "django-extensions" -version = "3.2.1" +version = "3.2.3" description = "Extensions for Django" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-extensions-3.2.1.tar.gz", hash = "sha256:2a4f4d757be2563cd1ff7cfdf2e57468f5f931cc88b23cf82ca75717aae504a4"}, - {file = "django_extensions-3.2.1-py3-none-any.whl", hash = "sha256:421464be390289513f86cb5e18eb43e5dc1de8b4c27ba9faa3b91261b0d67e09"}, -] [package.dependencies] Django = ">=3.2" @@ -862,10 +511,6 @@ description = "Django-filter is a reusable Django application for allowing users category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-filter-21.1.tar.gz", hash = "sha256:632a251fa8f1aadb4b8cceff932bb52fe2f826dd7dfe7f3eac40e5c463d6836e"}, - {file = "django_filter-21.1-py3-none-any.whl", hash = "sha256:f4a6737a30104c98d2e2a5fb93043f36dd7978e0c7ddc92f5998e85433ea5063"}, -] [package.dependencies] Django = ">=2.2" @@ -877,10 +522,6 @@ description = "Run checks on services like databases, queue servers, celery proc category = "main" optional = false python-versions = "*" -files = [ - {file = "django-health-check-3.16.5.tar.gz", hash = "sha256:1edfd49293ccebbce29f9da609c407f307aee240ab799ab4201031341ae78c0f"}, - {file = "django_health_check-3.16.5-py2.py3-none-any.whl", hash = "sha256:8d66781a0ea82b1a8b44878187b38a27370e94f18287312e39be0593e72d8983"}, -] [package.dependencies] django = ">=2.2" @@ -892,10 +533,6 @@ description = "Jinja2 templating language integrated in Django." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-jinja-2.10.2.tar.gz", hash = "sha256:bfdfbb55c1f5a679d69ad575d550c4707d386634009152efe014089f3c4d1412"}, - {file = "django_jinja-2.10.2-py3-none-any.whl", hash = "sha256:dd003ec1c95c0989eb28a538831bced62b1b61da551cb44a5dfd708fcf75589f"}, -] [package.dependencies] django = ">=2.2" @@ -908,10 +545,6 @@ description = "script tag with additional attributes for django.forms.Media" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django_js_asset-2.0.0-py3-none-any.whl", hash = "sha256:86f9f300d682537ddaf0487dc2ab356581b8f50c069bdba91d334a46e449f923"}, - {file = "django_js_asset-2.0.0.tar.gz", hash = "sha256:adc1ee1efa853fad42054b540c02205344bb406c9bddf87c9e5377a41b7db90f"}, -] [package.dependencies] Django = ">=2.2" @@ -926,10 +559,6 @@ description = "Utilities for implementing Modified Preorder Tree Traversal with category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-mptt-0.14.0.tar.gz", hash = "sha256:2c92a2b1614c53086278795ccf50580cf1f9b8564f3ff03055dd62bab5987711"}, - {file = "django_mptt-0.14.0-py3-none-any.whl", hash = "sha256:d9a87433ab0e4f35247c6f6d5a93ace6990860a4ba8796f815d185f773b9acfc"}, -] [package.dependencies] django-js-asset = "*" @@ -944,10 +573,6 @@ description = "Pickled object field for Django" category = "main" optional = false python-versions = ">=3" -files = [ - {file = "django-picklefield-3.1.tar.gz", hash = "sha256:c786cbeda78d6def2b43bff4840d19787809c8909f7ad683961703060398d356"}, - {file = "django_picklefield-3.1-py3-none-any.whl", hash = "sha256:d77c504df7311e8ec14e8b779f10ca6fec74de6c7f8e2c136e1ef60cf955125d"}, -] [package.dependencies] Django = ">=3.2" @@ -962,10 +587,6 @@ description = "Create pivot tables and histograms from ORM querysets" category = "main" optional = false python-versions = "*" -files = [ - {file = "django-pivot-1.9.0.tar.gz", hash = "sha256:5e985d32d9ff2a6b89419dd0292c0fa2822d494ee479b5fd16cdb542abf66a88"}, - {file = "django_pivot-1.9.0-py3-none-any.whl", hash = "sha256:1c60e18e7d5f7e42856faee0961748082ddd05b01ae7c8a4baed64d2bbacd051"}, -] [package.dependencies] django = ">=2.2.0" @@ -977,10 +598,6 @@ description = "Django middlewares to monitor your application with Prometheus.io category = "main" optional = false python-versions = "*" -files = [ - {file = "django-prometheus-2.2.0.tar.gz", hash = "sha256:240378a1307c408bd5fc85614a3a57f1ce633d4a222c9e291e2bbf325173b801"}, - {file = "django_prometheus-2.2.0-py2.py3-none-any.whl", hash = "sha256:e6616770d8820b8834762764bf1b76ec08e1b98e72a6f359d488a2e15fe3537c"}, -] [package.dependencies] prometheus-client = ">=0.7" @@ -992,10 +609,6 @@ description = "Full featured redis cache backend for Django." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-redis-5.2.0.tar.gz", hash = "sha256:8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de"}, - {file = "django_redis-5.2.0-py3-none-any.whl", hash = "sha256:1d037dc02b11ad7aa11f655d26dac3fb1af32630f61ef4428860a2e29ff92026"}, -] [package.dependencies] Django = ">=2.2" @@ -1011,10 +624,6 @@ description = "An app that provides django integration for RQ (Redis Queue)" category = "main" optional = false python-versions = "*" -files = [ - {file = "django-rq-2.5.1.tar.gz", hash = "sha256:f08486602664d73a6e335872c868d79663e380247e6307496d01b8fa770fefd8"}, - {file = "django_rq-2.5.1-py2.py3-none-any.whl", hash = "sha256:7be1e10e7091555f9f36edf100b0dbb205ea2b98683d74443d2bdf3c6649a03f"}, -] [package.dependencies] django = ">=2.0" @@ -1032,10 +641,6 @@ description = "Table/data-grid framework for Django" category = "main" optional = false python-versions = "*" -files = [ - {file = "django-tables2-2.4.1.tar.gz", hash = "sha256:6c72dd208358539e789e4c0efd7d151e43283a4aa4093a35f44c43489e7ddeaa"}, - {file = "django_tables2-2.4.1-py2.py3-none-any.whl", hash = "sha256:50762bf3d7c61a4eb70e763c3e278650d7266bb78d0497fc8fafcf4e507c9a64"}, -] [package.dependencies] Django = ">=1.11" @@ -1050,10 +655,6 @@ description = "django-taggit is a reusable Django application for simple tagging category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django-taggit-3.0.0.tar.gz", hash = "sha256:e645b8e3dd4f85989d5ef5c5a3d5ebbe5badf5d1e51b53e42d0af726240b00b9"}, - {file = "django_taggit-3.0.0-py3-none-any.whl", hash = "sha256:ca2df20399a11321db75988404afb640a08eff61e52bde35f6c16f307004ec9e"}, -] [package.dependencies] Django = ">=3.2" @@ -1065,10 +666,6 @@ description = "A Django app providing database and form fields for pytz timezone category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"}, - {file = "django_timezone_field-4.1.2-py3-none-any.whl", hash = "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36"}, -] [package.dependencies] django = ">=2.2" @@ -1084,10 +681,6 @@ description = "Tree queries with explicit opt-in, without configurability" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "django_tree_queries-0.11.0-py3-none-any.whl", hash = "sha256:d74fe9e36dc67cb2c6f7df1969ef700627b0c49af2ada15990dd3ae44e4ddb23"}, - {file = "django_tree_queries-0.11.0.tar.gz", hash = "sha256:768bc75fd5ab617e19bec5c7e207964d7f2f6155f5f3d8c3332b41d9d0e6b436"}, -] [package.extras] tests = ["coverage"] @@ -1099,10 +692,6 @@ description = "Django management commands for production webservers" category = "main" optional = false python-versions = "*" -files = [ - {file = "django-webserver-1.2.0.tar.gz", hash = "sha256:c976979d15b5ff9a212f7904d3b779e22219aebb4857860fcaf20e4e40f1da40"}, - {file = "django_webserver-1.2.0-py2.py3-none-any.whl", hash = "sha256:09200631f266484b9e944e38e92681d6e9aa7d90d089a5c86d5fb08fddad84fe"}, -] [package.dependencies] Django = "*" @@ -1121,10 +710,6 @@ description = "Web APIs for Django, made easy." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "djangorestframework-3.14.0-py3-none-any.whl", hash = "sha256:eb63f58c9f218e1a7d064d17a70751f528ed4e1d35547fdade9aaf4cd103fd08"}, - {file = "djangorestframework-3.14.0.tar.gz", hash = "sha256:579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8"}, -] [package.dependencies] django = ">=3.0" @@ -1137,10 +722,6 @@ description = "Sane and flexible OpenAPI 3 schema generation for Django REST fra category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "drf-spectacular-0.24.2.tar.gz", hash = "sha256:be32417594080a52f996afd83fd47ea9c2b83cbf13f6d3fbf3de809a0dfa7ead"}, - {file = "drf_spectacular-0.24.2-py3-none-any.whl", hash = "sha256:b276e6f7bda6dfb911e742dab87c6e97bc67da2dafe82d6fd8df7cec6c8b03ec"}, -] [package.dependencies] Django = ">=2.2" @@ -1158,46 +739,48 @@ sidecar = ["drf-spectacular-sidecar"] [[package]] name = "drf-spectacular-sidecar" -version = "2023.5.1" +version = "2023.7.1" description = "Serve self-contained distribution builds of Swagger UI and Redoc with Django" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "drf-spectacular-sidecar-2023.5.1.tar.gz", hash = "sha256:58358215fee6c4634d77335d4c341b8132dc0847b282fb2fe4b22530dc2a56ca"}, - {file = "drf_spectacular_sidecar-2023.5.1-py3-none-any.whl", hash = "sha256:10ab069a3475f763acbae76414ee80fc67a42c00394918777996bbfa9239f155"}, -] [package.dependencies] Django = ">=2.2" [[package]] name = "drf-yasg" -version = "1.21.5" +version = "1.21.6" description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "drf-yasg-1.21.5.tar.gz", hash = "sha256:ceef0c3b5dc4389781afd786e6dc3697af2a2fe0d8724ee1f637c23d75bbc5b2"}, - {file = "drf_yasg-1.21.5-py3-none-any.whl", hash = "sha256:ba9cf4bf79f259290daee9b400fa4fcdb0e78d2f043fa5e9f6589c939fd06d05"}, -] [package.dependencies] -coreapi = ">=2.3.3" -coreschema = ">=0.0.4" django = ">=2.2.16" djangorestframework = ">=3.10.3" inflection = ">=0.3.1" packaging = ">=21.0" pytz = ">=2021.1" -"ruamel.yaml" = ">=0.16.13" +pyyaml = ">=5.1" swagger-spec-validator = {version = ">=2.1.0", optional = true, markers = "extra == \"validation\""} uritemplate = ">=3.0.0" [package.extras] +coreapi = ["coreapi (>=2.3.3)", "coreschema (>=0.0.4)"] validation = ["swagger-spec-validator (>=2.1.0)"] +[[package]] +name = "exceptiongroup" +version = "1.1.2" +description = "Backport of PEP 654 (exception groups)" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "flake8" version = "3.9.2" @@ -1205,10 +788,6 @@ description = "the modular source code checker: pep8 pyflakes and co" category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, - {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, -] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} @@ -1223,10 +802,6 @@ description = "Tools to manipulate font files" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "fonttools-4.38.0-py3-none-any.whl", hash = "sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb"}, - {file = "fonttools-4.38.0.zip", hash = "sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1"}, -] [package.extras] all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=14.0.0)", "xattr", "zopfli (>=0.1.4)"] @@ -1249,10 +824,6 @@ description = "A fancy and practical functional tools" category = "main" optional = false python-versions = "*" -files = [ - {file = "funcy-1.18-py2.py3-none-any.whl", hash = "sha256:00ce91afc850357a131dc54f0db2ad8a1110d5087f1fa4480d7ea3ba0249f89d"}, - {file = "funcy-1.18.tar.gz", hash = "sha256:15448d19a8ebcc7a585afe7a384a19186d0bd67cbf56fb42cd1fd0f76313f9b2"}, -] [[package]] name = "future" @@ -1261,9 +832,6 @@ description = "Clean single-source support for Python 3 and 2" category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, -] [[package]] name = "ghp-import" @@ -1272,10 +840,6 @@ description = "Copy your docs directly to the gh-pages branch." category = "dev" optional = false python-versions = "*" -files = [ - {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, - {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, -] [package.dependencies] python-dateutil = ">=2.8.1" @@ -1290,10 +854,6 @@ description = "Git Object Database" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, - {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, -] [package.dependencies] smmap = ">=3.0.1,<6" @@ -1305,10 +865,6 @@ description = "GitPython is a Python library used to interact with Git repositor category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, - {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, -] [package.dependencies] gitdb = ">=4.0.1,<5" @@ -1321,10 +877,6 @@ description = "GraphQL Framework for Python" category = "main" optional = false python-versions = "*" -files = [ - {file = "graphene-2.1.9-py2.py3-none-any.whl", hash = "sha256:3d446eb1237c551052bc31155cf1a3a607053e4f58c9172b83a1b597beaa0868"}, - {file = "graphene-2.1.9.tar.gz", hash = "sha256:b9f2850e064eebfee9a3ef4a1f8aa0742848d97652173ab44c82cc8a62b9ed93"}, -] [package.dependencies] aniso8601 = ">=3,<=7" @@ -1344,10 +896,6 @@ description = "Graphene Django integration" category = "main" optional = false python-versions = "*" -files = [ - {file = "graphene-django-2.15.0.tar.gz", hash = "sha256:b78c9b05bc899016b9cc5bf13faa1f37fe1faa8c5407552c6ddd1a28f46fc31a"}, - {file = "graphene_django-2.15.0-py2.py3-none-any.whl", hash = "sha256:02671d195f0c09c8649acff2a8f4ad4f297d0f7d98ea6e6cdf034b81bab92880"}, -] [package.dependencies] Django = ">=1.11" @@ -1370,9 +918,6 @@ description = "Optimize database access inside graphene queries." category = "main" optional = false python-versions = "*" -files = [ - {file = "graphene-django-optimizer-0.8.0.tar.gz", hash = "sha256:79269880d59d0a35d41751ddcb419220c4ad3871960416371119f447cb2e1a77"}, -] [[package]] name = "graphql-core" @@ -1381,10 +926,6 @@ description = "GraphQL implementation for Python" category = "main" optional = false python-versions = "*" -files = [ - {file = "graphql-core-2.3.2.tar.gz", hash = "sha256:aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746"}, - {file = "graphql_core-2.3.2-py2.py3-none-any.whl", hash = "sha256:44c9bac4514e5e30c5a595fac8e3c76c1975cae14db215e8174c7fe995825bad"}, -] [package.dependencies] promise = ">=2.3,<3" @@ -1402,10 +943,6 @@ description = "Relay implementation for Python" category = "main" optional = false python-versions = "*" -files = [ - {file = "graphql-relay-2.0.1.tar.gz", hash = "sha256:870b6b5304123a38a0b215a79eace021acce5a466bf40cd39fa18cb8528afabb"}, - {file = "graphql_relay-2.0.1-py3-none-any.whl", hash = "sha256:ac514cb86db9a43014d7e73511d521137ac12cf0101b2eaa5f0a3da2e10d913d"}, -] [package.dependencies] graphql-core = ">=2.2,<3" @@ -1414,20 +951,65 @@ six = ">=1.12" [[package]] name = "griffe" -version = "0.27.2" +version = "0.30.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." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "griffe-0.27.2-py3-none-any.whl", hash = "sha256:8d6bc40e7bede3fb5879598c1f71b8902d245804ab59ae55516f864b2bdc25c6"}, - {file = "griffe-0.27.2.tar.gz", hash = "sha256:833990074c8c0b323a55f37f72265fdd841cb0a756122303505bf4bc80800e82"}, -] [package.dependencies] cached-property = {version = "*", markers = "python_version < \"3.8\""} colorama = ">=0.4" +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[[package]] +name = "httpcore" +version = "0.17.3" +description = "A minimal low-level HTTP client." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +anyio = ">=3.0,<5.0" +certifi = "*" +h11 = ">=0.13,<0.15" +sniffio = ">=1.0.0,<2.0.0" + +[package.extras] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] + +[[package]] +name = "httpx" +version = "0.24.1" +description = "The next generation HTTP client." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +certifi = "*" +httpcore = ">=0.15.0,<0.18.0" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] + [[package]] name = "idna" version = "3.4" @@ -1435,10 +1017,6 @@ description = "Internationalized Domain Names in Applications (IDNA)" category = "main" 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"}, -] [[package]] name = "importlib-metadata" @@ -1447,10 +1025,6 @@ description = "Read metadata from Python packages" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, -] [package.dependencies] typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} @@ -1468,10 +1042,6 @@ description = "Read resources from Python packages" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, - {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, -] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -1487,22 +1057,14 @@ description = "A port of Ruby on Rails inflector to Python" category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, - {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, -] [[package]] name = "invoke" -version = "2.1.1" +version = "2.1.3" description = "Pythonic task execution" category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "invoke-2.1.1-py3-none-any.whl", hash = "sha256:e86a53046eca453d3e609e7017f65db5f66b947d4d337b60658859eb8c8a80e3"}, - {file = "invoke-2.1.1.tar.gz", hash = "sha256:7dcf054c4626b89713da650635c29e9dfeb8a1dd0a14edc60bd3e16f751292ff"}, -] [[package]] name = "isort" @@ -1511,10 +1073,6 @@ description = "A Python utility / library to sort Python imports." category = "dev" optional = false python-versions = ">=3.7.0" -files = [ - {file = "isort-5.11.5-py3-none-any.whl", hash = "sha256:ba1d72fb2595a01c7895a5128f9585a5cc4b6d395f1c8d514989b9a7eb2a8746"}, - {file = "isort-5.11.5.tar.gz", hash = "sha256:6be1f76a507cb2ecf16c7cf14a37e41609ca082330be4e3436a18ef74add55db"}, -] [package.extras] colors = ["colorama (>=0.4.3,<0.5.0)"] @@ -1522,18 +1080,6 @@ pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib" plugins = ["setuptools"] requirements-deprecated-finder = ["pip-api", "pipreqs"] -[[package]] -name = "itypes" -version = "1.2.0" -description = "Simple immutable types for python." -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "itypes-1.2.0-py2.py3-none-any.whl", hash = "sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6"}, - {file = "itypes-1.2.0.tar.gz", hash = "sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1"}, -] - [[package]] name = "jinja2" version = "3.1.2" @@ -1541,10 +1087,6 @@ description = "A very fast and expressive template engine." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, -] [package.dependencies] MarkupSafe = ">=2.0" @@ -1559,10 +1101,6 @@ description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "jsonschema-4.7.2-py3-none-any.whl", hash = "sha256:c7448a421b25e424fccfceea86b4e3a8672b4436e1988ccbde92c80828d4f085"}, - {file = "jsonschema-4.7.2.tar.gz", hash = "sha256:73764f461d61eb97a057c929368610a134d1d1fffd858acfe88864ee94f1f1d3"}, -] [package.dependencies] attrs = ">=17.4.0" @@ -1582,10 +1120,6 @@ description = "Junos 'EZ' automation for non-programmers" category = "main" optional = false python-versions = ">=3.5, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "junos-eznc-2.6.7.tar.gz", hash = "sha256:b3ab81dafb160cd16cba8f26b92b6f5c3333a8d30566a7ebd966fc1f313b0980"}, - {file = "junos_eznc-2.6.7-py2.py3-none-any.whl", hash = "sha256:6ee9d74228ebaca01381eb88dbe21765006d76935960fd4e6cd8d67248b11644"}, -] [package.dependencies] jinja2 = ">=2.7.1" @@ -1608,76 +1142,6 @@ description = "A fast implementation of the Cassowary constraint solver" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"}, - {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"}, - {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de"}, - {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32"}, - {file = "kiwisolver-1.4.4-cp310-cp310-win32.whl", hash = "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408"}, - {file = "kiwisolver-1.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004"}, - {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6"}, - {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2"}, - {file = "kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5"}, - {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750"}, - {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4"}, - {file = "kiwisolver-1.4.4-cp311-cp311-win32.whl", hash = "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e"}, - {file = "kiwisolver-1.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-win32.whl", hash = "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3"}, - {file = "kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166"}, - {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454"}, - {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0"}, - {file = "kiwisolver-1.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d"}, - {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c"}, - {file = "kiwisolver-1.4.4-cp38-cp38-win32.whl", hash = "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191"}, - {file = "kiwisolver-1.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766"}, - {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8"}, - {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897"}, - {file = "kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac"}, - {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9"}, - {file = "kiwisolver-1.4.4-cp39-cp39-win32.whl", hash = "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea"}, - {file = "kiwisolver-1.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a"}, - {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb"}, - {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2"}, - {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"}, - {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"}, -] [package.dependencies] typing-extensions = {version = "*", markers = "python_version < \"3.8\""} @@ -1689,10 +1153,6 @@ description = "Messaging library for Python." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "kombu-5.2.4-py3-none-any.whl", hash = "sha256:8b213b24293d3417bcf0d2f5537b7f756079e3ea232a8386dcc89a59fd2361a4"}, - {file = "kombu-5.2.4.tar.gz", hash = "sha256:37cee3ee725f94ea8bb173eaab7c1760203ea53bbebae226328600f9d2799610"}, -] [package.dependencies] amqp = ">=5.0.9,<6.0.0" @@ -1723,137 +1183,20 @@ description = "A fast and thorough lazy object proxy." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] [[package]] name = "lxml" -version = "4.9.2" +version = "4.9.3" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" -files = [ - {file = "lxml-4.9.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:76cf573e5a365e790396a5cc2b909812633409306c6531a6877c59061e42c4f2"}, - {file = "lxml-4.9.2-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b1f42b6921d0e81b1bcb5e395bc091a70f41c4d4e55ba99c6da2b31626c44892"}, - {file = "lxml-4.9.2-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9f102706d0ca011de571de32c3247c6476b55bb6bc65a20f682f000b07a4852a"}, - {file = "lxml-4.9.2-cp27-cp27m-win32.whl", hash = "sha256:8d0b4612b66ff5d62d03bcaa043bb018f74dfea51184e53f067e6fdcba4bd8de"}, - {file = "lxml-4.9.2-cp27-cp27m-win_amd64.whl", hash = "sha256:4c8f293f14abc8fd3e8e01c5bd86e6ed0b6ef71936ded5bf10fe7a5efefbaca3"}, - {file = "lxml-4.9.2-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2899456259589aa38bfb018c364d6ae7b53c5c22d8e27d0ec7609c2a1ff78b50"}, - {file = "lxml-4.9.2-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6749649eecd6a9871cae297bffa4ee76f90b4504a2a2ab528d9ebe912b101975"}, - {file = "lxml-4.9.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:a08cff61517ee26cb56f1e949cca38caabe9ea9fbb4b1e10a805dc39844b7d5c"}, - {file = "lxml-4.9.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:85cabf64adec449132e55616e7ca3e1000ab449d1d0f9d7f83146ed5bdcb6d8a"}, - {file = "lxml-4.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8340225bd5e7a701c0fa98284c849c9b9fc9238abf53a0ebd90900f25d39a4e4"}, - {file = "lxml-4.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1ab8f1f932e8f82355e75dda5413a57612c6ea448069d4fb2e217e9a4bed13d4"}, - {file = "lxml-4.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:699a9af7dffaf67deeae27b2112aa06b41c370d5e7633e0ee0aea2e0b6c211f7"}, - {file = "lxml-4.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b9cc34af337a97d470040f99ba4282f6e6bac88407d021688a5d585e44a23184"}, - {file = "lxml-4.9.2-cp310-cp310-win32.whl", hash = "sha256:d02a5399126a53492415d4906ab0ad0375a5456cc05c3fc0fc4ca11771745cda"}, - {file = "lxml-4.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:a38486985ca49cfa574a507e7a2215c0c780fd1778bb6290c21193b7211702ab"}, - {file = "lxml-4.9.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c83203addf554215463b59f6399835201999b5e48019dc17f182ed5ad87205c9"}, - {file = "lxml-4.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:2a87fa548561d2f4643c99cd13131acb607ddabb70682dcf1dff5f71f781a4bf"}, - {file = "lxml-4.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:d6b430a9938a5a5d85fc107d852262ddcd48602c120e3dbb02137c83d212b380"}, - {file = "lxml-4.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3efea981d956a6f7173b4659849f55081867cf897e719f57383698af6f618a92"}, - {file = "lxml-4.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:df0623dcf9668ad0445e0558a21211d4e9a149ea8f5666917c8eeec515f0a6d1"}, - {file = "lxml-4.9.2-cp311-cp311-win32.whl", hash = "sha256:da248f93f0418a9e9d94b0080d7ebc407a9a5e6d0b57bb30db9b5cc28de1ad33"}, - {file = "lxml-4.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:3818b8e2c4b5148567e1b09ce739006acfaa44ce3156f8cbbc11062994b8e8dd"}, - {file = "lxml-4.9.2-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca989b91cf3a3ba28930a9fc1e9aeafc2a395448641df1f387a2d394638943b0"}, - {file = "lxml-4.9.2-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:822068f85e12a6e292803e112ab876bc03ed1f03dddb80154c395f891ca6b31e"}, - {file = "lxml-4.9.2-cp35-cp35m-win32.whl", hash = "sha256:be7292c55101e22f2a3d4d8913944cbea71eea90792bf914add27454a13905df"}, - {file = "lxml-4.9.2-cp35-cp35m-win_amd64.whl", hash = "sha256:998c7c41910666d2976928c38ea96a70d1aa43be6fe502f21a651e17483a43c5"}, - {file = "lxml-4.9.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:b26a29f0b7fc6f0897f043ca366142d2b609dc60756ee6e4e90b5f762c6adc53"}, - {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:ab323679b8b3030000f2be63e22cdeea5b47ee0abd2d6a1dc0c8103ddaa56cd7"}, - {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:689bb688a1db722485e4610a503e3e9210dcc20c520b45ac8f7533c837be76fe"}, - {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:f49e52d174375a7def9915c9f06ec4e569d235ad428f70751765f48d5926678c"}, - {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:36c3c175d34652a35475a73762b545f4527aec044910a651d2bf50de9c3352b1"}, - {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a35f8b7fa99f90dd2f5dc5a9fa12332642f087a7641289ca6c40d6e1a2637d8e"}, - {file = "lxml-4.9.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:58bfa3aa19ca4c0f28c5dde0ff56c520fbac6f0daf4fac66ed4c8d2fb7f22e74"}, - {file = "lxml-4.9.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc718cd47b765e790eecb74d044cc8d37d58562f6c314ee9484df26276d36a38"}, - {file = "lxml-4.9.2-cp36-cp36m-win32.whl", hash = "sha256:d5bf6545cd27aaa8a13033ce56354ed9e25ab0e4ac3b5392b763d8d04b08e0c5"}, - {file = "lxml-4.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:3ab9fa9d6dc2a7f29d7affdf3edebf6ece6fb28a6d80b14c3b2fb9d39b9322c3"}, - {file = "lxml-4.9.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:05ca3f6abf5cf78fe053da9b1166e062ade3fa5d4f92b4ed688127ea7d7b1d03"}, - {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:a5da296eb617d18e497bcf0a5c528f5d3b18dadb3619fbdadf4ed2356ef8d941"}, - {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:04876580c050a8c5341d706dd464ff04fd597095cc8c023252566a8826505726"}, - {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c9ec3eaf616d67db0764b3bb983962b4f385a1f08304fd30c7283954e6a7869b"}, - {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2a29ba94d065945944016b6b74e538bdb1751a1db6ffb80c9d3c2e40d6fa9894"}, - {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a82d05da00a58b8e4c0008edbc8a4b6ec5a4bc1e2ee0fb6ed157cf634ed7fa45"}, - {file = "lxml-4.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:223f4232855ade399bd409331e6ca70fb5578efef22cf4069a6090acc0f53c0e"}, - {file = "lxml-4.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d17bc7c2ccf49c478c5bdd447594e82692c74222698cfc9b5daae7ae7e90743b"}, - {file = "lxml-4.9.2-cp37-cp37m-win32.whl", hash = "sha256:b64d891da92e232c36976c80ed7ebb383e3f148489796d8d31a5b6a677825efe"}, - {file = "lxml-4.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:a0a336d6d3e8b234a3aae3c674873d8f0e720b76bc1d9416866c41cd9500ffb9"}, - {file = "lxml-4.9.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:da4dd7c9c50c059aba52b3524f84d7de956f7fef88f0bafcf4ad7dde94a064e8"}, - {file = "lxml-4.9.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:821b7f59b99551c69c85a6039c65b75f5683bdc63270fec660f75da67469ca24"}, - {file = "lxml-4.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:e5168986b90a8d1f2f9dc1b841467c74221bd752537b99761a93d2d981e04889"}, - {file = "lxml-4.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8e20cb5a47247e383cf4ff523205060991021233ebd6f924bca927fcf25cf86f"}, - {file = "lxml-4.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13598ecfbd2e86ea7ae45ec28a2a54fb87ee9b9fdb0f6d343297d8e548392c03"}, - {file = "lxml-4.9.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:880bbbcbe2fca64e2f4d8e04db47bcdf504936fa2b33933efd945e1b429bea8c"}, - {file = "lxml-4.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7d2278d59425777cfcb19735018d897ca8303abe67cc735f9f97177ceff8027f"}, - {file = "lxml-4.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5344a43228767f53a9df6e5b253f8cdca7dfc7b7aeae52551958192f56d98457"}, - {file = "lxml-4.9.2-cp38-cp38-win32.whl", hash = "sha256:925073b2fe14ab9b87e73f9a5fde6ce6392da430f3004d8b72cc86f746f5163b"}, - {file = "lxml-4.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:9b22c5c66f67ae00c0199f6055705bc3eb3fcb08d03d2ec4059a2b1b25ed48d7"}, - {file = "lxml-4.9.2-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5f50a1c177e2fa3ee0667a5ab79fdc6b23086bc8b589d90b93b4bd17eb0e64d1"}, - {file = "lxml-4.9.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:090c6543d3696cbe15b4ac6e175e576bcc3f1ccfbba970061b7300b0c15a2140"}, - {file = "lxml-4.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:63da2ccc0857c311d764e7d3d90f429c252e83b52d1f8f1d1fe55be26827d1f4"}, - {file = "lxml-4.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:5b4545b8a40478183ac06c073e81a5ce4cf01bf1734962577cf2bb569a5b3bbf"}, - {file = "lxml-4.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2e430cd2824f05f2d4f687701144556646bae8f249fd60aa1e4c768ba7018947"}, - {file = "lxml-4.9.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6804daeb7ef69e7b36f76caddb85cccd63d0c56dedb47555d2fc969e2af6a1a5"}, - {file = "lxml-4.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a6e441a86553c310258aca15d1c05903aaf4965b23f3bc2d55f200804e005ee5"}, - {file = "lxml-4.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca34efc80a29351897e18888c71c6aca4a359247c87e0b1c7ada14f0ab0c0fb2"}, - {file = "lxml-4.9.2-cp39-cp39-win32.whl", hash = "sha256:6b418afe5df18233fc6b6093deb82a32895b6bb0b1155c2cdb05203f583053f1"}, - {file = "lxml-4.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:f1496ea22ca2c830cbcbd473de8f114a320da308438ae65abad6bab7867fe38f"}, - {file = "lxml-4.9.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:b264171e3143d842ded311b7dccd46ff9ef34247129ff5bf5066123c55c2431c"}, - {file = "lxml-4.9.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0dc313ef231edf866912e9d8f5a042ddab56c752619e92dfd3a2c277e6a7299a"}, - {file = "lxml-4.9.2-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:16efd54337136e8cd72fb9485c368d91d77a47ee2d42b057564aae201257d419"}, - {file = "lxml-4.9.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0f2b1e0d79180f344ff9f321327b005ca043a50ece8713de61d1cb383fb8ac05"}, - {file = "lxml-4.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:7b770ed79542ed52c519119473898198761d78beb24b107acf3ad65deae61f1f"}, - {file = "lxml-4.9.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efa29c2fe6b4fdd32e8ef81c1528506895eca86e1d8c4657fda04c9b3786ddf9"}, - {file = "lxml-4.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7e91ee82f4199af8c43d8158024cbdff3d931df350252288f0d4ce656df7f3b5"}, - {file = "lxml-4.9.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:b23e19989c355ca854276178a0463951a653309fb8e57ce674497f2d9f208746"}, - {file = "lxml-4.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:01d36c05f4afb8f7c20fd9ed5badca32a2029b93b1750f571ccc0b142531caf7"}, - {file = "lxml-4.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7b515674acfdcadb0eb5d00d8a709868173acece5cb0be3dd165950cbfdf5409"}, - {file = "lxml-4.9.2.tar.gz", hash = "sha256:2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67"}, -] [package.extras] cssselect = ["cssselect (>=0.7)"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=0.29.7)"] +source = ["Cython (>=0.29.35)"] [[package]] name = "markdown" @@ -1862,10 +1205,6 @@ description = "Python implementation of Markdown." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, - {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, -] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} @@ -1880,10 +1219,6 @@ description = "Python port of markdown-it. Markdown parsing, done right!" category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, - {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, -] [package.dependencies] mdurl = ">=0.1,<1.0" @@ -1901,63 +1236,11 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "2.1.2" +version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, - {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, -] [[package]] name = "matplotlib" @@ -1966,43 +1249,6 @@ description = "Python plotting package" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "matplotlib-3.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a206a1b762b39398efea838f528b3a6d60cdb26fe9d58b48265787e29cd1d693"}, - {file = "matplotlib-3.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd45a6f3e93a780185f70f05cf2a383daed13c3489233faad83e81720f7ede24"}, - {file = "matplotlib-3.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d62880e1f60e5a30a2a8484432bcb3a5056969dc97258d7326ad465feb7ae069"}, - {file = "matplotlib-3.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ab29589cef03bc88acfa3a1490359000c18186fc30374d8aa77d33cc4a51a4a"}, - {file = "matplotlib-3.5.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2886cc009f40e2984c083687251821f305d811d38e3df8ded414265e4583f0c5"}, - {file = "matplotlib-3.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c995f7d9568f18b5db131ab124c64e51b6820a92d10246d4f2b3f3a66698a15b"}, - {file = "matplotlib-3.5.3-cp310-cp310-win32.whl", hash = "sha256:6bb93a0492d68461bd458eba878f52fdc8ac7bdb6c4acdfe43dba684787838c2"}, - {file = "matplotlib-3.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:2e6d184ebe291b9e8f7e78bbab7987d269c38ea3e062eace1fe7d898042ef804"}, - {file = "matplotlib-3.5.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6ea6aef5c4338e58d8d376068e28f80a24f54e69f09479d1c90b7172bad9f25b"}, - {file = "matplotlib-3.5.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:839d47b8ead7ad9669aaacdbc03f29656dc21f0d41a6fea2d473d856c39c8b1c"}, - {file = "matplotlib-3.5.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3b4fa56159dc3c7f9250df88f653f085068bcd32dcd38e479bba58909254af7f"}, - {file = "matplotlib-3.5.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:94ff86af56a3869a4ae26a9637a849effd7643858a1a04dd5ee50e9ab75069a7"}, - {file = "matplotlib-3.5.3-cp37-cp37m-win32.whl", hash = "sha256:35a8ad4dddebd51f94c5d24bec689ec0ec66173bf614374a1244c6241c1595e0"}, - {file = "matplotlib-3.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:43e9d3fa077bf0cc95ded13d331d2156f9973dce17c6f0c8b49ccd57af94dbd9"}, - {file = "matplotlib-3.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:22227c976ad4dc8c5a5057540421f0d8708c6560744ad2ad638d48e2984e1dbc"}, - {file = "matplotlib-3.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf618a825deb6205f015df6dfe6167a5d9b351203b03fab82043ae1d30f16511"}, - {file = "matplotlib-3.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9befa5954cdbc085e37d974ff6053da269474177921dd61facdad8023c4aeb51"}, - {file = "matplotlib-3.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3840c280ebc87a48488a46f760ea1c0c0c83fcf7abbe2e6baf99d033fd35fd8"}, - {file = "matplotlib-3.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dacddf5bfcec60e3f26ec5c0ae3d0274853a258b6c3fc5ef2f06a8eb23e042be"}, - {file = "matplotlib-3.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b428076a55fb1c084c76cb93e68006f27d247169f056412607c5c88828d08f88"}, - {file = "matplotlib-3.5.3-cp38-cp38-win32.whl", hash = "sha256:874df7505ba820e0400e7091199decf3ff1fde0583652120c50cd60d5820ca9a"}, - {file = "matplotlib-3.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:b28de401d928890187c589036857a270a032961411934bdac4cf12dde3d43094"}, - {file = "matplotlib-3.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3211ba82b9f1518d346f6309df137b50c3dc4421b4ed4815d1d7eadc617f45a1"}, - {file = "matplotlib-3.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6fe807e8a22620b4cd95cfbc795ba310dc80151d43b037257250faf0bfcd82bc"}, - {file = "matplotlib-3.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5c096363b206a3caf43773abebdbb5a23ea13faef71d701b21a9c27fdcef72f4"}, - {file = "matplotlib-3.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcdfcb0f976e1bac6721d7d457c17be23cf7501f977b6a38f9d38a3762841f7"}, - {file = "matplotlib-3.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1e64ac9be9da6bfff0a732e62116484b93b02a0b4d4b19934fb4f8e7ad26ad6a"}, - {file = "matplotlib-3.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:73dd93dc35c85dece610cca8358003bf0760d7986f70b223e2306b4ea6d1406b"}, - {file = "matplotlib-3.5.3-cp39-cp39-win32.whl", hash = "sha256:879c7e5fce4939c6aa04581dfe08d57eb6102a71f2e202e3314d5fbc072fd5a0"}, - {file = "matplotlib-3.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:ab8d26f07fe64f6f6736d635cce7bfd7f625320490ed5bfc347f2cdb4fae0e56"}, - {file = "matplotlib-3.5.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:99482b83ebf4eb6d5fc6813d7aacdefdd480f0d9c0b52dcf9f1cc3b2c4b3361a"}, - {file = "matplotlib-3.5.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f814504e459c68118bf2246a530ed953ebd18213dc20e3da524174d84ed010b2"}, - {file = "matplotlib-3.5.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57f1b4e69f438a99bb64d7f2c340db1b096b41ebaa515cf61ea72624279220ce"}, - {file = "matplotlib-3.5.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d2484b350bf3d32cae43f85dcfc89b3ed7bd2bcd781ef351f93eb6fb2cc483f9"}, - {file = "matplotlib-3.5.3.tar.gz", hash = "sha256:339cac48b80ddbc8bfd05daae0a3a73414651a8596904c2a881cfd1edb65f26c"}, -] [package.dependencies] cycler = ">=0.10" @@ -2013,6 +1259,7 @@ packaging = ">=20.0" pillow = ">=6.2.0" pyparsing = ">=2.2.1" python-dateutil = ">=2.7" +setuptools_scm = ">=4,<7" [[package]] name = "mccabe" @@ -2021,10 +1268,6 @@ description = "McCabe checker, plugin for flake8" category = "dev" optional = false python-versions = "*" -files = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, -] [[package]] name = "mdurl" @@ -2033,10 +1276,6 @@ description = "Markdown URL utilities" category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] [[package]] name = "mergedeep" @@ -2045,10 +1284,6 @@ description = "A deep merge function for 🐍." category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, - {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, -] [[package]] name = "mkdocs" @@ -2057,10 +1292,6 @@ description = "Project documentation with Markdown." category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "mkdocs-1.3.1-py3-none-any.whl", hash = "sha256:fda92466393127d2da830bc6edc3a625a14b436316d1caf347690648e774c4f0"}, - {file = "mkdocs-1.3.1.tar.gz", hash = "sha256:a41a2ff25ce3bbacc953f9844ba07d106233cd76c88bac1f59cb1564ac0d87ed"}, -] [package.dependencies] click = ">=3.3" @@ -2084,10 +1315,6 @@ description = "Automatically link across pages in MkDocs." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mkdocs-autorefs-0.4.1.tar.gz", hash = "sha256:70748a7bd025f9ecd6d6feeba8ba63f8e891a1af55f48e366d6d6e78493aba84"}, - {file = "mkdocs_autorefs-0.4.1-py3-none-any.whl", hash = "sha256:a2248a9501b29dc0cc8ba4c09f4f47ff121945f6ce33d760f145d6f89d313f5b"}, -] [package.dependencies] Markdown = ">=3.3" @@ -2100,10 +1327,6 @@ description = "Documentation that simply works" category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mkdocs-material-8.4.2.tar.gz", hash = "sha256:704c64c3fff126a3923c2961d95f26b19be621342a6a4e49ed039f0bb7a5c540"}, - {file = "mkdocs_material-8.4.2-py2.py3-none-any.whl", hash = "sha256:166287bb0e4197804906bf0389a852d5ced43182c30127ac8b48a4e497ecd7e5"}, -] [package.dependencies] jinja2 = ">=3.0.2" @@ -2120,10 +1343,6 @@ description = "Extension pack for Python Markdown and MkDocs Material." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mkdocs_material_extensions-1.1.1-py3-none-any.whl", hash = "sha256:e41d9f38e4798b6617ad98ca8f7f1157b1e4385ac1459ca1e4ea219b556df945"}, - {file = "mkdocs_material_extensions-1.1.1.tar.gz", hash = "sha256:9c003da71e2cc2493d910237448c672e00cefc800d3d6ae93d2fc69979e3bd93"}, -] [[package]] name = "mkdocs-version-annotations" @@ -2132,30 +1351,24 @@ description = "MkDocs plugin to add custom admonitions for documenting version d category = "dev" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "mkdocs-version-annotations-1.0.0.tar.gz", hash = "sha256:6786024b37d27b330fda240b76ebec8e7ce48bd5a9d7a66e99804559d088dffa"}, - {file = "mkdocs_version_annotations-1.0.0-py3-none-any.whl", hash = "sha256:385004eb4a7530dd87a227e08cd907ce7a8fe21fdf297720a4149c511bcf05f5"}, -] [[package]] name = "mkdocstrings" -version = "0.19.0" +version = "0.22.0" description = "Automatic documentation from sources, for MkDocs." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mkdocstrings-0.19.0-py3-none-any.whl", hash = "sha256:3217d510d385c961f69385a670b2677e68e07b5fea4a504d86bf54c006c87c7d"}, - {file = "mkdocstrings-0.19.0.tar.gz", hash = "sha256:efa34a67bad11229d532d89f6836a8a215937548623b64f3698a1df62e01cc3e"}, -] [package.dependencies] +importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} Jinja2 = ">=2.11.1" Markdown = ">=3.3" MarkupSafe = ">=1.1" mkdocs = ">=1.2" mkdocs-autorefs = ">=0.3.1" pymdown-extensions = ">=6.3" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.10\""} [package.extras] crystal = ["mkdocstrings-crystal (>=0.3.4)"] @@ -2164,19 +1377,15 @@ python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] [[package]] name = "mkdocstrings-python" -version = "0.7.1" +version = "1.1.2" description = "A Python handler for mkdocstrings." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mkdocstrings-python-0.7.1.tar.gz", hash = "sha256:c334b382dca202dfa37071c182418a6df5818356a95d54362a2b24822ca3af71"}, - {file = "mkdocstrings_python-0.7.1-py3-none-any.whl", hash = "sha256:a22060bfa374697678e9af4e62b020d990dad2711c98f7a9fac5c0345bef93c7"}, -] [package.dependencies] -griffe = ">=0.11.1" -mkdocstrings = ">=0.19" +griffe = ">=0.24" +mkdocstrings = ">=0.20" [[package]] name = "mypy-extensions" @@ -2185,21 +1394,14 @@ description = "Experimental type system extensions for programs checked with the category = "main" optional = false python-versions = ">=2.7" -files = [ - {file = "mypy_extensions-0.4.4.tar.gz", hash = "sha256:c8b707883a96efe9b4bb3aaf0dcc07e7e217d7d8368eec4db4049ee9e142f4fd"}, -] [[package]] name = "napalm" -version = "4.0.0" +version = "4.1.0" description = "Network Automation and Programmability Abstraction Layer with Multivendor support" category = "main" optional = false python-versions = "*" -files = [ - {file = "napalm-4.0.0-py2.py3-none-any.whl", hash = "sha256:e4289f6966974b485c1f3de3e8f4a11ac2ed2825e975bbd5afc006331b1e4c36"}, - {file = "napalm-4.0.0.tar.gz", hash = "sha256:40e1bd297ac4102c14c0d427c51d61c3a12d5d5bec163750733941ad82a464ee"}, -] [package.dependencies] cffi = ">=1.11.3" @@ -2209,7 +1411,7 @@ junos-eznc = ">=2.6.3" lxml = ">=4.3.0" ncclient = "*" netaddr = "*" -netmiko = ">=4.0.0" +netmiko = ">=4.1.0" netutils = ">=1.0.0" paramiko = ">=2.6.0" pyeapi = ">=0.8.2" @@ -2217,7 +1419,7 @@ pyYAML = "*" requests = ">=2.7.0" scp = "*" setuptools = ">=38.4.0" -textfsm = "<=1.1.2" +textfsm = "*" ttp = "*" ttp-templates = "*" typing-extensions = ">=4.3.0" @@ -2229,10 +1431,6 @@ description = "Source of truth and network automation platform." category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "nautobot-1.5.16-py3-none-any.whl", hash = "sha256:9ca3c5e277377155549ffe5a3c2b886ee148c1639fced438eb4f08ba8f7bcec1"}, - {file = "nautobot-1.5.16.tar.gz", hash = "sha256:36b73ffc8b63c2e2667cbc40b05137fd9291335d652adb088c364f546add9adf"}, -] [package.dependencies] celery = ">=5.2.7,<5.3.0" @@ -2294,10 +1492,6 @@ description = "Nautobot Nornir plugin." category = "main" optional = false python-versions = ">=3.6,<4.0" -files = [ - {file = "nautobot-plugin-nornir-1.0.0.tar.gz", hash = "sha256:d9301329decd7e4b9b5578c72e05c44ac84fc747002135b99538152a5ae27de3"}, - {file = "nautobot_plugin_nornir-1.0.0-py3-none-any.whl", hash = "sha256:14e4098bf0a4d0d5ca3c550e75c6acf88502fb774791865488a9eaac5eff402e"}, -] [package.dependencies] nautobot = ">=1.2.0" @@ -2311,9 +1505,6 @@ description = "Python library for NETCONF clients" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "ncclient-0.6.13.tar.gz", hash = "sha256:f9f8cea8bcbe057e1b948b9cd1b241eafb8a3f73c4981fbdfa1cc6ed69c0a7b3"}, -] [package.dependencies] lxml = ">=3.3.0" @@ -2328,10 +1519,6 @@ description = "A network address manipulation library for Python" category = "main" optional = false python-versions = "*" -files = [ - {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, - {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, -] [[package]] name = "netmiko" @@ -2340,10 +1527,6 @@ description = "Multi-vendor library to simplify legacy CLI connections to networ category = "main" optional = false python-versions = "*" -files = [ - {file = "netmiko-4.1.2-py3-none-any.whl", hash = "sha256:ee1e88ecbd07f619b0bc1e90648f82a64a0adee5968c3068621bbdadbfec5c03"}, - {file = "netmiko-4.1.2.tar.gz", hash = "sha256:f5ede2a28670d3dfd3470061468665f80f9b4906ed20e6b0fb4d9e1c9be67afc"}, -] [package.dependencies] ntc-templates = ">=2.0.0" @@ -2362,10 +1545,6 @@ description = "Common helper functions useful in network automation." category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "netutils-1.4.1-py3-none-any.whl", hash = "sha256:41002e42b205149fbe6739b7fdbc778ed843e87fabba9691d3d06a35f7876fd4"}, - {file = "netutils-1.4.1.tar.gz", hash = "sha256:4f7501478d810bcd3c64edfe064fa8962a1572636f4fceee2538fc9d3616fbe2"}, -] [package.extras] optionals = ["napalm (>=4.0.0,<5.0.0)"] @@ -2377,10 +1556,6 @@ description = "Pluggable multi-threaded framework with inventory management to h category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "nornir-3.3.0-py3-none-any.whl", hash = "sha256:4590d96edb5044e6a9e6f84e15625d32932177a10654040f99e145d73b352479"}, - {file = "nornir-3.3.0.tar.gz", hash = "sha256:1c6fd283bcdff9972358b126703c0990e9076dff1dfdc211e3077d45ada937d5"}, -] [package.dependencies] importlib-metadata = {version = ">=4,<5", markers = "python_version < \"3.10\""} @@ -2398,10 +1573,6 @@ description = "Jinja2 plugins for nornir" category = "main" optional = false python-versions = ">=3.6,<4.0" -files = [ - {file = "nornir_jinja2-0.2.0-py3-none-any.whl", hash = "sha256:0c446bec7a8492923d4eb9ca00fb327603b41bc35d5f0112843c048737b506b1"}, - {file = "nornir_jinja2-0.2.0.tar.gz", hash = "sha256:9ee5e725fe5543dcba4ec8b976804e9e88ecd356ea3b62bad97578cea0de1f75"}, -] [package.dependencies] jinja2 = ">=2.11.2,<4" @@ -2414,10 +1585,6 @@ description = "NAPALM's plugins for nornir" category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "nornir_napalm-0.4.0-py3-none-any.whl", hash = "sha256:20a41499aecf9c4e41181b18a73b2ee3ab7763824645ac0eb80abb3973a5f17e"}, - {file = "nornir_napalm-0.4.0.tar.gz", hash = "sha256:84e0711ccbdf24bdb228042ab530bf688d6b2b8f12c65fa3cb73499c6974a9de"}, -] [package.dependencies] napalm = ">=4,<5" @@ -2425,26 +1592,26 @@ nornir = ">=3,<4" [[package]] name = "nornir-nautobot" -version = "2.3.0" +version = "2.4.0" description = "Nornir Nautobot" category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "nornir_nautobot-2.3.0-py3-none-any.whl", hash = "sha256:3f56d81840214a447d049548537540cc27c4539484b826ed3d2e5cc41c2b1031"}, - {file = "nornir_nautobot-2.3.0.tar.gz", hash = "sha256:bfe4e9a3a7c3f66d88aad2864267cbe8b182b3328ee67777c9929fc415e06204"}, -] [package.dependencies] +httpx = ">=0.24.1,<0.25.0" netutils = ">=1,<2" nornir = ">=3.0.0,<4.0.0" nornir-jinja2 = ">=0,<1" -nornir-napalm = ">=0,<1" +nornir-napalm = ">=0.4.0,<1.0.0" nornir-netmiko = ">=0,<1" nornir-utils = ">=0,<1" pynautobot = ">=1.0.1,<2.0.0" requests = ">=2.25.1,<3.0.0" +[package.extras] +mikrotik-driver = ["routeros-api (>=0.17.0,<0.18.0)"] + [[package]] name = "nornir-netmiko" version = "0.2.0" @@ -2452,10 +1619,6 @@ description = "Netmiko's plugins for Nornir" category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "nornir_netmiko-0.2.0-py3-none-any.whl", hash = "sha256:6960e7ae0b0566a46750634ec7ab3b3a081e09afb554f593bc547bb9383d41b1"}, - {file = "nornir_netmiko-0.2.0.tar.gz", hash = "sha256:78c93b11ef21a8dd55689b82e47149061ab653cc7fe641e43886c847d171f486"}, -] [package.dependencies] netmiko = ">=4.0.0,<5.0.0" @@ -2468,10 +1631,6 @@ description = "Collection of plugins and functions for nornir that don't require category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" -files = [ - {file = "nornir_utils-0.2.0-py3-none-any.whl", hash = "sha256:b4c430793a74f03affd5ff2d90abc8c67a28c7ff325f48e3a01a9a44ec71b844"}, - {file = "nornir_utils-0.2.0.tar.gz", hash = "sha256:4de6aaa35e5c1a98e1c84db84a008b0b1e974dc65d88484f2dcea3e30c95fbc2"}, -] [package.dependencies] colorama = ">=0.4.3,<0.5.0" @@ -2479,15 +1638,11 @@ nornir = ">=3,<4" [[package]] name = "ntc-templates" -version = "3.3.0" +version = "3.5.0" description = "TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable." category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "ntc_templates-3.3.0-py3-none-any.whl", hash = "sha256:b0941824212ae50668cf9b882e848512d09487128a491909eab9afc30f808a85"}, - {file = "ntc_templates-3.3.0.tar.gz", hash = "sha256:a74014431715c2029a2d0f065bca447312d55171cea191db1189689ea076b82d"}, -] [package.dependencies] textfsm = ">=1.1.0,<2.0.0" @@ -2499,36 +1654,6 @@ description = "NumPy is the fundamental package for array computing with Python. category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50"}, - {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a"}, - {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062"}, - {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1412aa0aec3e00bc23fbb8664d76552b4efde98fb71f60737c83efbac24112f1"}, - {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e46ceaff65609b5399163de5893d8f2a82d3c77d5e56d976c8b5fb01faa6b671"}, - {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c6a2324085dd52f96498419ba95b5777e40b6bcbc20088fddb9e8cbb58885e8e"}, - {file = "numpy-1.21.1-cp37-cp37m-win32.whl", hash = "sha256:73101b2a1fef16602696d133db402a7e7586654682244344b8329cdcbbb82172"}, - {file = "numpy-1.21.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7a708a79c9a9d26904d1cca8d383bf869edf6f8e7650d85dbc77b041e8c5a0f8"}, - {file = "numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95b995d0c413f5d0428b3f880e8fe1660ff9396dcd1f9eedbc311f37b5652e16"}, - {file = "numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:635e6bd31c9fb3d475c8f44a089569070d10a9ef18ed13738b03049280281267"}, - {file = "numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a3d5fb89bfe21be2ef47c0614b9c9c707b7362386c9a3ff1feae63e0267ccb6"}, - {file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a326af80e86d0e9ce92bcc1e65c8ff88297de4fa14ee936cb2293d414c9ec63"}, - {file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:791492091744b0fe390a6ce85cc1bf5149968ac7d5f0477288f78c89b385d9af"}, - {file = "numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0318c465786c1f63ac05d7c4dbcecd4d2d7e13f0959b01b534ea1e92202235c5"}, - {file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a513bd9c1551894ee3d31369f9b07460ef223694098cf27d399513415855b68"}, - {file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91c6f5fc58df1e0a3cc0c3a717bb3308ff850abdaa6d2d802573ee2b11f674a8"}, - {file = "numpy-1.21.1-cp38-cp38-win32.whl", hash = "sha256:978010b68e17150db8765355d1ccdd450f9fc916824e8c4e35ee620590e234cd"}, - {file = "numpy-1.21.1-cp38-cp38-win_amd64.whl", hash = "sha256:9749a40a5b22333467f02fe11edc98f022133ee1bfa8ab99bda5e5437b831214"}, - {file = "numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d7a4aeac3b94af92a9373d6e77b37691b86411f9745190d2c351f410ab3a791f"}, - {file = "numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9e7912a56108aba9b31df688a4c4f5cb0d9d3787386b87d504762b6754fbb1b"}, - {file = "numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:25b40b98ebdd272bc3020935427a4530b7d60dfbe1ab9381a39147834e985eac"}, - {file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a92c5aea763d14ba9d6475803fc7904bda7decc2a0a68153f587ad82941fec1"}, - {file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05a0f648eb28bae4bcb204e6fd14603de2908de982e761a2fc78efe0f19e96e1"}, - {file = "numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f01f28075a92eede918b965e86e8f0ba7b7797a95aa8d35e1cc8821f5fc3ad6a"}, - {file = "numpy-1.21.1-cp39-cp39-win32.whl", hash = "sha256:88c0b89ad1cc24a5efbb99ff9ab5db0f9a86e9cc50240177a571fbe9c2860ac2"}, - {file = "numpy-1.21.1-cp39-cp39-win_amd64.whl", hash = "sha256:01721eefe70544d548425a07c80be8377096a54118070b8a62476866d5208e33"}, - {file = "numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4"}, - {file = "numpy-1.21.1.zip", hash = "sha256:dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd"}, -] [[package]] name = "oauthlib" @@ -2537,10 +1662,6 @@ description = "A generic, spec-compliant, thorough implementation of the OAuth r category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] [package.extras] rsa = ["cryptography (>=3.0.0)"] @@ -2554,10 +1675,6 @@ description = "An OrderedSet is a custom MutableSet that remembers its order, so category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"}, - {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"}, -] [package.extras] dev = ["black", "mypy", "pytest"] @@ -2569,22 +1686,14 @@ description = "Core utilities for Python packages" category = "main" 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"}, -] [[package]] name = "paramiko" -version = "3.1.0" +version = "3.2.0" description = "SSH2 protocol library" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "paramiko-3.1.0-py3-none-any.whl", hash = "sha256:f0caa660e797d9cd10db6fc6ae81e2c9b2767af75c3180fcd0e46158cd368d7f"}, - {file = "paramiko-3.1.0.tar.gz", hash = "sha256:6950faca6819acd3219d4ae694a23c7a87ee38d084f70c1724b0c0dbb8b75769"}, -] [package.dependencies] bcrypt = ">=3.2" @@ -2603,10 +1712,6 @@ description = "Utility library for gitignore style pattern matching of file path category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, - {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, -] [[package]] name = "pbr" @@ -2615,10 +1720,6 @@ description = "Python Build Reasonableness" category = "dev" optional = false python-versions = ">=2.6" -files = [ - {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, - {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, -] [[package]] name = "pillow" @@ -2627,69 +1728,6 @@ description = "Python Imaging Library (Fork)" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "Pillow-9.3.0-1-cp37-cp37m-win32.whl", hash = "sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74"}, - {file = "Pillow-9.3.0-1-cp37-cp37m-win_amd64.whl", hash = "sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa"}, - {file = "Pillow-9.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2"}, - {file = "Pillow-9.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3"}, - {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe"}, - {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8"}, - {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c"}, - {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c"}, - {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de"}, - {file = "Pillow-9.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7"}, - {file = "Pillow-9.3.0-cp310-cp310-win32.whl", hash = "sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91"}, - {file = "Pillow-9.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b"}, - {file = "Pillow-9.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20"}, - {file = "Pillow-9.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4"}, - {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1"}, - {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c"}, - {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193"}, - {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812"}, - {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c"}, - {file = "Pillow-9.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11"}, - {file = "Pillow-9.3.0-cp311-cp311-win32.whl", hash = "sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c"}, - {file = "Pillow-9.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef"}, - {file = "Pillow-9.3.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9"}, - {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2"}, - {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f"}, - {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72"}, - {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b"}, - {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee"}, - {file = "Pillow-9.3.0-cp37-cp37m-win32.whl", hash = "sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29"}, - {file = "Pillow-9.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4"}, - {file = "Pillow-9.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4"}, - {file = "Pillow-9.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f"}, - {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502"}, - {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20"}, - {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040"}, - {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07"}, - {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636"}, - {file = "Pillow-9.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32"}, - {file = "Pillow-9.3.0-cp38-cp38-win32.whl", hash = "sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0"}, - {file = "Pillow-9.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc"}, - {file = "Pillow-9.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad"}, - {file = "Pillow-9.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535"}, - {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3"}, - {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c"}, - {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b"}, - {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd"}, - {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c"}, - {file = "Pillow-9.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448"}, - {file = "Pillow-9.3.0-cp39-cp39-win32.whl", hash = "sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48"}, - {file = "Pillow-9.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2"}, - {file = "Pillow-9.3.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228"}, - {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b"}, - {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02"}, - {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e"}, - {file = "Pillow-9.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb"}, - {file = "Pillow-9.3.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c"}, - {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627"}, - {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699"}, - {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65"}, - {file = "Pillow-9.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8"}, - {file = "Pillow-9.3.0.tar.gz", hash = "sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f"}, -] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"] @@ -2697,22 +1735,18 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.5.0" +version = "3.8.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "platformdirs-3.5.0-py3-none-any.whl", hash = "sha256:47692bc24c1958e8b0f13dd727307cff1db103fca36399f457da8e05f222fdc4"}, - {file = "platformdirs-3.5.0.tar.gz", hash = "sha256:7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335"}, -] [package.dependencies] -typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} +typing-extensions = {version = ">=4.6.3", markers = "python_version < \"3.8\""} [package.extras] -docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"] [[package]] name = "prometheus-client" @@ -2721,10 +1755,6 @@ description = "Python client for the Prometheus monitoring system." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "prometheus_client-0.14.1-py3-none-any.whl", hash = "sha256:522fded625282822a89e2773452f42df14b5a8e84a86433e3f8a189c1d54dc01"}, - {file = "prometheus_client-0.14.1.tar.gz", hash = "sha256:5459c427624961076277fdc6dc50540e2bacb98eebde99886e59ec55ed92093a"}, -] [package.extras] twisted = ["twisted"] @@ -2736,9 +1766,6 @@ description = "Promises/A+ implementation for Python" category = "main" optional = false python-versions = "*" -files = [ - {file = "promise-2.3.tar.gz", hash = "sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0"}, -] [package.dependencies] six = "*" @@ -2748,15 +1775,11 @@ test = ["coveralls", "futures", "mock", "pytest (>=2.7.3)", "pytest-benchmark", [[package]] name = "prompt-toolkit" -version = "3.0.38" +version = "3.0.39" description = "Library for building powerful interactive command lines in Python" category = "main" optional = false python-versions = ">=3.7.0" -files = [ - {file = "prompt_toolkit-3.0.38-py3-none-any.whl", hash = "sha256:45ea77a2f7c60418850331366c81cf6b5b9cf4c7fd34616f733c5427e6abbb1f"}, - {file = "prompt_toolkit-3.0.38.tar.gz", hash = "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b"}, -] [package.dependencies] wcwidth = "*" @@ -2768,70 +1791,6 @@ description = "psycopg2 - Python-PostgreSQL Database Adapter" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "psycopg2-binary-2.9.6.tar.gz", hash = "sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe9dc0a884a8848075e576c1de0290d85a533a9f6e9c4e564f19adf8f6e54a7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a76e027f87753f9bd1ab5f7c9cb8c7628d1077ef927f5e2446477153a602f2c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6460c7a99fc939b849431f1e73e013d54aa54293f30f1109019c56a0b2b2ec2f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae102a98c547ee2288637af07393dd33f440c25e5cd79556b04e3fca13325e5f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9972aad21f965599ed0106f65334230ce826e5ae69fda7cbd688d24fa922415e"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a40c00dbe17c0af5bdd55aafd6ff6679f94a9be9513a4c7e071baf3d7d22a70"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:cacbdc5839bdff804dfebc058fe25684cae322987f7a38b0168bc1b2df703fb1"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f0438fa20fb6c7e202863e0d5ab02c246d35efb1d164e052f2f3bfe2b152bd0"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win32.whl", hash = "sha256:b6c8288bb8a84b47e07013bb4850f50538aa913d487579e1921724631d02ea1b"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:61b047a0537bbc3afae10f134dc6393823882eb263088c271331602b672e52e9"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:964b4dfb7c1c1965ac4c1978b0f755cc4bd698e8aa2b7667c575fb5f04ebe06b"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afe64e9b8ea66866a771996f6ff14447e8082ea26e675a295ad3bdbffdd72afb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15e2ee79e7cf29582ef770de7dab3d286431b01c3bb598f8e05e09601b890081"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa74c903a3c1f0d9b1c7e7b53ed2d929a4910e272add6700c38f365a6002820"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b83456c2d4979e08ff56180a76429263ea254c3f6552cd14ada95cff1dec9bb8"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0645376d399bfd64da57148694d78e1f431b1e1ee1054872a5713125681cf1be"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99e34c82309dd78959ba3c1590975b5d3c862d6f279f843d47d26ff89d7d7e1"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4ea29fc3ad9d91162c52b578f211ff1c931d8a38e1f58e684c45aa470adf19e2"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4ac30da8b4f57187dbf449294d23b808f8f53cad6b1fc3623fa8a6c11d176dd0"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78e6e2a00c223e164c417628572a90093c031ed724492c763721c2e0bc2a8df"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win32.whl", hash = "sha256:1876843d8e31c89c399e31b97d4b9725a3575bb9c2af92038464231ec40f9edb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:b4b24f75d16a89cc6b4cdff0eb6a910a966ecd476d1e73f7ce5985ff1328e9a6"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win32.whl", hash = "sha256:498807b927ca2510baea1b05cc91d7da4718a0f53cb766c154c417a39f1820a0"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0d236c2825fa656a2d98bbb0e52370a2e852e5a0ec45fc4f402977313329174d"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:34b9ccdf210cbbb1303c7c4db2905fa0319391bd5904d32689e6dd5c963d2ea8"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d2222e61f313c4848ff05353653bf5f5cf6ce34df540e4274516880d9c3763"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30637a20623e2a2eacc420059be11527f4458ef54352d870b8181a4c3020ae6b"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8122cfc7cae0da9a3077216528b8bb3629c43b25053284cc868744bfe71eb141"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38601cbbfe600362c43714482f43b7c110b20cb0f8172422c616b09b85a750c5"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c7e62ab8b332147a7593a385d4f368874d5fe4ad4e341770d4983442d89603e3"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2ab652e729ff4ad76d400df2624d223d6e265ef81bb8aa17fbd63607878ecbee"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c83a74b68270028dc8ee74d38ecfaf9c90eed23c8959fca95bd703d25b82c88e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d4e6036decf4b72d6425d5b29bbd3e8f0ff1059cda7ac7b96d6ac5ed34ffbacd"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win32.whl", hash = "sha256:a8c28fd40a4226b4a84bdf2d2b5b37d2c7bd49486b5adcc200e8c7ec991dfa7e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:51537e3d299be0db9137b321dfb6a5022caaab275775680e0c3d281feefaca6b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4499e0a83b7b7edcb8dabecbd8501d0d3a5ef66457200f77bde3d210d5debb"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e13a5a2c01151f1208d5207e42f33ba86d561b7a89fca67c700b9486a06d0e2"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e0f754d27fddcfd74006455b6e04e6705d6c31a612ec69ddc040a5468e44b4e"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d57c3fd55d9058645d26ae37d76e61156a27722097229d32a9e73ed54819982a"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71f14375d6f73b62800530b581aed3ada394039877818b2d5f7fc77e3bb6894d"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:441cc2f8869a4f0f4bb408475e5ae0ee1f3b55b33f350406150277f7f35384fc"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:65bee1e49fa6f9cf327ce0e01c4c10f39165ee76d35c846ade7cb0ec6683e303"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:af335bac6b666cc6aea16f11d486c3b794029d9df029967f9938a4bed59b6a19"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cfec476887aa231b8548ece2e06d28edc87c1397ebd83922299af2e051cf2827"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65c07febd1936d63bfde78948b76cd4c2a411572a44ac50719ead41947d0f26b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win32.whl", hash = "sha256:4dfb4be774c4436a4526d0c554af0cc2e02082c38303852a36f6456ece7b3503"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:02c6e3cf3439e213e4ee930308dc122d6fb4d4bea9aef4a12535fbd605d1a2fe"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e9182eb20f41417ea1dd8e8f7888c4d7c6e805f8a7c98c1081778a3da2bee3e4"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8a6979cf527e2603d349a91060f428bcb135aea2be3201dff794813256c274f1"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8338a271cb71d8da40b023a35d9c1e919eba6cbd8fa20a54b748a332c355d896"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ed340d2b858d6e6fb5083f87c09996506af483227735de6964a6100b4e6a54"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f81e65376e52f03422e1fb475c9514185669943798ed019ac50410fb4c4df232"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfb13af3c5dd3a9588000910178de17010ebcccd37b4f9794b00595e3a8ddad3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4c727b597c6444a16e9119386b59388f8a424223302d0c06c676ec8b4bc1f963"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d67fbdaf177da06374473ef6f7ed8cc0a9dc640b01abfe9e8a2ccb1b1402c1f"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0892ef645c2fabb0c75ec32d79f4252542d0caec1d5d949630e7d242ca4681a3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:02c0f3757a4300cf379eb49f543fb7ac527fb00144d39246ee40e1df684ab514"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win32.whl", hash = "sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249"}, -] [[package]] name = "pycodestyle" @@ -2840,10 +1799,6 @@ description = "Python style guide checker" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, - {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, -] [[package]] name = "pycparser" @@ -2852,10 +1807,6 @@ description = "C parser in Python" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, -] [[package]] name = "pycryptodome" @@ -2864,38 +1815,6 @@ description = "Cryptographic library for Python" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "pycryptodome-3.13.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:e468724173df02f9d83f3fea830bf0d04aa291b5add22b4a78e01c97aab04873"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:1fb7a6f222072412f320b9e48d3ce981920efbfce37b06d028ec9bd94093b37f"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:4f1b594d0cf35bd12ec4244df1155a7f565bf6e6245976ac36174c1564688c90"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:9ea70f6c3f6566159e3798e4593a4a8016994a0080ac29a45200615b45091a1b"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:f7aad304575d075faf2806977b726b67da7ba294adc97d878f92a062e357a56a"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:702446a012fd9337b9327d168bb0c7dc714eb93ad361f6f61af9ca8305a301f1"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-win32.whl", hash = "sha256:681ac47c538c64305d710eaed2bb49532f62b3f4c93aa7c423c520df981392e5"}, - {file = "pycryptodome-3.13.0-cp27-cp27m-win_amd64.whl", hash = "sha256:7b3478a187d897f003b2aa1793bcc59463e8d57a42e2aafbcbbe9cd47ec46863"}, - {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:eec02d9199af4b1ccfe1f9c587691a07a1fa39d949d2c1dc69d079ab9af8212f"}, - {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:9c8e0e6c5e982699801b20fa74f43c19aa080d2b53a39f3c132d35958e153bd4"}, - {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:f5457e44d3f26d9946091e92b28f3e970a56538b96c87b4b155a84e32a40b7b5"}, - {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:88d6d54e83cf9bbd665ce1e7b9079983ee2d97a05f42e0569ff00a70f1dd8b1e"}, - {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:72de8c4d71e6b11d54528bb924447fa4fdabcbb3d76cc0e7f61d3b6075def6b3"}, - {file = "pycryptodome-3.13.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:008ef2c631f112cd5a58736e0b29f4a28b4bb853e68878689f8b476fd56e0691"}, - {file = "pycryptodome-3.13.0-cp35-abi3-manylinux1_i686.whl", hash = "sha256:51ebe9624ad0a0b4da1aaaa2d43aabadf8537737fd494cee0ffa37cd6326de02"}, - {file = "pycryptodome-3.13.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:deede160bdf87ddb71f0a1314ad5a267b1a960be314ea7dc6b7ad86da6da89a3"}, - {file = "pycryptodome-3.13.0-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:857c16bffd938254e3a834cd6b2a755ed24e1a953b1a86e33da136d3e4c16a6f"}, - {file = "pycryptodome-3.13.0-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:ca6db61335d07220de0b665bfee7b8e9615b2dfc67a54016db4826dac34c2dd2"}, - {file = "pycryptodome-3.13.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:073dedf0f9c490ae22ca081b86357646ac9b76f3e2bd89119d137fc697a9e3b6"}, - {file = "pycryptodome-3.13.0-cp35-abi3-win32.whl", hash = "sha256:e3affa03c49cce7b0a9501cc7f608d4f8e61fb2522b276d599ac049b5955576d"}, - {file = "pycryptodome-3.13.0-cp35-abi3-win_amd64.whl", hash = "sha256:e5d72be02b17e6bd7919555811264403468d1d052fa67c946e402257c3c29a27"}, - {file = "pycryptodome-3.13.0-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:0896d5d15ffe584d46cb9b69a75cf14a2bc8f6daf635b7bf16c1b041342a44b1"}, - {file = "pycryptodome-3.13.0-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:e420cdfca73f80fe15f79bb34756959945231a052440813e5fce531e6e96331a"}, - {file = "pycryptodome-3.13.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:720fafdf3e5c5de93039d8308f765cc60b8e9e7e852ad7135aa65dd89238191f"}, - {file = "pycryptodome-3.13.0-pp27-pypy_73-win32.whl", hash = "sha256:7a8b0e526ff239b4f4c61dd6898e2474d609843ffc437267f3a27ddff626e6f6"}, - {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d92a5eddffb0ad39f582f07c1de26e9daf6880e3e782a94bb7ebaf939567f8bf"}, - {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:cb9453c981554984c6f5c5ce7682d7286e65e2173d7416114c3593a977a01bf5"}, - {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:765b8b16bc1fd699e183dde642c7f2653b8f3c9c1a50051139908e9683f97732"}, - {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:b3af53dddf848afb38b3ac2bae7159ddad1feb9bac14aa3acec6ef1797b82f8d"}, - {file = "pycryptodome-3.13.0.tar.gz", hash = "sha256:95bacf9ff7d1b90bba537d3f5f6c834efe6bfbb1a0195cb3573f29e6716ef08d"}, -] [[package]] name = "pydocstyle" @@ -2904,10 +1823,6 @@ description = "Python docstring style checker" category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, - {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, -] [package.dependencies] importlib-metadata = {version = ">=2.0.0,<5.0.0", markers = "python_version < \"3.8\""} @@ -2918,14 +1833,11 @@ toml = ["tomli (>=1.2.3)"] [[package]] name = "pyeapi" -version = "0.8.4" +version = "1.0.2" description = "Python Client for eAPI" category = "main" optional = false python-versions = "*" -files = [ - {file = "pyeapi-0.8.4.tar.gz", hash = "sha256:c33ad1eadd8ebac75f63488df9412081ce0b024c9e1da12a37196a5c60427c54"}, -] [package.dependencies] netaddr = "*" @@ -2941,10 +1853,6 @@ description = "passive checker of Python programs" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, - {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, -] [[package]] name = "pygments" @@ -2953,25 +1861,20 @@ description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"}, - {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"}, -] [package.extras] plugins = ["importlib-metadata"] [[package]] name = "pyjwt" -version = "2.6.0" +version = "2.7.0" description = "JSON Web Token implementation in Python" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "PyJWT-2.6.0-py3-none-any.whl", hash = "sha256:d83c3d892a77bbb74d3e1a2cfa90afaadb60945205d1095d9221f04466f64c14"}, - {file = "PyJWT-2.6.0.tar.gz", hash = "sha256:69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd"}, -] + +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version <= \"3.7\""} [package.extras] crypto = ["cryptography (>=3.4.0)"] @@ -2986,10 +1889,6 @@ description = "python code static checker" category = "dev" optional = false python-versions = ">=3.6.2" -files = [ - {file = "pylint-2.13.9-py3-none-any.whl", hash = "sha256:705c620d388035bdd9ff8b44c5bcdd235bfb49d276d488dd2c8ff1736aa42526"}, - {file = "pylint-2.13.9.tar.gz", hash = "sha256:095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"}, -] [package.dependencies] astroid = ">=2.11.5,<=2.12.0-dev0" @@ -3011,10 +1910,6 @@ description = "A Pylint plugin to help Pylint understand the Django web framewor category = "dev" optional = false python-versions = "*" -files = [ - {file = "pylint-django-2.5.3.tar.gz", hash = "sha256:0ac090d106c62fe33782a1d01bda1610b761bb1c9bf5035ced9d5f23a13d8591"}, - {file = "pylint_django-2.5.3-py3-none-any.whl", hash = "sha256:56b12b6adf56d548412445bd35483034394a1a94901c3f8571980a13882299d5"}, -] [package.dependencies] pylint = ">=2.0,<3" @@ -3026,30 +1921,22 @@ with-django = ["Django"] [[package]] name = "pylint-plugin-utils" -version = "0.7" +version = "0.8.2" description = "Utilities and helpers for writing Pylint plugins" category = "dev" optional = false -python-versions = ">=3.6.2" -files = [ - {file = "pylint-plugin-utils-0.7.tar.gz", hash = "sha256:ce48bc0516ae9415dd5c752c940dfe601b18fe0f48aa249f2386adfa95a004dd"}, - {file = "pylint_plugin_utils-0.7-py3-none-any.whl", hash = "sha256:b3d43e85ab74c4f48bb46ae4ce771e39c3a20f8b3d56982ab17aa73b4f98d535"}, -] +python-versions = ">=3.7,<4.0" [package.dependencies] pylint = ">=1.7" [[package]] name = "pymdown-extensions" -version = "9.11" +version = "10.0.1" description = "Extension pack for Python Markdown." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "pymdown_extensions-9.11-py3-none-any.whl", hash = "sha256:a499191d8d869f30339de86fcf072a787e86c42b6f16f280f5c2cf174182b7f3"}, - {file = "pymdown_extensions-9.11.tar.gz", hash = "sha256:f7e86c1d3981f23d9dc43294488ecb54abadd05b0be4bf8f0e15efc90f7853ff"}, -] [package.dependencies] markdown = ">=3.2" @@ -3062,52 +1949,33 @@ description = "Python binding to the Networking and Cryptography (NaCl) library" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, - {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, - {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, - {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, - {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, - {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, -] [package.dependencies] cffi = ">=1.4.1" [package.extras] -docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +docs = ["sphinx (>=1.6.5)", "sphinx_rtd_theme"] tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] [[package]] name = "pynautobot" -version = "1.4.0" +version = "1.5.0" description = "Nautobot API client library" category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "pynautobot-1.4.0-py3-none-any.whl", hash = "sha256:6bc053b095728ed0af40d097a7513c3e16c51ec63aad46f691f50b3f6c82bdfe"}, - {file = "pynautobot-1.4.0.tar.gz", hash = "sha256:87c93976248f99f2adc0e22d7a39e7f0aac3460451607078bfee93742742c9d4"}, -] [package.dependencies] -requests = ">=2.20.0,<3.0.0" +requests = ">=2.30.0,<3.0.0" +urllib3 = ">=1.21.1,<1.27" [[package]] name = "pyparsing" -version = "3.0.9" +version = "3.1.0" description = "pyparsing module - Classes and methods to define and execute parsing grammars" category = "main" optional = false python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, -] [package.extras] diagrams = ["jinja2", "railroad-diagrams"] @@ -3119,35 +1987,6 @@ description = "Persistent/Functional/Immutable data structures" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"}, - {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"}, - {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"}, - {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"}, - {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"}, - {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"}, - {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"}, - {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"}, - {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"}, - {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"}, - {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"}, - {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"}, - {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"}, - {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"}, - {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"}, - {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"}, - {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"}, - {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"}, - {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"}, - {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"}, - {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"}, - {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, -] [[package]] name = "pyserial" @@ -3156,10 +1995,6 @@ description = "Python Serial Port Extension" category = "main" optional = false python-versions = "*" -files = [ - {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"}, - {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"}, -] [package.extras] cp2110 = ["hidapi"] @@ -3171,10 +2006,6 @@ description = "Python Crontab API" category = "main" optional = false python-versions = "*" -files = [ - {file = "python-crontab-2.7.1.tar.gz", hash = "sha256:b21af4647c7bbb848fef2f020616c6b0289dcb9f94b4f991a55310ff9bec5749"}, - {file = "python_crontab-2.7.1-py3-none-any.whl", hash = "sha256:9c374d1c9d401afdd8dd958f20077f74c158ab3fffb9604296802715e887fe48"}, -] [package.dependencies] python-dateutil = "*" @@ -3190,10 +2021,6 @@ description = "Extensions to the standard Python datetime module" category = "main" 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"}, -] [package.dependencies] six = ">=1.5" @@ -3205,10 +2032,6 @@ description = "OpenID support for modern servers and consumers." category = "main" optional = false python-versions = "*" -files = [ - {file = "python3-openid-3.2.0.tar.gz", hash = "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf"}, - {file = "python3_openid-3.2.0-py3-none-any.whl", hash = "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b"}, -] [package.dependencies] defusedxml = "*" @@ -3224,10 +2047,6 @@ description = "World timezone definitions, modern and historical" category = "main" optional = false python-versions = "*" -files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, -] [[package]] name = "pyuwsgi" @@ -3236,44 +2055,6 @@ description = "The uWSGI server" category = "main" optional = false python-versions = "*" -files = [ - {file = "pyuwsgi-2.0.21-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10cce470f3db6e5206c3fb9d46b86c5c915dcb6616a617101411006463e833ea"}, - {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e06b41ad50b8d3d5a46374af8c8ed9bcf2627ea97f5718ef2da693ab3425656"}, - {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:977ce0f87e3f07571267b6572dcbe8b3d5d488cbc351d33c93ec6cce9737099a"}, - {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:243de3964aa40e9f15cc4be64bf5594bb4d3e847f9b563b3d8f3b2df9c1c1581"}, - {file = "pyuwsgi-2.0.21-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:47e29aca1e856315b18999e6527347cf461f7b333af13b33ba5926e2718c0a3c"}, - {file = "pyuwsgi-2.0.21-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0a6209bf09e14d3ceee1db6d1381346c361245552307388a1cf65229d33d306c"}, - {file = "pyuwsgi-2.0.21-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:09942a86c5501367381b86561dcb69efa4207e1f604a4c5c4e58849f0b895619"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7139eb6bdcb32b64431ba5d3058975d6a34cc52d58c2ffbf611625cd058018a7"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:871d0b9a61a143da0b0ba4a7249d198c804ad63a2374b5bccae7c584d805bdcd"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78c3aaf8e89ee912730ad57e60832c0d10a267b521715c8d832eef19373075aa"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8da171f2519739caad4bf4682a71b92527489eb71b3af41319bbc13f61e14dc"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c9b67d7211e5d9439d1ecc11cf909fc214d05c332e47121d5f92913ebdf5c28c"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c9fdd5032bd4a5d697ccfb50e2e5296c419eb53a8b44cacfcc55d7ceb629be2f"}, - {file = "pyuwsgi-2.0.21-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:445998892e164e7f253d20ffd1ab6f7c9441c77e8d05e8a2525532ba663de0af"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f76540fbcea52d333acfe172c7c91f284c4526eae8b0d146c60672dbcaece705"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32eace989380b3677131fea2d5e719a870fcecb2a1db5830d80997e9f501c6db"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26876ce2e934e004d1d98a06abb170743ec743a5cecc3867260f071f31c269e0"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e77e27ce32b64b34de26a2ec84cb8fff620153d7a207ea3cbea69b39c0b571b1"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:62d9927a1178af61285b697caa736dfa34fcc48090db45f965859e1fa641f4bc"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ed867fa6d704338820304bd13bc6b20687e823ef70dfaf35c1db324598b60af4"}, - {file = "pyuwsgi-2.0.21-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c38f1e68db1dea7e8b47a64b855cd15e491d1920908be5887189a98ce5e968e9"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be994a0cdaaf9733e00c2e3275b368586db067802cd0a1af682b0c55070f39c7"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0753b7ec6174afa590bd5724d25541209387b67f080dbe13db7d9655ef0077df"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c17abbbba53eabdba7fc92a0321864adbf97e8460cfd9c01b714d6c3e3ccc4c"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13524cea71a1cd2bb4586c773cbf6a9a1085f3e4ba1c52648b2823385c8d7d74"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f5b6c6d413430015f9cbadef2687ce334b2960d0df3cfba4181e39c4af242933"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1f44454a0cf419436c0a99bd37586ce9776e3c10454dd3387d2afa9c4c9c4404"}, - {file = "pyuwsgi-2.0.21-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7375666a7dd22f1c9ad4c7d01e957c5941baa489f02cd76cf2064a63a8946dfe"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:56f92e057461bcd32e991661db3fb505a59b8ff35da5af12b062b9ebf1ddfc57"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c005b1357c525fe63dfb83299ca77f478db4842ee8204e8ac6cb47267fc1920"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10d36e255bd54e7d52ed7dc360821b06748e87a7d5aa826a48ddfa7c9baedb52"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8693e2a71da6e5f78fa4142893c1b201daadaf71d87275fd906ce6d02e3c9910"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e448bdd8fbacbd27dcdd58f1191ee61c58795a672cedc4ca661a8b83606a158a"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:837d295d3df3d4b6e1a9850922e25fc7a8836949f424a36985491be473f00d21"}, - {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92371cb638707574fe93127f9c270216d12751a96e6a624237820a089f846ef5"}, - {file = "pyuwsgi-2.0.21.tar.gz", hash = "sha256:211e8877f5191e347ba905232d04ab30e05ce31ba7a6dac4bfcb48de9845bb52"}, -] [[package]] name = "pyyaml" @@ -3282,48 +2063,6 @@ description = "YAML parser and emitter for Python" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, - {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, - {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, - {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, - {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, - {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, - {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, - {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, - {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, - {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, - {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, - {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, - {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, - {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, - {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, - {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, - {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, - {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, -] [[package]] name = "pyyaml-env-tag" @@ -3332,28 +2071,20 @@ description = "A custom YAML tag for referencing environment variables in YAML f category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, - {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, -] [package.dependencies] pyyaml = "*" [[package]] name = "redis" -version = "4.5.4" +version = "4.6.0" description = "Python client for Redis database and key-value store" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "redis-4.5.4-py3-none-any.whl", hash = "sha256:2c19e6767c474f2e85167909061d525ed65bea9301c0770bb151e041b7ac89a2"}, - {file = "redis-4.5.4.tar.gz", hash = "sha256:73ec35da4da267d6847e47f68730fdd5f62e2ca69e3ef5885c6a78a9374c3893"}, -] [package.dependencies] -async-timeout = {version = ">=4.0.2", markers = "python_version <= \"3.11.2\""} +async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""} importlib-metadata = {version = ">=1.0", markers = "python_version < \"3.8\""} typing-extensions = {version = "*", markers = "python_version < \"3.8\""} @@ -3363,21 +2094,17 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "requests" -version = "2.29.0" +version = "2.31.0" description = "Python HTTP for Humans." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "requests-2.29.0-py3-none-any.whl", hash = "sha256:e8f3c9be120d3333921d213eef078af392fba3933ab7ed2d1cba3b56f2568c3b"}, - {file = "requests-2.29.0.tar.gz", hash = "sha256:f2e34a75f4749019bb0e3effb66683630e4ffeaf75819fb51bebef1bf5aef059"}, -] [package.dependencies] certifi = ">=2017.4.17" charset-normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" +urllib3 = ">=1.21.1,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] @@ -3390,10 +2117,6 @@ description = "OAuthlib authentication support for Requests." category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, - {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, -] [package.dependencies] oauthlib = ">=3.0.0" @@ -3404,18 +2127,14 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] [[package]] name = "rich" -version = "13.3.5" +version = "13.4.2" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" category = "dev" optional = false python-versions = ">=3.7.0" -files = [ - {file = "rich-13.3.5-py3-none-any.whl", hash = "sha256:69cdf53799e63f38b95b9bf9c875f8c90e78dd62b2f00c13a911c7a3b9fa4704"}, - {file = "rich-13.3.5.tar.gz", hash = "sha256:2d11b9b8dd03868f09b4fffadc84a6a8cda574e40dc90821bd845720ebb8e89c"}, -] [package.dependencies] -markdown-it-py = ">=2.2.0,<3.0.0" +markdown-it-py = ">=2.2.0" pygments = ">=2.13.0,<3.0.0" typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} @@ -3424,34 +2143,26 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rq" -version = "1.14.0" +version = "1.15.1" description = "RQ is a simple, lightweight, library for creating background jobs, and processing them." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "rq-1.14.0-py2.py3-none-any.whl", hash = "sha256:dc2c54f4f56e637b056f0ff5859c0e4b4baec657a08c57cee86ebe84bbf984ce"}, - {file = "rq-1.14.0.tar.gz", hash = "sha256:caadcbd117d898e4fe3e97cf761e2d9c598a387195ee4da3e3d81000918abac3"}, -] [package.dependencies] click = ">=5.0.0" -redis = ">=3.5.0" +redis = ">=4.0.0" [[package]] name = "ruamel-yaml" -version = "0.17.22" +version = "0.17.32" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" category = "main" optional = false python-versions = ">=3" -files = [ - {file = "ruamel.yaml-0.17.22-py3-none-any.whl", hash = "sha256:b4c6e66d103d8af198aa6139580ab735169be4922eb4c515ac121bdabf6f9361"}, - {file = "ruamel.yaml-0.17.22.tar.gz", hash = "sha256:c22ec58aaca5105f771cb8f7ac45ad631b5e8b00454ebe1822d442fb696e9e62"}, -] [package.dependencies] -"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} +"ruamel.yaml.clib" = {version = ">=0.2.7", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.12\""} [package.extras] docs = ["ryd"] @@ -3464,44 +2175,6 @@ description = "C version of reader, parser and emitter for ruamel.yaml derived f category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, - {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, -] [[package]] name = "rx" @@ -3510,9 +2183,6 @@ description = "Reactive Extensions (Rx) for Python" category = "main" optional = false python-versions = "*" -files = [ - {file = "Rx-1.6.3.tar.gz", hash = "sha256:ca71b65d0fc0603a3b5cfaa9e33f5ba81e4aae10a58491133595088d7734b2da"}, -] [[package]] name = "scp" @@ -3521,31 +2191,40 @@ description = "scp module for paramiko" category = "main" optional = false python-versions = "*" -files = [ - {file = "scp-0.14.5-py2.py3-none-any.whl", hash = "sha256:d224535dd8ed00294f52b0e0e18fde7a6fb7a3d06b97ede9e3f750fa7bf75c09"}, - {file = "scp-0.14.5.tar.gz", hash = "sha256:64f0015899b3d212cb8088e7d40ebaf0686889ff0e243d5c1242efe8b50f053e"}, -] [package.dependencies] paramiko = "*" [[package]] name = "setuptools" -version = "67.7.2" +version = "68.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "setuptools-67.7.2-py3-none-any.whl", hash = "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b"}, - {file = "setuptools-67.7.2.tar.gz", hash = "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"}, -] [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +[[package]] +name = "setuptools-scm" +version = "6.4.2" +description = "the blessed package to manage your versions by scm tags" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +packaging = ">=20.0" +setuptools = "*" +tomli = ">=1.0.0" + +[package.extras] +test = ["pytest (>=6.2)", "virtualenv (>20)"] +toml = ["setuptools (>=42)"] + [[package]] name = "singledispatch" version = "4.0.0" @@ -3553,10 +2232,6 @@ description = "Backport functools.singledispatch to older Pythons." category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "singledispatch-4.0.0-py2.py3-none-any.whl", hash = "sha256:b8f69397a454b45b91e2f949fcc87896c53718ca59aab6367966e8b3f010ec77"}, - {file = "singledispatch-4.0.0.tar.gz", hash = "sha256:f3c327a968651a7f4b03586eab7d90a07b05ff3ef7942d1967036eb9f75ab8fc"}, -] [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] @@ -3569,10 +2244,6 @@ description = "Python 2 and 3 compatibility utilities" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] [[package]] name = "smmap" @@ -3581,10 +2252,14 @@ description = "A pure Python implementation of a sliding window memory map manag category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, -] + +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +category = "main" +optional = false +python-versions = ">=3.7" [[package]] name = "snowballstemmer" @@ -3593,10 +2268,6 @@ description = "This package provides 29 stemmers for 28 languages generated from category = "dev" optional = false python-versions = "*" -files = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, -] [[package]] name = "social-auth-app-django" @@ -3605,10 +2276,6 @@ description = "Python Social Authentication, Django integration." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "social-auth-app-django-5.0.0.tar.gz", hash = "sha256:b6e3132ce087cdd6e1707aeb1b588be41d318408fcf6395435da0bc6fe9a9795"}, - {file = "social_auth_app_django-5.0.0-py3-none-any.whl", hash = "sha256:52241a25445a010ab1c108bafff21fc5522d5c8cd0d48a92c39c7371824b065d"}, -] [package.dependencies] social-auth-core = ">=4.1.0" @@ -3620,10 +2287,6 @@ description = "Python social authentication made simple." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "social-auth-core-4.4.2.tar.gz", hash = "sha256:9791d7c7aee2ac8517fe7a2ea2f942a8a5492b3a4ccb44a9b0dacc87d182f2aa"}, - {file = "social_auth_core-4.4.2-py3-none-any.whl", hash = "sha256:ea7a19c46b791b767e95f467881b53c5fd0d1efb40048d9ed3dbc46daa05c954"}, -] [package.dependencies] cryptography = ">=1.4" @@ -3648,10 +2311,6 @@ description = "A non-validating SQL parser." category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, - {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, -] [package.extras] dev = ["build", "flake8"] @@ -3665,10 +2324,6 @@ description = "Manage dynamic plugins for Python applications" category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "stevedore-3.5.2-py3-none-any.whl", hash = "sha256:fa2630e3d0ad3e22d4914aff2501445815b9a4467a6edc49387c667a38faf5bf"}, - {file = "stevedore-3.5.2.tar.gz", hash = "sha256:cf99f41fc0d5a4f185ca4d3d42b03be9011b0a1ec1a4ea1a282be1b4b306dcc2"}, -] [package.dependencies] importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""} @@ -3681,10 +2336,6 @@ description = "A Python library to create SVG drawings." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "svgwrite-1.4.3-py3-none-any.whl", hash = "sha256:bb6b2b5450f1edbfa597d924f9ac2dd099e625562e492021d7dd614f65f8a22d"}, - {file = "svgwrite-1.4.3.zip", hash = "sha256:a8fbdfd4443302a6619a7f76bc937fc683daf2628d9b737c891ec08b8ce524c3"}, -] [[package]] name = "swagger-spec-validator" @@ -3693,10 +2344,6 @@ description = "Validation of Swagger specifications" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "swagger-spec-validator-3.0.3.tar.gz", hash = "sha256:16a5ce08c772824a77b1a4a05efc047d72eef1ed53fb969dfe0a18f437ac30a8"}, - {file = "swagger_spec_validator-3.0.3-py2.py3-none-any.whl", hash = "sha256:174b5de4ab0899df9a57d35c880aaa515511c4b8b578d9d519b09a9596537055"}, -] [package.dependencies] jsonschema = "*" @@ -3710,10 +2357,6 @@ description = "Retry code until it succeeds" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "tenacity-8.2.2-py3-none-any.whl", hash = "sha256:2f277afb21b851637e8f52e6a613ff08734c347dc19ade928e519d7d2d8569b0"}, - {file = "tenacity-8.2.2.tar.gz", hash = "sha256:43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0"}, -] [package.extras] doc = ["reno", "sphinx", "tornado (>=4.5)"] @@ -3725,10 +2368,6 @@ description = "The most basic Text::Unidecode port" category = "main" optional = false python-versions = "*" -files = [ - {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, - {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, -] [[package]] name = "textfsm" @@ -3737,10 +2376,6 @@ description = "Python module for parsing semi-structured text into python tables category = "main" optional = false python-versions = "*" -files = [ - {file = "textfsm-1.1.2-py2.py3-none-any.whl", hash = "sha256:f3d4e9bd4344935a08e6844e53d6220e2e4fb7e465bee51fa909152ed6bab406"}, - {file = "textfsm-1.1.2.tar.gz", hash = "sha256:85a450b441aff04b1cac726bdb36f35534a5b196cca08c8bc14fddd879c4255c"}, -] [package.dependencies] future = "*" @@ -3750,13 +2385,9 @@ six = "*" name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] [[package]] name = "transitions" @@ -3765,10 +2396,6 @@ description = "A lightweight, object-oriented Python state machine implementatio category = "main" optional = false python-versions = "*" -files = [ - {file = "transitions-0.9.0-py2.py3-none-any.whl", hash = "sha256:5687ee8c6a3200830e44f988d16b0045f53293f7a873002d7bff70852331a078"}, - {file = "transitions-0.9.0.tar.gz", hash = "sha256:2f54d11bdb225779d7e729011e93a9fb717668ce3dc65f8d4f5a5d7ba2f48e10"}, -] [package.dependencies] six = "*" @@ -3779,15 +2406,11 @@ test = ["pytest"] [[package]] name = "ttp" -version = "0.9.4" +version = "0.9.5" description = "Template Text Parser" category = "main" optional = false python-versions = ">=2.7,<4.0" -files = [ - {file = "ttp-0.9.4-py2.py3-none-any.whl", hash = "sha256:550e26fd742703f9fd0fac09e3701766190d4551978fccdead294d49cdec2423"}, - {file = "ttp-0.9.4.tar.gz", hash = "sha256:44aaef0561f83d588563918157a502fc9f928e5bc3867026c2cc7b5a8c0dc3e1"}, -] [package.extras] docs = ["Sphinx (==4.3.0)", "readthedocs-sphinx-search (==0.1.1)", "sphinx_rtd_theme (==1.0.0)", "sphinxcontrib-applehelp (==1.0.1)", "sphinxcontrib-devhelp (==1.0.1)", "sphinxcontrib-htmlhelp (==2.0.0)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-napoleon (==0.7)", "sphinxcontrib-qthelp (==1.0.2)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-spelling (==7.2.1)"] @@ -3800,10 +2423,6 @@ description = "Template Text Parser Templates collections" category = "main" optional = false python-versions = ">=3.6,<4.0" -files = [ - {file = "ttp_templates-0.3.5-py3-none-any.whl", hash = "sha256:4985a68640468127a0e31021672039cd88a8b9c3dd9289cad67839209cddaf30"}, - {file = "ttp_templates-0.3.5.tar.gz", hash = "sha256:e59870d4f65bd4aaf89178dc9065a7db8b80a23d5d79b5d6ffd041312d5ec5a6"}, -] [package.dependencies] ttp = ">=0.6.0" @@ -3813,49 +2432,19 @@ docs = ["mkdocs (==1.2.4)", "mkdocs-material (==7.2.2)", "mkdocs-material-extens [[package]] name = "typed-ast" -version = "1.5.4" +version = "1.5.5" description = "a fork of Python 2 and 3 ast modules with type comment support" category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, - {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"}, - {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"}, - {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"}, - {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"}, - {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"}, - {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"}, - {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"}, - {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, - {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, -] [[package]] name = "typing-extensions" -version = "4.5.0" +version = "4.7.1" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, - {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, -] [[package]] name = "uritemplate" @@ -3864,22 +2453,14 @@ description = "Implementation of RFC 6570 URI Templates" category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, - {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, -] [[package]] name = "urllib3" -version = "1.26.15" +version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, - {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, -] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] @@ -3893,10 +2474,6 @@ description = "Promises, promises, promises." category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, - {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, -] [[package]] name = "watchdog" @@ -3905,35 +2482,6 @@ description = "Filesystem events monitoring" category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, - {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, - {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, - {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, - {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, - {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, - {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, - {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, - {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, -] [package.extras] watchmedo = ["PyYAML (>=3.10)"] @@ -3945,10 +2493,6 @@ description = "Measures the displayed width of unicode strings in a terminal" category = "main" optional = false python-versions = "*" -files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, -] [[package]] name = "wrapt" @@ -3957,95 +2501,14 @@ description = "Module for decorators, wrappers and monkey patching." category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, -] [[package]] name = "yamllint" -version = "1.31.0" +version = "1.32.0" description = "A linter for YAML files." category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "yamllint-1.31.0-py3-none-any.whl", hash = "sha256:15f4bdb645e6a4a0a22fe5415bc38b4a934c51419b30104896d2f3f95e329185"}, - {file = "yamllint-1.31.0.tar.gz", hash = "sha256:2d83f1d12f733e162a87e06b176149d7bb9c5bae4a9e5fce1c771d7f703f7a65"}, -] [package.dependencies] pathspec = ">=0.5.3" @@ -4061,9 +2524,6 @@ description = "YAML loader and dump for PyYAML allowing to keep keys order." category = "main" optional = false python-versions = "*" -files = [ - {file = "yamlordereddictloader-0.4.0.tar.gz", hash = "sha256:7f30f0b99ea3f877f7cb340c570921fa9d639b7f69cba18be051e27f8de2080e"}, -] [package.dependencies] pyyaml = "*" @@ -4075,16 +2535,1673 @@ description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, - {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, -] [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] -lock-version = "2.0" +lock-version = "1.1" python-versions = "^3.7" -content-hash = "c99ed0c6031a56d53394dc9a24967f8ef64333a784bed727567dbc3d51a63939" +content-hash = "afee20d6433bfeb59645ff6463ac25c1aa672862244a25f35ea4db37bf83e853" + +[metadata.files] +amqp = [ + {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, + {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, +] +aniso8601 = [ + {file = "aniso8601-7.0.0-py2.py3-none-any.whl", hash = "sha256:d10a4bf949f619f719b227ef5386e31f49a2b6d453004b21f02661ccc8670c7b"}, + {file = "aniso8601-7.0.0.tar.gz", hash = "sha256:513d2b6637b7853806ae79ffaca6f3e8754bdd547048f5ccc1420aec4b714f1e"}, +] +anyio = [ + {file = "anyio-3.7.1-py3-none-any.whl", hash = "sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5"}, + {file = "anyio-3.7.1.tar.gz", hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780"}, +] +asgiref = [ + {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, + {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, +] +astroid = [ + {file = "astroid-2.11.7-py3-none-any.whl", hash = "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"}, + {file = "astroid-2.11.7.tar.gz", hash = "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946"}, +] +async-timeout = [ + {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, + {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, +] +attrs = [ + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, +] +bandit = [ + {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, + {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, +] +bcrypt = [ + {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, + {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, + {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, + {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, +] +billiard = [ + {file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"}, + {file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"}, +] +black = [ + {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, + {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, + {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, + {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, + {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, + {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, + {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, + {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, + {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, + {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, + {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, + {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, + {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, + {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, +] +cached-property = [ + {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"}, + {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"}, +] +celery = [ + {file = "celery-5.2.7-py3-none-any.whl", hash = "sha256:138420c020cd58d6707e6257b6beda91fd39af7afde5d36c6334d175302c0e14"}, + {file = "celery-5.2.7.tar.gz", hash = "sha256:fafbd82934d30f8a004f81e8f7a062e31413a23d444be8ee3326553915958c6d"}, +] +certifi = [ + {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, + {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, +] +cffi = [ + {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"}, +] +charset-normalizer = [ + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, +] +click = [ + {file = "click-8.1.4-py3-none-any.whl", hash = "sha256:2739815aaa5d2c986a88f1e9230c55e17f0caad3d958a5e13ad0797c166db9e3"}, + {file = "click-8.1.4.tar.gz", hash = "sha256:b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37"}, +] +click-didyoumean = [ + {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"}, + {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"}, +] +click-plugins = [ + {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, + {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, +] +click-repl = [ + {file = "click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"}, + {file = "click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812"}, +] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +cryptography = [ + {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699"}, + {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3"}, + {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db"}, + {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31"}, + {file = "cryptography-41.0.1-cp37-abi3-win32.whl", hash = "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5"}, + {file = "cryptography-41.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5"}, + {file = "cryptography-41.0.1.tar.gz", hash = "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006"}, +] +cycler = [ + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] +deepdiff = [ + {file = "deepdiff-6.3.1-py3-none-any.whl", hash = "sha256:eae2825b2e1ea83df5fc32683d9aec5a56e38b756eb2b280e00863ce4def9d33"}, + {file = "deepdiff-6.3.1.tar.gz", hash = "sha256:e8c1bb409a2caf1d757799add53b3a490f707dd792ada0eca7cac1328055097a"}, +] +defusedxml = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] +dill = [ + {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, + {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, +] +django = [ + {file = "Django-3.2.20-py3-none-any.whl", hash = "sha256:a477ab326ae7d8807dc25c186b951ab8c7648a3a23f9497763c37307a2b5ef87"}, + {file = "Django-3.2.20.tar.gz", hash = "sha256:dec2a116787b8e14962014bf78e120bba454135108e1af9e9b91ade7b2964c40"}, +] +django-ajax-tables = [ + {file = "django_ajax_tables-1.1.1-py3-none-any.whl", hash = "sha256:62e0138949153c0a994eefbf469f5496b1ad98bc073e170bc021a1aada7a32d0"}, + {file = "django_ajax_tables-1.1.1.tar.gz", hash = "sha256:5a7e7bc7940aa6332a564916cde22010a858a3d29fc1090ce8061010ec76337c"}, +] +django-appconf = [ + {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"}, + {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"}, +] +django-cacheops = [ + {file = "django-cacheops-6.0.tar.gz", hash = "sha256:78e161ebd96a32e28e19ec7da31f2afed9e62a79726b8b5f0ed12dd16c2e5841"}, + {file = "django_cacheops-6.0-py2.py3-none-any.whl", hash = "sha256:ee38b969c9fc68f7c88e769b6c811e19563cca1ae08210d9f553ff758b6c3e17"}, +] +django-celery-beat = [ + {file = "django-celery-beat-2.2.1.tar.gz", hash = "sha256:97ae5eb309541551bdb07bf60cc57cadacf42a74287560ced2d2c06298620234"}, + {file = "django_celery_beat-2.2.1-py2.py3-none-any.whl", hash = "sha256:ab43049634fd18dc037927d7c2c7d5f67f95283a20ebbda55f42f8606412e66c"}, +] +django-constance = [ + {file = "django-constance-2.9.1.tar.gz", hash = "sha256:4c6a96a5f2cbce1bc3fa41aa20566b6ee26fbd896c9f91f996518a3a0904f6c8"}, + {file = "django_constance-2.9.1-py3-none-any.whl", hash = "sha256:bf0b392efa18a1f3f464eddb7eb36ac5c02598354a5e31d0d4ce4fc8b535694b"}, +] +django-cors-headers = [ + {file = "django-cors-headers-3.13.0.tar.gz", hash = "sha256:f9dc6b4e3f611c3199700b3e5f3398c28757dcd559c2f82932687f3d0443cfdf"}, + {file = "django_cors_headers-3.13.0-py3-none-any.whl", hash = "sha256:37e42883b5f1f2295df6b4bba96eb2417a14a03270cb24b2a07f021cd4487cf4"}, +] +django-cryptography = [ + {file = "django-cryptography-1.0.tar.gz", hash = "sha256:13de5cf8f1250744c104b9e24774d03aa6d8488959dd40cdc016934043652445"}, + {file = "django_cryptography-1.0-py3-none-any.whl", hash = "sha256:0a99980b1cee7cc5e52f9b20b322620fea7cc124d770273e7bd285b20fd9d222"}, +] +django-db-file-storage = [ + {file = "django-db-file-storage-0.5.5.tar.gz", hash = "sha256:5d5da694b78ab202accab4508b958e0e37b3d146310e76f6f6125e1bdeaaad14"}, +] +django-debug-toolbar = [ + {file = "django_debug_toolbar-3.8.1-py3-none-any.whl", hash = "sha256:879f8a4672d41621c06a4d322dcffa630fc4df056cada6e417ed01db0e5e0478"}, + {file = "django_debug_toolbar-3.8.1.tar.gz", hash = "sha256:24ef1a7d44d25e60d7951e378454c6509bf536dce7e7d9d36e7c387db499bc27"}, +] +django-extensions = [ + {file = "django-extensions-3.2.3.tar.gz", hash = "sha256:44d27919d04e23b3f40231c4ab7af4e61ce832ef46d610cc650d53e68328410a"}, + {file = "django_extensions-3.2.3-py3-none-any.whl", hash = "sha256:9600b7562f79a92cbf1fde6403c04fee314608fefbb595502e34383ae8203401"}, +] +django-filter = [ + {file = "django-filter-21.1.tar.gz", hash = "sha256:632a251fa8f1aadb4b8cceff932bb52fe2f826dd7dfe7f3eac40e5c463d6836e"}, + {file = "django_filter-21.1-py3-none-any.whl", hash = "sha256:f4a6737a30104c98d2e2a5fb93043f36dd7978e0c7ddc92f5998e85433ea5063"}, +] +django-health-check = [ + {file = "django-health-check-3.16.5.tar.gz", hash = "sha256:1edfd49293ccebbce29f9da609c407f307aee240ab799ab4201031341ae78c0f"}, + {file = "django_health_check-3.16.5-py2.py3-none-any.whl", hash = "sha256:8d66781a0ea82b1a8b44878187b38a27370e94f18287312e39be0593e72d8983"}, +] +django-jinja = [ + {file = "django-jinja-2.10.2.tar.gz", hash = "sha256:bfdfbb55c1f5a679d69ad575d550c4707d386634009152efe014089f3c4d1412"}, + {file = "django_jinja-2.10.2-py3-none-any.whl", hash = "sha256:dd003ec1c95c0989eb28a538831bced62b1b61da551cb44a5dfd708fcf75589f"}, +] +django-js-asset = [ + {file = "django_js_asset-2.0.0-py3-none-any.whl", hash = "sha256:86f9f300d682537ddaf0487dc2ab356581b8f50c069bdba91d334a46e449f923"}, + {file = "django_js_asset-2.0.0.tar.gz", hash = "sha256:adc1ee1efa853fad42054b540c02205344bb406c9bddf87c9e5377a41b7db90f"}, +] +django-mptt = [ + {file = "django-mptt-0.14.0.tar.gz", hash = "sha256:2c92a2b1614c53086278795ccf50580cf1f9b8564f3ff03055dd62bab5987711"}, + {file = "django_mptt-0.14.0-py3-none-any.whl", hash = "sha256:d9a87433ab0e4f35247c6f6d5a93ace6990860a4ba8796f815d185f773b9acfc"}, +] +django-picklefield = [ + {file = "django-picklefield-3.1.tar.gz", hash = "sha256:c786cbeda78d6def2b43bff4840d19787809c8909f7ad683961703060398d356"}, + {file = "django_picklefield-3.1-py3-none-any.whl", hash = "sha256:d77c504df7311e8ec14e8b779f10ca6fec74de6c7f8e2c136e1ef60cf955125d"}, +] +django-pivot = [ + {file = "django-pivot-1.9.0.tar.gz", hash = "sha256:5e985d32d9ff2a6b89419dd0292c0fa2822d494ee479b5fd16cdb542abf66a88"}, + {file = "django_pivot-1.9.0-py3-none-any.whl", hash = "sha256:1c60e18e7d5f7e42856faee0961748082ddd05b01ae7c8a4baed64d2bbacd051"}, +] +django-prometheus = [ + {file = "django-prometheus-2.2.0.tar.gz", hash = "sha256:240378a1307c408bd5fc85614a3a57f1ce633d4a222c9e291e2bbf325173b801"}, + {file = "django_prometheus-2.2.0-py2.py3-none-any.whl", hash = "sha256:e6616770d8820b8834762764bf1b76ec08e1b98e72a6f359d488a2e15fe3537c"}, +] +django-redis = [ + {file = "django-redis-5.2.0.tar.gz", hash = "sha256:8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de"}, + {file = "django_redis-5.2.0-py3-none-any.whl", hash = "sha256:1d037dc02b11ad7aa11f655d26dac3fb1af32630f61ef4428860a2e29ff92026"}, +] +django-rq = [ + {file = "django-rq-2.5.1.tar.gz", hash = "sha256:f08486602664d73a6e335872c868d79663e380247e6307496d01b8fa770fefd8"}, + {file = "django_rq-2.5.1-py2.py3-none-any.whl", hash = "sha256:7be1e10e7091555f9f36edf100b0dbb205ea2b98683d74443d2bdf3c6649a03f"}, +] +django-tables2 = [ + {file = "django-tables2-2.4.1.tar.gz", hash = "sha256:6c72dd208358539e789e4c0efd7d151e43283a4aa4093a35f44c43489e7ddeaa"}, + {file = "django_tables2-2.4.1-py2.py3-none-any.whl", hash = "sha256:50762bf3d7c61a4eb70e763c3e278650d7266bb78d0497fc8fafcf4e507c9a64"}, +] +django-taggit = [ + {file = "django-taggit-3.0.0.tar.gz", hash = "sha256:e645b8e3dd4f85989d5ef5c5a3d5ebbe5badf5d1e51b53e42d0af726240b00b9"}, + {file = "django_taggit-3.0.0-py3-none-any.whl", hash = "sha256:ca2df20399a11321db75988404afb640a08eff61e52bde35f6c16f307004ec9e"}, +] +django-timezone-field = [ + {file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"}, + {file = "django_timezone_field-4.1.2-py3-none-any.whl", hash = "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36"}, +] +django-tree-queries = [ + {file = "django_tree_queries-0.11.0-py3-none-any.whl", hash = "sha256:d74fe9e36dc67cb2c6f7df1969ef700627b0c49af2ada15990dd3ae44e4ddb23"}, + {file = "django_tree_queries-0.11.0.tar.gz", hash = "sha256:768bc75fd5ab617e19bec5c7e207964d7f2f6155f5f3d8c3332b41d9d0e6b436"}, +] +django-webserver = [ + {file = "django-webserver-1.2.0.tar.gz", hash = "sha256:c976979d15b5ff9a212f7904d3b779e22219aebb4857860fcaf20e4e40f1da40"}, + {file = "django_webserver-1.2.0-py2.py3-none-any.whl", hash = "sha256:09200631f266484b9e944e38e92681d6e9aa7d90d089a5c86d5fb08fddad84fe"}, +] +djangorestframework = [ + {file = "djangorestframework-3.14.0-py3-none-any.whl", hash = "sha256:eb63f58c9f218e1a7d064d17a70751f528ed4e1d35547fdade9aaf4cd103fd08"}, + {file = "djangorestframework-3.14.0.tar.gz", hash = "sha256:579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8"}, +] +drf-spectacular = [ + {file = "drf-spectacular-0.24.2.tar.gz", hash = "sha256:be32417594080a52f996afd83fd47ea9c2b83cbf13f6d3fbf3de809a0dfa7ead"}, + {file = "drf_spectacular-0.24.2-py3-none-any.whl", hash = "sha256:b276e6f7bda6dfb911e742dab87c6e97bc67da2dafe82d6fd8df7cec6c8b03ec"}, +] +drf-spectacular-sidecar = [ + {file = "drf-spectacular-sidecar-2023.7.1.tar.gz", hash = "sha256:fae346a00636a57aa164d2778e7162cfaff1f59af8133c2b6a8403c8211a167b"}, + {file = "drf_spectacular_sidecar-2023.7.1-py3-none-any.whl", hash = "sha256:4466e396a875182ac568872cd7a6658fefc386a764272adf088ce7a8d80c795a"}, +] +drf-yasg = [ + {file = "drf-yasg-1.21.6.tar.gz", hash = "sha256:d65387ed657d6bc157baf9de62e8d9b444857f06ed5486cf8915a9174b6be53c"}, + {file = "drf_yasg-1.21.6-py3-none-any.whl", hash = "sha256:4628c061c1605cdccdb6345df0dc8b5d3c5981c327e81a289642bf99aa92a9b2"}, +] +exceptiongroup = [ + {file = "exceptiongroup-1.1.2-py3-none-any.whl", hash = "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f"}, + {file = "exceptiongroup-1.1.2.tar.gz", hash = "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5"}, +] +flake8 = [ + {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, + {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, +] +fonttools = [ + {file = "fonttools-4.38.0-py3-none-any.whl", hash = "sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb"}, + {file = "fonttools-4.38.0.zip", hash = "sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1"}, +] +funcy = [ + {file = "funcy-1.18-py2.py3-none-any.whl", hash = "sha256:00ce91afc850357a131dc54f0db2ad8a1110d5087f1fa4480d7ea3ba0249f89d"}, + {file = "funcy-1.18.tar.gz", hash = "sha256:15448d19a8ebcc7a585afe7a384a19186d0bd67cbf56fb42cd1fd0f76313f9b2"}, +] +future = [ + {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, +] +ghp-import = [ + {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, + {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, +] +gitdb = [ + {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, + {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, +] +gitpython = [ + {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, + {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, +] +graphene = [ + {file = "graphene-2.1.9-py2.py3-none-any.whl", hash = "sha256:3d446eb1237c551052bc31155cf1a3a607053e4f58c9172b83a1b597beaa0868"}, + {file = "graphene-2.1.9.tar.gz", hash = "sha256:b9f2850e064eebfee9a3ef4a1f8aa0742848d97652173ab44c82cc8a62b9ed93"}, +] +graphene-django = [ + {file = "graphene-django-2.15.0.tar.gz", hash = "sha256:b78c9b05bc899016b9cc5bf13faa1f37fe1faa8c5407552c6ddd1a28f46fc31a"}, + {file = "graphene_django-2.15.0-py2.py3-none-any.whl", hash = "sha256:02671d195f0c09c8649acff2a8f4ad4f297d0f7d98ea6e6cdf034b81bab92880"}, +] +graphene-django-optimizer = [ + {file = "graphene-django-optimizer-0.8.0.tar.gz", hash = "sha256:79269880d59d0a35d41751ddcb419220c4ad3871960416371119f447cb2e1a77"}, +] +graphql-core = [ + {file = "graphql-core-2.3.2.tar.gz", hash = "sha256:aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746"}, + {file = "graphql_core-2.3.2-py2.py3-none-any.whl", hash = "sha256:44c9bac4514e5e30c5a595fac8e3c76c1975cae14db215e8174c7fe995825bad"}, +] +graphql-relay = [ + {file = "graphql-relay-2.0.1.tar.gz", hash = "sha256:870b6b5304123a38a0b215a79eace021acce5a466bf40cd39fa18cb8528afabb"}, + {file = "graphql_relay-2.0.1-py3-none-any.whl", hash = "sha256:ac514cb86db9a43014d7e73511d521137ac12cf0101b2eaa5f0a3da2e10d913d"}, +] +griffe = [ + {file = "griffe-0.30.1-py3-none-any.whl", hash = "sha256:b2f3df6952995a6bebe19f797189d67aba7c860755d3d21cc80f64d076d0154c"}, + {file = "griffe-0.30.1.tar.gz", hash = "sha256:007cc11acd20becf1bb8f826419a52b9d403bbad9d8c8535699f5440ddc0a109"}, +] +h11 = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] +httpcore = [ + {file = "httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87"}, + {file = "httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888"}, +] +httpx = [ + {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"}, + {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"}, +] +idna = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] +importlib-metadata = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] +importlib-resources = [ + {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, + {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, +] +inflection = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] +invoke = [ + {file = "invoke-2.1.3-py3-none-any.whl", hash = "sha256:51e86a08d964160e01c44eccd22f50b25842bd96a9c63c11177032594cb86740"}, + {file = "invoke-2.1.3.tar.gz", hash = "sha256:a3b15d52d50bbabd851b8a39582c772180b614000fa1612b4d92484d54d38c6b"}, +] +isort = [ + {file = "isort-5.11.5-py3-none-any.whl", hash = "sha256:ba1d72fb2595a01c7895a5128f9585a5cc4b6d395f1c8d514989b9a7eb2a8746"}, + {file = "isort-5.11.5.tar.gz", hash = "sha256:6be1f76a507cb2ecf16c7cf14a37e41609ca082330be4e3436a18ef74add55db"}, +] +jinja2 = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] +jsonschema = [ + {file = "jsonschema-4.7.2-py3-none-any.whl", hash = "sha256:c7448a421b25e424fccfceea86b4e3a8672b4436e1988ccbde92c80828d4f085"}, + {file = "jsonschema-4.7.2.tar.gz", hash = "sha256:73764f461d61eb97a057c929368610a134d1d1fffd858acfe88864ee94f1f1d3"}, +] +junos-eznc = [ + {file = "junos-eznc-2.6.7.tar.gz", hash = "sha256:b3ab81dafb160cd16cba8f26b92b6f5c3333a8d30566a7ebd966fc1f313b0980"}, + {file = "junos_eznc-2.6.7-py2.py3-none-any.whl", hash = "sha256:6ee9d74228ebaca01381eb88dbe21765006d76935960fd4e6cd8d67248b11644"}, +] +kiwisolver = [ + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"}, + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"}, + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32"}, + {file = "kiwisolver-1.4.4-cp310-cp310-win32.whl", hash = "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408"}, + {file = "kiwisolver-1.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4"}, + {file = "kiwisolver-1.4.4-cp311-cp311-win32.whl", hash = "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e"}, + {file = "kiwisolver-1.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-win32.whl", hash = "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c"}, + {file = "kiwisolver-1.4.4-cp38-cp38-win32.whl", hash = "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191"}, + {file = "kiwisolver-1.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9"}, + {file = "kiwisolver-1.4.4-cp39-cp39-win32.whl", hash = "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea"}, + {file = "kiwisolver-1.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"}, + {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"}, +] +kombu = [ + {file = "kombu-5.2.4-py3-none-any.whl", hash = "sha256:8b213b24293d3417bcf0d2f5537b7f756079e3ea232a8386dcc89a59fd2361a4"}, + {file = "kombu-5.2.4.tar.gz", hash = "sha256:37cee3ee725f94ea8bb173eaab7c1760203ea53bbebae226328600f9d2799610"}, +] +lazy-object-proxy = [ + {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, +] +lxml = [ + {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, + {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, + {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, + {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, + {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, + {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, + {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, + {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, + {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, + {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, + {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, + {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, + {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, + {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, + {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, + {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, + {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, + {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, + {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, + {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, + {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, + {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, + {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, + {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, + {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, + {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, + {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, + {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, + {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, + {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, + {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, + {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, + {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, + {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, + {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, + {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, + {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, + {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, + {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, + {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, + {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, + {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, + {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, + {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, + {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, +] +markdown = [ + {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, + {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, +] +markdown-it-py = [ + {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, + {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, +] +markupsafe = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] +matplotlib = [ + {file = "matplotlib-3.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a206a1b762b39398efea838f528b3a6d60cdb26fe9d58b48265787e29cd1d693"}, + {file = "matplotlib-3.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd45a6f3e93a780185f70f05cf2a383daed13c3489233faad83e81720f7ede24"}, + {file = "matplotlib-3.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d62880e1f60e5a30a2a8484432bcb3a5056969dc97258d7326ad465feb7ae069"}, + {file = "matplotlib-3.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ab29589cef03bc88acfa3a1490359000c18186fc30374d8aa77d33cc4a51a4a"}, + {file = "matplotlib-3.5.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2886cc009f40e2984c083687251821f305d811d38e3df8ded414265e4583f0c5"}, + {file = "matplotlib-3.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c995f7d9568f18b5db131ab124c64e51b6820a92d10246d4f2b3f3a66698a15b"}, + {file = "matplotlib-3.5.3-cp310-cp310-win32.whl", hash = "sha256:6bb93a0492d68461bd458eba878f52fdc8ac7bdb6c4acdfe43dba684787838c2"}, + {file = "matplotlib-3.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:2e6d184ebe291b9e8f7e78bbab7987d269c38ea3e062eace1fe7d898042ef804"}, + {file = "matplotlib-3.5.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6ea6aef5c4338e58d8d376068e28f80a24f54e69f09479d1c90b7172bad9f25b"}, + {file = "matplotlib-3.5.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:839d47b8ead7ad9669aaacdbc03f29656dc21f0d41a6fea2d473d856c39c8b1c"}, + {file = "matplotlib-3.5.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3b4fa56159dc3c7f9250df88f653f085068bcd32dcd38e479bba58909254af7f"}, + {file = "matplotlib-3.5.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:94ff86af56a3869a4ae26a9637a849effd7643858a1a04dd5ee50e9ab75069a7"}, + {file = "matplotlib-3.5.3-cp37-cp37m-win32.whl", hash = "sha256:35a8ad4dddebd51f94c5d24bec689ec0ec66173bf614374a1244c6241c1595e0"}, + {file = "matplotlib-3.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:43e9d3fa077bf0cc95ded13d331d2156f9973dce17c6f0c8b49ccd57af94dbd9"}, + {file = "matplotlib-3.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:22227c976ad4dc8c5a5057540421f0d8708c6560744ad2ad638d48e2984e1dbc"}, + {file = "matplotlib-3.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf618a825deb6205f015df6dfe6167a5d9b351203b03fab82043ae1d30f16511"}, + {file = "matplotlib-3.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9befa5954cdbc085e37d974ff6053da269474177921dd61facdad8023c4aeb51"}, + {file = "matplotlib-3.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3840c280ebc87a48488a46f760ea1c0c0c83fcf7abbe2e6baf99d033fd35fd8"}, + {file = "matplotlib-3.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dacddf5bfcec60e3f26ec5c0ae3d0274853a258b6c3fc5ef2f06a8eb23e042be"}, + {file = "matplotlib-3.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b428076a55fb1c084c76cb93e68006f27d247169f056412607c5c88828d08f88"}, + {file = "matplotlib-3.5.3-cp38-cp38-win32.whl", hash = "sha256:874df7505ba820e0400e7091199decf3ff1fde0583652120c50cd60d5820ca9a"}, + {file = "matplotlib-3.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:b28de401d928890187c589036857a270a032961411934bdac4cf12dde3d43094"}, + {file = "matplotlib-3.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3211ba82b9f1518d346f6309df137b50c3dc4421b4ed4815d1d7eadc617f45a1"}, + {file = "matplotlib-3.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6fe807e8a22620b4cd95cfbc795ba310dc80151d43b037257250faf0bfcd82bc"}, + {file = "matplotlib-3.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5c096363b206a3caf43773abebdbb5a23ea13faef71d701b21a9c27fdcef72f4"}, + {file = "matplotlib-3.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcdfcb0f976e1bac6721d7d457c17be23cf7501f977b6a38f9d38a3762841f7"}, + {file = "matplotlib-3.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1e64ac9be9da6bfff0a732e62116484b93b02a0b4d4b19934fb4f8e7ad26ad6a"}, + {file = "matplotlib-3.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:73dd93dc35c85dece610cca8358003bf0760d7986f70b223e2306b4ea6d1406b"}, + {file = "matplotlib-3.5.3-cp39-cp39-win32.whl", hash = "sha256:879c7e5fce4939c6aa04581dfe08d57eb6102a71f2e202e3314d5fbc072fd5a0"}, + {file = "matplotlib-3.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:ab8d26f07fe64f6f6736d635cce7bfd7f625320490ed5bfc347f2cdb4fae0e56"}, + {file = "matplotlib-3.5.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:99482b83ebf4eb6d5fc6813d7aacdefdd480f0d9c0b52dcf9f1cc3b2c4b3361a"}, + {file = "matplotlib-3.5.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f814504e459c68118bf2246a530ed953ebd18213dc20e3da524174d84ed010b2"}, + {file = "matplotlib-3.5.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57f1b4e69f438a99bb64d7f2c340db1b096b41ebaa515cf61ea72624279220ce"}, + {file = "matplotlib-3.5.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d2484b350bf3d32cae43f85dcfc89b3ed7bd2bcd781ef351f93eb6fb2cc483f9"}, + {file = "matplotlib-3.5.3.tar.gz", hash = "sha256:339cac48b80ddbc8bfd05daae0a3a73414651a8596904c2a881cfd1edb65f26c"}, +] +mccabe = [ + {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, + {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, +] +mdurl = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] +mergedeep = [ + {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, + {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, +] +mkdocs = [ + {file = "mkdocs-1.3.1-py3-none-any.whl", hash = "sha256:fda92466393127d2da830bc6edc3a625a14b436316d1caf347690648e774c4f0"}, + {file = "mkdocs-1.3.1.tar.gz", hash = "sha256:a41a2ff25ce3bbacc953f9844ba07d106233cd76c88bac1f59cb1564ac0d87ed"}, +] +mkdocs-autorefs = [ + {file = "mkdocs-autorefs-0.4.1.tar.gz", hash = "sha256:70748a7bd025f9ecd6d6feeba8ba63f8e891a1af55f48e366d6d6e78493aba84"}, + {file = "mkdocs_autorefs-0.4.1-py3-none-any.whl", hash = "sha256:a2248a9501b29dc0cc8ba4c09f4f47ff121945f6ce33d760f145d6f89d313f5b"}, +] +mkdocs-material = [ + {file = "mkdocs-material-8.4.2.tar.gz", hash = "sha256:704c64c3fff126a3923c2961d95f26b19be621342a6a4e49ed039f0bb7a5c540"}, + {file = "mkdocs_material-8.4.2-py2.py3-none-any.whl", hash = "sha256:166287bb0e4197804906bf0389a852d5ced43182c30127ac8b48a4e497ecd7e5"}, +] +mkdocs-material-extensions = [ + {file = "mkdocs_material_extensions-1.1.1-py3-none-any.whl", hash = "sha256:e41d9f38e4798b6617ad98ca8f7f1157b1e4385ac1459ca1e4ea219b556df945"}, + {file = "mkdocs_material_extensions-1.1.1.tar.gz", hash = "sha256:9c003da71e2cc2493d910237448c672e00cefc800d3d6ae93d2fc69979e3bd93"}, +] +mkdocs-version-annotations = [ + {file = "mkdocs-version-annotations-1.0.0.tar.gz", hash = "sha256:6786024b37d27b330fda240b76ebec8e7ce48bd5a9d7a66e99804559d088dffa"}, + {file = "mkdocs_version_annotations-1.0.0-py3-none-any.whl", hash = "sha256:385004eb4a7530dd87a227e08cd907ce7a8fe21fdf297720a4149c511bcf05f5"}, +] +mkdocstrings = [ + {file = "mkdocstrings-0.22.0-py3-none-any.whl", hash = "sha256:2d4095d461554ff6a778fdabdca3c00c468c2f1459d469f7a7f622a2b23212ba"}, + {file = "mkdocstrings-0.22.0.tar.gz", hash = "sha256:82a33b94150ebb3d4b5c73bab4598c3e21468c79ec072eff6931c8f3bfc38256"}, +] +mkdocstrings-python = [ + {file = "mkdocstrings_python-1.1.2-py3-none-any.whl", hash = "sha256:c2b652a850fec8e85034a9cdb3b45f8ad1a558686edc20ed1f40b4e17e62070f"}, + {file = "mkdocstrings_python-1.1.2.tar.gz", hash = "sha256:f28bdcacb9bcdb44b6942a5642c1ea8b36870614d33e29e3c923e204a8d8ed61"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.4.tar.gz", hash = "sha256:c8b707883a96efe9b4bb3aaf0dcc07e7e217d7d8368eec4db4049ee9e142f4fd"}, +] +napalm = [ + {file = "napalm-4.1.0-py2.py3-none-any.whl", hash = "sha256:14a5b7759a0247a26fff2c444b1cfc150a08224de8addf4076c384845285bf5b"}, + {file = "napalm-4.1.0.tar.gz", hash = "sha256:3b3e18efd556861c056ba509eb46f5ffc9e3e6c42db399fa76b6ea9af272c17a"}, +] +nautobot = [ + {file = "nautobot-1.5.16-py3-none-any.whl", hash = "sha256:9ca3c5e277377155549ffe5a3c2b886ee148c1639fced438eb4f08ba8f7bcec1"}, + {file = "nautobot-1.5.16.tar.gz", hash = "sha256:36b73ffc8b63c2e2667cbc40b05137fd9291335d652adb088c364f546add9adf"}, +] +nautobot-plugin-nornir = [ + {file = "nautobot-plugin-nornir-1.0.0.tar.gz", hash = "sha256:d9301329decd7e4b9b5578c72e05c44ac84fc747002135b99538152a5ae27de3"}, + {file = "nautobot_plugin_nornir-1.0.0-py3-none-any.whl", hash = "sha256:14e4098bf0a4d0d5ca3c550e75c6acf88502fb774791865488a9eaac5eff402e"}, +] +ncclient = [ + {file = "ncclient-0.6.13.tar.gz", hash = "sha256:f9f8cea8bcbe057e1b948b9cd1b241eafb8a3f73c4981fbdfa1cc6ed69c0a7b3"}, +] +netaddr = [ + {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, + {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, +] +netmiko = [ + {file = "netmiko-4.1.2-py3-none-any.whl", hash = "sha256:ee1e88ecbd07f619b0bc1e90648f82a64a0adee5968c3068621bbdadbfec5c03"}, + {file = "netmiko-4.1.2.tar.gz", hash = "sha256:f5ede2a28670d3dfd3470061468665f80f9b4906ed20e6b0fb4d9e1c9be67afc"}, +] +netutils = [ + {file = "netutils-1.4.1-py3-none-any.whl", hash = "sha256:41002e42b205149fbe6739b7fdbc778ed843e87fabba9691d3d06a35f7876fd4"}, + {file = "netutils-1.4.1.tar.gz", hash = "sha256:4f7501478d810bcd3c64edfe064fa8962a1572636f4fceee2538fc9d3616fbe2"}, +] +nornir = [ + {file = "nornir-3.3.0-py3-none-any.whl", hash = "sha256:4590d96edb5044e6a9e6f84e15625d32932177a10654040f99e145d73b352479"}, + {file = "nornir-3.3.0.tar.gz", hash = "sha256:1c6fd283bcdff9972358b126703c0990e9076dff1dfdc211e3077d45ada937d5"}, +] +nornir-jinja2 = [ + {file = "nornir_jinja2-0.2.0-py3-none-any.whl", hash = "sha256:0c446bec7a8492923d4eb9ca00fb327603b41bc35d5f0112843c048737b506b1"}, + {file = "nornir_jinja2-0.2.0.tar.gz", hash = "sha256:9ee5e725fe5543dcba4ec8b976804e9e88ecd356ea3b62bad97578cea0de1f75"}, +] +nornir-napalm = [ + {file = "nornir_napalm-0.4.0-py3-none-any.whl", hash = "sha256:20a41499aecf9c4e41181b18a73b2ee3ab7763824645ac0eb80abb3973a5f17e"}, + {file = "nornir_napalm-0.4.0.tar.gz", hash = "sha256:84e0711ccbdf24bdb228042ab530bf688d6b2b8f12c65fa3cb73499c6974a9de"}, +] +nornir-nautobot = [ + {file = "nornir_nautobot-2.4.0-py3-none-any.whl", hash = "sha256:4eb2e1764db10953860c9947a5bdfd0fc302d9896dce8d04c80d3cc101921c9d"}, + {file = "nornir_nautobot-2.4.0.tar.gz", hash = "sha256:bee993dc984b85dacab27781f501ae82d3bb92a8bcf47c1ad46b3cac4e835a5c"}, +] +nornir-netmiko = [ + {file = "nornir_netmiko-0.2.0-py3-none-any.whl", hash = "sha256:6960e7ae0b0566a46750634ec7ab3b3a081e09afb554f593bc547bb9383d41b1"}, + {file = "nornir_netmiko-0.2.0.tar.gz", hash = "sha256:78c93b11ef21a8dd55689b82e47149061ab653cc7fe641e43886c847d171f486"}, +] +nornir-utils = [ + {file = "nornir_utils-0.2.0-py3-none-any.whl", hash = "sha256:b4c430793a74f03affd5ff2d90abc8c67a28c7ff325f48e3a01a9a44ec71b844"}, + {file = "nornir_utils-0.2.0.tar.gz", hash = "sha256:4de6aaa35e5c1a98e1c84db84a008b0b1e974dc65d88484f2dcea3e30c95fbc2"}, +] +ntc-templates = [ + {file = "ntc_templates-3.5.0-py3-none-any.whl", hash = "sha256:86d75c077eb1ceb97f4f8c69c9e3c7a32b08210ceb8228e5fa4e87e080746fd4"}, + {file = "ntc_templates-3.5.0.tar.gz", hash = "sha256:ee0dab4440dab1b3286549f8c08695b30037c1f36f55763c5a39005525f722c7"}, +] +numpy = [ + {file = "numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50"}, + {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a"}, + {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062"}, + {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1412aa0aec3e00bc23fbb8664d76552b4efde98fb71f60737c83efbac24112f1"}, + {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e46ceaff65609b5399163de5893d8f2a82d3c77d5e56d976c8b5fb01faa6b671"}, + {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c6a2324085dd52f96498419ba95b5777e40b6bcbc20088fddb9e8cbb58885e8e"}, + {file = "numpy-1.21.1-cp37-cp37m-win32.whl", hash = "sha256:73101b2a1fef16602696d133db402a7e7586654682244344b8329cdcbbb82172"}, + {file = "numpy-1.21.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7a708a79c9a9d26904d1cca8d383bf869edf6f8e7650d85dbc77b041e8c5a0f8"}, + {file = "numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95b995d0c413f5d0428b3f880e8fe1660ff9396dcd1f9eedbc311f37b5652e16"}, + {file = "numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:635e6bd31c9fb3d475c8f44a089569070d10a9ef18ed13738b03049280281267"}, + {file = "numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a3d5fb89bfe21be2ef47c0614b9c9c707b7362386c9a3ff1feae63e0267ccb6"}, + {file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a326af80e86d0e9ce92bcc1e65c8ff88297de4fa14ee936cb2293d414c9ec63"}, + {file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:791492091744b0fe390a6ce85cc1bf5149968ac7d5f0477288f78c89b385d9af"}, + {file = "numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0318c465786c1f63ac05d7c4dbcecd4d2d7e13f0959b01b534ea1e92202235c5"}, + {file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a513bd9c1551894ee3d31369f9b07460ef223694098cf27d399513415855b68"}, + {file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91c6f5fc58df1e0a3cc0c3a717bb3308ff850abdaa6d2d802573ee2b11f674a8"}, + {file = "numpy-1.21.1-cp38-cp38-win32.whl", hash = "sha256:978010b68e17150db8765355d1ccdd450f9fc916824e8c4e35ee620590e234cd"}, + {file = "numpy-1.21.1-cp38-cp38-win_amd64.whl", hash = "sha256:9749a40a5b22333467f02fe11edc98f022133ee1bfa8ab99bda5e5437b831214"}, + {file = "numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d7a4aeac3b94af92a9373d6e77b37691b86411f9745190d2c351f410ab3a791f"}, + {file = "numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9e7912a56108aba9b31df688a4c4f5cb0d9d3787386b87d504762b6754fbb1b"}, + {file = "numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:25b40b98ebdd272bc3020935427a4530b7d60dfbe1ab9381a39147834e985eac"}, + {file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a92c5aea763d14ba9d6475803fc7904bda7decc2a0a68153f587ad82941fec1"}, + {file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05a0f648eb28bae4bcb204e6fd14603de2908de982e761a2fc78efe0f19e96e1"}, + {file = "numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f01f28075a92eede918b965e86e8f0ba7b7797a95aa8d35e1cc8821f5fc3ad6a"}, + {file = "numpy-1.21.1-cp39-cp39-win32.whl", hash = "sha256:88c0b89ad1cc24a5efbb99ff9ab5db0f9a86e9cc50240177a571fbe9c2860ac2"}, + {file = "numpy-1.21.1-cp39-cp39-win_amd64.whl", hash = "sha256:01721eefe70544d548425a07c80be8377096a54118070b8a62476866d5208e33"}, + {file = "numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4"}, + {file = "numpy-1.21.1.zip", hash = "sha256:dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd"}, +] +oauthlib = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] +ordered-set = [ + {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"}, + {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"}, +] +packaging = [ + {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, + {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, +] +paramiko = [ + {file = "paramiko-3.2.0-py3-none-any.whl", hash = "sha256:df0f9dd8903bc50f2e10580af687f3015bf592a377cd438d2ec9546467a14eb8"}, + {file = "paramiko-3.2.0.tar.gz", hash = "sha256:93cdce625a8a1dc12204439d45033f3261bdb2c201648cfcdc06f9fd0f94ec29"}, +] +pathspec = [ + {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, + {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, +] +pbr = [ + {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, + {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, +] +pillow = [ + {file = "Pillow-9.3.0-1-cp37-cp37m-win32.whl", hash = "sha256:e6ea6b856a74d560d9326c0f5895ef8050126acfdc7ca08ad703eb0081e82b74"}, + {file = "Pillow-9.3.0-1-cp37-cp37m-win_amd64.whl", hash = "sha256:32a44128c4bdca7f31de5be641187367fe2a450ad83b833ef78910397db491aa"}, + {file = "Pillow-9.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2"}, + {file = "Pillow-9.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de"}, + {file = "Pillow-9.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7"}, + {file = "Pillow-9.3.0-cp310-cp310-win32.whl", hash = "sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91"}, + {file = "Pillow-9.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b"}, + {file = "Pillow-9.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20"}, + {file = "Pillow-9.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c"}, + {file = "Pillow-9.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11"}, + {file = "Pillow-9.3.0-cp311-cp311-win32.whl", hash = "sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c"}, + {file = "Pillow-9.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef"}, + {file = "Pillow-9.3.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee"}, + {file = "Pillow-9.3.0-cp37-cp37m-win32.whl", hash = "sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29"}, + {file = "Pillow-9.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4"}, + {file = "Pillow-9.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4"}, + {file = "Pillow-9.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636"}, + {file = "Pillow-9.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32"}, + {file = "Pillow-9.3.0-cp38-cp38-win32.whl", hash = "sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0"}, + {file = "Pillow-9.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc"}, + {file = "Pillow-9.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad"}, + {file = "Pillow-9.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c"}, + {file = "Pillow-9.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448"}, + {file = "Pillow-9.3.0-cp39-cp39-win32.whl", hash = "sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48"}, + {file = "Pillow-9.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8"}, + {file = "Pillow-9.3.0.tar.gz", hash = "sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f"}, +] +platformdirs = [ + {file = "platformdirs-3.8.0-py3-none-any.whl", hash = "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e"}, + {file = "platformdirs-3.8.0.tar.gz", hash = "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc"}, +] +prometheus-client = [ + {file = "prometheus_client-0.14.1-py3-none-any.whl", hash = "sha256:522fded625282822a89e2773452f42df14b5a8e84a86433e3f8a189c1d54dc01"}, + {file = "prometheus_client-0.14.1.tar.gz", hash = "sha256:5459c427624961076277fdc6dc50540e2bacb98eebde99886e59ec55ed92093a"}, +] +promise = [ + {file = "promise-2.3.tar.gz", hash = "sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0"}, +] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, + {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, +] +psycopg2-binary = [ + {file = "psycopg2-binary-2.9.6.tar.gz", hash = "sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe9dc0a884a8848075e576c1de0290d85a533a9f6e9c4e564f19adf8f6e54a7"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a76e027f87753f9bd1ab5f7c9cb8c7628d1077ef927f5e2446477153a602f2c"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6460c7a99fc939b849431f1e73e013d54aa54293f30f1109019c56a0b2b2ec2f"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae102a98c547ee2288637af07393dd33f440c25e5cd79556b04e3fca13325e5f"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9972aad21f965599ed0106f65334230ce826e5ae69fda7cbd688d24fa922415e"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a40c00dbe17c0af5bdd55aafd6ff6679f94a9be9513a4c7e071baf3d7d22a70"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:cacbdc5839bdff804dfebc058fe25684cae322987f7a38b0168bc1b2df703fb1"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f0438fa20fb6c7e202863e0d5ab02c246d35efb1d164e052f2f3bfe2b152bd0"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-win32.whl", hash = "sha256:b6c8288bb8a84b47e07013bb4850f50538aa913d487579e1921724631d02ea1b"}, + {file = "psycopg2_binary-2.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:61b047a0537bbc3afae10f134dc6393823882eb263088c271331602b672e52e9"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:964b4dfb7c1c1965ac4c1978b0f755cc4bd698e8aa2b7667c575fb5f04ebe06b"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afe64e9b8ea66866a771996f6ff14447e8082ea26e675a295ad3bdbffdd72afb"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15e2ee79e7cf29582ef770de7dab3d286431b01c3bb598f8e05e09601b890081"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa74c903a3c1f0d9b1c7e7b53ed2d929a4910e272add6700c38f365a6002820"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b83456c2d4979e08ff56180a76429263ea254c3f6552cd14ada95cff1dec9bb8"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0645376d399bfd64da57148694d78e1f431b1e1ee1054872a5713125681cf1be"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99e34c82309dd78959ba3c1590975b5d3c862d6f279f843d47d26ff89d7d7e1"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4ea29fc3ad9d91162c52b578f211ff1c931d8a38e1f58e684c45aa470adf19e2"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4ac30da8b4f57187dbf449294d23b808f8f53cad6b1fc3623fa8a6c11d176dd0"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78e6e2a00c223e164c417628572a90093c031ed724492c763721c2e0bc2a8df"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-win32.whl", hash = "sha256:1876843d8e31c89c399e31b97d4b9725a3575bb9c2af92038464231ec40f9edb"}, + {file = "psycopg2_binary-2.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:b4b24f75d16a89cc6b4cdff0eb6a910a966ecd476d1e73f7ce5985ff1328e9a6"}, + {file = "psycopg2_binary-2.9.6-cp36-cp36m-win32.whl", hash = "sha256:498807b927ca2510baea1b05cc91d7da4718a0f53cb766c154c417a39f1820a0"}, + {file = "psycopg2_binary-2.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0d236c2825fa656a2d98bbb0e52370a2e852e5a0ec45fc4f402977313329174d"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:34b9ccdf210cbbb1303c7c4db2905fa0319391bd5904d32689e6dd5c963d2ea8"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d2222e61f313c4848ff05353653bf5f5cf6ce34df540e4274516880d9c3763"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30637a20623e2a2eacc420059be11527f4458ef54352d870b8181a4c3020ae6b"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8122cfc7cae0da9a3077216528b8bb3629c43b25053284cc868744bfe71eb141"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38601cbbfe600362c43714482f43b7c110b20cb0f8172422c616b09b85a750c5"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c7e62ab8b332147a7593a385d4f368874d5fe4ad4e341770d4983442d89603e3"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2ab652e729ff4ad76d400df2624d223d6e265ef81bb8aa17fbd63607878ecbee"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c83a74b68270028dc8ee74d38ecfaf9c90eed23c8959fca95bd703d25b82c88e"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d4e6036decf4b72d6425d5b29bbd3e8f0ff1059cda7ac7b96d6ac5ed34ffbacd"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-win32.whl", hash = "sha256:a8c28fd40a4226b4a84bdf2d2b5b37d2c7bd49486b5adcc200e8c7ec991dfa7e"}, + {file = "psycopg2_binary-2.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:51537e3d299be0db9137b321dfb6a5022caaab275775680e0c3d281feefaca6b"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4499e0a83b7b7edcb8dabecbd8501d0d3a5ef66457200f77bde3d210d5debb"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e13a5a2c01151f1208d5207e42f33ba86d561b7a89fca67c700b9486a06d0e2"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e0f754d27fddcfd74006455b6e04e6705d6c31a612ec69ddc040a5468e44b4e"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d57c3fd55d9058645d26ae37d76e61156a27722097229d32a9e73ed54819982a"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71f14375d6f73b62800530b581aed3ada394039877818b2d5f7fc77e3bb6894d"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:441cc2f8869a4f0f4bb408475e5ae0ee1f3b55b33f350406150277f7f35384fc"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:65bee1e49fa6f9cf327ce0e01c4c10f39165ee76d35c846ade7cb0ec6683e303"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:af335bac6b666cc6aea16f11d486c3b794029d9df029967f9938a4bed59b6a19"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cfec476887aa231b8548ece2e06d28edc87c1397ebd83922299af2e051cf2827"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65c07febd1936d63bfde78948b76cd4c2a411572a44ac50719ead41947d0f26b"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-win32.whl", hash = "sha256:4dfb4be774c4436a4526d0c554af0cc2e02082c38303852a36f6456ece7b3503"}, + {file = "psycopg2_binary-2.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:02c6e3cf3439e213e4ee930308dc122d6fb4d4bea9aef4a12535fbd605d1a2fe"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e9182eb20f41417ea1dd8e8f7888c4d7c6e805f8a7c98c1081778a3da2bee3e4"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8a6979cf527e2603d349a91060f428bcb135aea2be3201dff794813256c274f1"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8338a271cb71d8da40b023a35d9c1e919eba6cbd8fa20a54b748a332c355d896"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ed340d2b858d6e6fb5083f87c09996506af483227735de6964a6100b4e6a54"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f81e65376e52f03422e1fb475c9514185669943798ed019ac50410fb4c4df232"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfb13af3c5dd3a9588000910178de17010ebcccd37b4f9794b00595e3a8ddad3"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4c727b597c6444a16e9119386b59388f8a424223302d0c06c676ec8b4bc1f963"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d67fbdaf177da06374473ef6f7ed8cc0a9dc640b01abfe9e8a2ccb1b1402c1f"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0892ef645c2fabb0c75ec32d79f4252542d0caec1d5d949630e7d242ca4681a3"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:02c0f3757a4300cf379eb49f543fb7ac527fb00144d39246ee40e1df684ab514"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-win32.whl", hash = "sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848"}, + {file = "psycopg2_binary-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249"}, +] +pycodestyle = [ + {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, + {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, +] +pycparser = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] +pycryptodome = [ + {file = "pycryptodome-3.13.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:e468724173df02f9d83f3fea830bf0d04aa291b5add22b4a78e01c97aab04873"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:1fb7a6f222072412f320b9e48d3ce981920efbfce37b06d028ec9bd94093b37f"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:4f1b594d0cf35bd12ec4244df1155a7f565bf6e6245976ac36174c1564688c90"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:9ea70f6c3f6566159e3798e4593a4a8016994a0080ac29a45200615b45091a1b"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:f7aad304575d075faf2806977b726b67da7ba294adc97d878f92a062e357a56a"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:702446a012fd9337b9327d168bb0c7dc714eb93ad361f6f61af9ca8305a301f1"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-win32.whl", hash = "sha256:681ac47c538c64305d710eaed2bb49532f62b3f4c93aa7c423c520df981392e5"}, + {file = "pycryptodome-3.13.0-cp27-cp27m-win_amd64.whl", hash = "sha256:7b3478a187d897f003b2aa1793bcc59463e8d57a42e2aafbcbbe9cd47ec46863"}, + {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:eec02d9199af4b1ccfe1f9c587691a07a1fa39d949d2c1dc69d079ab9af8212f"}, + {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:9c8e0e6c5e982699801b20fa74f43c19aa080d2b53a39f3c132d35958e153bd4"}, + {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:f5457e44d3f26d9946091e92b28f3e970a56538b96c87b4b155a84e32a40b7b5"}, + {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:88d6d54e83cf9bbd665ce1e7b9079983ee2d97a05f42e0569ff00a70f1dd8b1e"}, + {file = "pycryptodome-3.13.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:72de8c4d71e6b11d54528bb924447fa4fdabcbb3d76cc0e7f61d3b6075def6b3"}, + {file = "pycryptodome-3.13.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:008ef2c631f112cd5a58736e0b29f4a28b4bb853e68878689f8b476fd56e0691"}, + {file = "pycryptodome-3.13.0-cp35-abi3-manylinux1_i686.whl", hash = "sha256:51ebe9624ad0a0b4da1aaaa2d43aabadf8537737fd494cee0ffa37cd6326de02"}, + {file = "pycryptodome-3.13.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:deede160bdf87ddb71f0a1314ad5a267b1a960be314ea7dc6b7ad86da6da89a3"}, + {file = "pycryptodome-3.13.0-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:857c16bffd938254e3a834cd6b2a755ed24e1a953b1a86e33da136d3e4c16a6f"}, + {file = "pycryptodome-3.13.0-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:ca6db61335d07220de0b665bfee7b8e9615b2dfc67a54016db4826dac34c2dd2"}, + {file = "pycryptodome-3.13.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:073dedf0f9c490ae22ca081b86357646ac9b76f3e2bd89119d137fc697a9e3b6"}, + {file = "pycryptodome-3.13.0-cp35-abi3-win32.whl", hash = "sha256:e3affa03c49cce7b0a9501cc7f608d4f8e61fb2522b276d599ac049b5955576d"}, + {file = "pycryptodome-3.13.0-cp35-abi3-win_amd64.whl", hash = "sha256:e5d72be02b17e6bd7919555811264403468d1d052fa67c946e402257c3c29a27"}, + {file = "pycryptodome-3.13.0-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:0896d5d15ffe584d46cb9b69a75cf14a2bc8f6daf635b7bf16c1b041342a44b1"}, + {file = "pycryptodome-3.13.0-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:e420cdfca73f80fe15f79bb34756959945231a052440813e5fce531e6e96331a"}, + {file = "pycryptodome-3.13.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:720fafdf3e5c5de93039d8308f765cc60b8e9e7e852ad7135aa65dd89238191f"}, + {file = "pycryptodome-3.13.0-pp27-pypy_73-win32.whl", hash = "sha256:7a8b0e526ff239b4f4c61dd6898e2474d609843ffc437267f3a27ddff626e6f6"}, + {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d92a5eddffb0ad39f582f07c1de26e9daf6880e3e782a94bb7ebaf939567f8bf"}, + {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:cb9453c981554984c6f5c5ce7682d7286e65e2173d7416114c3593a977a01bf5"}, + {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:765b8b16bc1fd699e183dde642c7f2653b8f3c9c1a50051139908e9683f97732"}, + {file = "pycryptodome-3.13.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:b3af53dddf848afb38b3ac2bae7159ddad1feb9bac14aa3acec6ef1797b82f8d"}, + {file = "pycryptodome-3.13.0.tar.gz", hash = "sha256:95bacf9ff7d1b90bba537d3f5f6c834efe6bfbb1a0195cb3573f29e6716ef08d"}, +] +pydocstyle = [ + {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, + {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, +] +pyeapi = [ + {file = "pyeapi-1.0.2.tar.gz", hash = "sha256:563a80bb19451df7dd7b6e9e38489dee67ebeaf2f54de296e8ae0b26cd68a297"}, +] +pyflakes = [ + {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, + {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, +] +pygments = [ + {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"}, + {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"}, +] +pyjwt = [ + {file = "PyJWT-2.7.0-py3-none-any.whl", hash = "sha256:ba2b425b15ad5ef12f200dc67dd56af4e26de2331f965c5439994dad075876e1"}, + {file = "PyJWT-2.7.0.tar.gz", hash = "sha256:bd6ca4a3c4285c1a2d4349e5a035fdf8fb94e04ccd0fcbe6ba289dae9cc3e074"}, +] +pylint = [ + {file = "pylint-2.13.9-py3-none-any.whl", hash = "sha256:705c620d388035bdd9ff8b44c5bcdd235bfb49d276d488dd2c8ff1736aa42526"}, + {file = "pylint-2.13.9.tar.gz", hash = "sha256:095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"}, +] +pylint-django = [ + {file = "pylint-django-2.5.3.tar.gz", hash = "sha256:0ac090d106c62fe33782a1d01bda1610b761bb1c9bf5035ced9d5f23a13d8591"}, + {file = "pylint_django-2.5.3-py3-none-any.whl", hash = "sha256:56b12b6adf56d548412445bd35483034394a1a94901c3f8571980a13882299d5"}, +] +pylint-plugin-utils = [ + {file = "pylint_plugin_utils-0.8.2-py3-none-any.whl", hash = "sha256:ae11664737aa2effbf26f973a9e0b6779ab7106ec0adc5fe104b0907ca04e507"}, + {file = "pylint_plugin_utils-0.8.2.tar.gz", hash = "sha256:d3cebf68a38ba3fba23a873809155562571386d4c1b03e5b4c4cc26c3eee93e4"}, +] +pymdown-extensions = [ + {file = "pymdown_extensions-10.0.1-py3-none-any.whl", hash = "sha256:ae66d84013c5d027ce055693e09a4628b67e9dec5bce05727e45b0918e36f274"}, + {file = "pymdown_extensions-10.0.1.tar.gz", hash = "sha256:b44e1093a43b8a975eae17b03c3a77aad4681b3b56fce60ce746dbef1944c8cb"}, +] +pynacl = [ + {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, + {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, +] +pynautobot = [ + {file = "pynautobot-1.5.0-py3-none-any.whl", hash = "sha256:aa5bdf18148d82715b26e1a7abf0796bb28da05fece3d206b6f42749d2f466b1"}, + {file = "pynautobot-1.5.0.tar.gz", hash = "sha256:50ac1e12f377ce2f1d156056e9ec3333c8a74bf6269e145889606da92b8752b4"}, +] +pyparsing = [ + {file = "pyparsing-3.1.0-py3-none-any.whl", hash = "sha256:d554a96d1a7d3ddaf7183104485bc19fd80543ad6ac5bdb6426719d766fb06c1"}, + {file = "pyparsing-3.1.0.tar.gz", hash = "sha256:edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea"}, +] +pyrsistent = [ + {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"}, + {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"}, + {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"}, + {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"}, + {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"}, + {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"}, + {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"}, + {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"}, + {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"}, + {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"}, + {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"}, + {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"}, + {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"}, + {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"}, + {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"}, + {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"}, + {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"}, + {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"}, + {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"}, + {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"}, + {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"}, + {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, +] +pyserial = [ + {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"}, + {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"}, +] +python-crontab = [ + {file = "python-crontab-2.7.1.tar.gz", hash = "sha256:b21af4647c7bbb848fef2f020616c6b0289dcb9f94b4f991a55310ff9bec5749"}, + {file = "python_crontab-2.7.1-py3-none-any.whl", hash = "sha256:9c374d1c9d401afdd8dd958f20077f74c158ab3fffb9604296802715e887fe48"}, +] +python-dateutil = [ + {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"}, +] +python3-openid = [ + {file = "python3-openid-3.2.0.tar.gz", hash = "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf"}, + {file = "python3_openid-3.2.0-py3-none-any.whl", hash = "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b"}, +] +pytz = [ + {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, + {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, +] +pyuwsgi = [ + {file = "pyuwsgi-2.0.21-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10cce470f3db6e5206c3fb9d46b86c5c915dcb6616a617101411006463e833ea"}, + {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e06b41ad50b8d3d5a46374af8c8ed9bcf2627ea97f5718ef2da693ab3425656"}, + {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:977ce0f87e3f07571267b6572dcbe8b3d5d488cbc351d33c93ec6cce9737099a"}, + {file = "pyuwsgi-2.0.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:243de3964aa40e9f15cc4be64bf5594bb4d3e847f9b563b3d8f3b2df9c1c1581"}, + {file = "pyuwsgi-2.0.21-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:47e29aca1e856315b18999e6527347cf461f7b333af13b33ba5926e2718c0a3c"}, + {file = "pyuwsgi-2.0.21-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0a6209bf09e14d3ceee1db6d1381346c361245552307388a1cf65229d33d306c"}, + {file = "pyuwsgi-2.0.21-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:09942a86c5501367381b86561dcb69efa4207e1f604a4c5c4e58849f0b895619"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7139eb6bdcb32b64431ba5d3058975d6a34cc52d58c2ffbf611625cd058018a7"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:871d0b9a61a143da0b0ba4a7249d198c804ad63a2374b5bccae7c584d805bdcd"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78c3aaf8e89ee912730ad57e60832c0d10a267b521715c8d832eef19373075aa"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8da171f2519739caad4bf4682a71b92527489eb71b3af41319bbc13f61e14dc"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c9b67d7211e5d9439d1ecc11cf909fc214d05c332e47121d5f92913ebdf5c28c"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c9fdd5032bd4a5d697ccfb50e2e5296c419eb53a8b44cacfcc55d7ceb629be2f"}, + {file = "pyuwsgi-2.0.21-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:445998892e164e7f253d20ffd1ab6f7c9441c77e8d05e8a2525532ba663de0af"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f76540fbcea52d333acfe172c7c91f284c4526eae8b0d146c60672dbcaece705"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32eace989380b3677131fea2d5e719a870fcecb2a1db5830d80997e9f501c6db"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26876ce2e934e004d1d98a06abb170743ec743a5cecc3867260f071f31c269e0"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e77e27ce32b64b34de26a2ec84cb8fff620153d7a207ea3cbea69b39c0b571b1"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:62d9927a1178af61285b697caa736dfa34fcc48090db45f965859e1fa641f4bc"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ed867fa6d704338820304bd13bc6b20687e823ef70dfaf35c1db324598b60af4"}, + {file = "pyuwsgi-2.0.21-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c38f1e68db1dea7e8b47a64b855cd15e491d1920908be5887189a98ce5e968e9"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be994a0cdaaf9733e00c2e3275b368586db067802cd0a1af682b0c55070f39c7"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0753b7ec6174afa590bd5724d25541209387b67f080dbe13db7d9655ef0077df"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c17abbbba53eabdba7fc92a0321864adbf97e8460cfd9c01b714d6c3e3ccc4c"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13524cea71a1cd2bb4586c773cbf6a9a1085f3e4ba1c52648b2823385c8d7d74"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f5b6c6d413430015f9cbadef2687ce334b2960d0df3cfba4181e39c4af242933"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1f44454a0cf419436c0a99bd37586ce9776e3c10454dd3387d2afa9c4c9c4404"}, + {file = "pyuwsgi-2.0.21-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7375666a7dd22f1c9ad4c7d01e957c5941baa489f02cd76cf2064a63a8946dfe"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:56f92e057461bcd32e991661db3fb505a59b8ff35da5af12b062b9ebf1ddfc57"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c005b1357c525fe63dfb83299ca77f478db4842ee8204e8ac6cb47267fc1920"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10d36e255bd54e7d52ed7dc360821b06748e87a7d5aa826a48ddfa7c9baedb52"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8693e2a71da6e5f78fa4142893c1b201daadaf71d87275fd906ce6d02e3c9910"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e448bdd8fbacbd27dcdd58f1191ee61c58795a672cedc4ca661a8b83606a158a"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:837d295d3df3d4b6e1a9850922e25fc7a8836949f424a36985491be473f00d21"}, + {file = "pyuwsgi-2.0.21-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92371cb638707574fe93127f9c270216d12751a96e6a624237820a089f846ef5"}, + {file = "pyuwsgi-2.0.21.tar.gz", hash = "sha256:211e8877f5191e347ba905232d04ab30e05ce31ba7a6dac4bfcb48de9845bb52"}, +] +pyyaml = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, + {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, + {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] +pyyaml-env-tag = [ + {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, + {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, +] +redis = [ + {file = "redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c"}, + {file = "redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"}, +] +requests = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] +requests-oauthlib = [ + {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, + {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, +] +rich = [ + {file = "rich-13.4.2-py3-none-any.whl", hash = "sha256:8f87bc7ee54675732fa66a05ebfe489e27264caeeff3728c945d25971b6485ec"}, + {file = "rich-13.4.2.tar.gz", hash = "sha256:d653d6bccede5844304c605d5aac802c7cf9621efd700b46c7ec2b51ea914898"}, +] +rq = [ + {file = "rq-1.15.1-py2.py3-none-any.whl", hash = "sha256:6e243d8d9c4af4686ded4b01b25ea1ff4bac4fc260b02638fbe9c8c17b004bd1"}, + {file = "rq-1.15.1.tar.gz", hash = "sha256:1f49f4ac1a084044bb8e95b3f305c0bf17e55618b08c18e0b60c080f12d6f008"}, +] +ruamel-yaml = [ + {file = "ruamel.yaml-0.17.32-py3-none-any.whl", hash = "sha256:23cd2ed620231677564646b0c6a89d138b6822a0d78656df7abda5879ec4f447"}, + {file = "ruamel.yaml-0.17.32.tar.gz", hash = "sha256:ec939063761914e14542972a5cba6d33c23b0859ab6342f61cf070cfc600efc2"}, +] +ruamel-yaml-clib = [ + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, + {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, +] +rx = [ + {file = "Rx-1.6.3.tar.gz", hash = "sha256:ca71b65d0fc0603a3b5cfaa9e33f5ba81e4aae10a58491133595088d7734b2da"}, +] +scp = [ + {file = "scp-0.14.5-py2.py3-none-any.whl", hash = "sha256:d224535dd8ed00294f52b0e0e18fde7a6fb7a3d06b97ede9e3f750fa7bf75c09"}, + {file = "scp-0.14.5.tar.gz", hash = "sha256:64f0015899b3d212cb8088e7d40ebaf0686889ff0e243d5c1242efe8b50f053e"}, +] +setuptools = [ + {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, + {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, +] +setuptools-scm = [ + {file = "setuptools_scm-6.4.2-py3-none-any.whl", hash = "sha256:acea13255093849de7ccb11af9e1fb8bde7067783450cee9ef7a93139bddf6d4"}, + {file = "setuptools_scm-6.4.2.tar.gz", hash = "sha256:6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30"}, +] +singledispatch = [ + {file = "singledispatch-4.0.0-py2.py3-none-any.whl", hash = "sha256:b8f69397a454b45b91e2f949fcc87896c53718ca59aab6367966e8b3f010ec77"}, + {file = "singledispatch-4.0.0.tar.gz", hash = "sha256:f3c327a968651a7f4b03586eab7d90a07b05ff3ef7942d1967036eb9f75ab8fc"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +smmap = [ + {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, + {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, +] +sniffio = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] +social-auth-app-django = [ + {file = "social-auth-app-django-5.0.0.tar.gz", hash = "sha256:b6e3132ce087cdd6e1707aeb1b588be41d318408fcf6395435da0bc6fe9a9795"}, + {file = "social_auth_app_django-5.0.0-py3-none-any.whl", hash = "sha256:52241a25445a010ab1c108bafff21fc5522d5c8cd0d48a92c39c7371824b065d"}, +] +social-auth-core = [ + {file = "social-auth-core-4.4.2.tar.gz", hash = "sha256:9791d7c7aee2ac8517fe7a2ea2f942a8a5492b3a4ccb44a9b0dacc87d182f2aa"}, + {file = "social_auth_core-4.4.2-py3-none-any.whl", hash = "sha256:ea7a19c46b791b767e95f467881b53c5fd0d1efb40048d9ed3dbc46daa05c954"}, +] +sqlparse = [ + {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, + {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, +] +stevedore = [ + {file = "stevedore-3.5.2-py3-none-any.whl", hash = "sha256:fa2630e3d0ad3e22d4914aff2501445815b9a4467a6edc49387c667a38faf5bf"}, + {file = "stevedore-3.5.2.tar.gz", hash = "sha256:cf99f41fc0d5a4f185ca4d3d42b03be9011b0a1ec1a4ea1a282be1b4b306dcc2"}, +] +svgwrite = [ + {file = "svgwrite-1.4.3-py3-none-any.whl", hash = "sha256:bb6b2b5450f1edbfa597d924f9ac2dd099e625562e492021d7dd614f65f8a22d"}, + {file = "svgwrite-1.4.3.zip", hash = "sha256:a8fbdfd4443302a6619a7f76bc937fc683daf2628d9b737c891ec08b8ce524c3"}, +] +swagger-spec-validator = [ + {file = "swagger-spec-validator-3.0.3.tar.gz", hash = "sha256:16a5ce08c772824a77b1a4a05efc047d72eef1ed53fb969dfe0a18f437ac30a8"}, + {file = "swagger_spec_validator-3.0.3-py2.py3-none-any.whl", hash = "sha256:174b5de4ab0899df9a57d35c880aaa515511c4b8b578d9d519b09a9596537055"}, +] +tenacity = [ + {file = "tenacity-8.2.2-py3-none-any.whl", hash = "sha256:2f277afb21b851637e8f52e6a613ff08734c347dc19ade928e519d7d2d8569b0"}, + {file = "tenacity-8.2.2.tar.gz", hash = "sha256:43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0"}, +] +text-unidecode = [ + {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, + {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, +] +textfsm = [ + {file = "textfsm-1.1.2-py2.py3-none-any.whl", hash = "sha256:f3d4e9bd4344935a08e6844e53d6220e2e4fb7e465bee51fa909152ed6bab406"}, + {file = "textfsm-1.1.2.tar.gz", hash = "sha256:85a450b441aff04b1cac726bdb36f35534a5b196cca08c8bc14fddd879c4255c"}, +] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] +transitions = [ + {file = "transitions-0.9.0-py2.py3-none-any.whl", hash = "sha256:5687ee8c6a3200830e44f988d16b0045f53293f7a873002d7bff70852331a078"}, + {file = "transitions-0.9.0.tar.gz", hash = "sha256:2f54d11bdb225779d7e729011e93a9fb717668ce3dc65f8d4f5a5d7ba2f48e10"}, +] +ttp = [ + {file = "ttp-0.9.5-py2.py3-none-any.whl", hash = "sha256:2c9fcf560b3f696e9fdd3554dc8e4622cbb10cac1d4fca13a7cf608c4a7fd137"}, + {file = "ttp-0.9.5.tar.gz", hash = "sha256:234414f4d3039d2d1cde09993f89f8db1b34d447f76c6a402555cefac2e59c4e"}, +] +ttp-templates = [ + {file = "ttp_templates-0.3.5-py3-none-any.whl", hash = "sha256:4985a68640468127a0e31021672039cd88a8b9c3dd9289cad67839209cddaf30"}, + {file = "ttp_templates-0.3.5.tar.gz", hash = "sha256:e59870d4f65bd4aaf89178dc9065a7db8b80a23d5d79b5d6ffd041312d5ec5a6"}, +] +typed-ast = [ + {file = "typed_ast-1.5.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4bc1efe0ce3ffb74784e06460f01a223ac1f6ab31c6bc0376a21184bf5aabe3b"}, + {file = "typed_ast-1.5.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f7a8c46a8b333f71abd61d7ab9255440d4a588f34a21f126bbfc95f6049e686"}, + {file = "typed_ast-1.5.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:597fc66b4162f959ee6a96b978c0435bd63791e31e4f410622d19f1686d5e769"}, + {file = "typed_ast-1.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d41b7a686ce653e06c2609075d397ebd5b969d821b9797d029fccd71fdec8e04"}, + {file = "typed_ast-1.5.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5fe83a9a44c4ce67c796a1b466c270c1272e176603d5e06f6afbc101a572859d"}, + {file = "typed_ast-1.5.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d5c0c112a74c0e5db2c75882a0adf3133adedcdbfd8cf7c9d6ed77365ab90a1d"}, + {file = "typed_ast-1.5.5-cp310-cp310-win_amd64.whl", hash = "sha256:e1a976ed4cc2d71bb073e1b2a250892a6e968ff02aa14c1f40eba4f365ffec02"}, + {file = "typed_ast-1.5.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c631da9710271cb67b08bd3f3813b7af7f4c69c319b75475436fcab8c3d21bee"}, + {file = "typed_ast-1.5.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b445c2abfecab89a932b20bd8261488d574591173d07827c1eda32c457358b18"}, + {file = "typed_ast-1.5.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc95ffaaab2be3b25eb938779e43f513e0e538a84dd14a5d844b8f2932593d88"}, + {file = "typed_ast-1.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61443214d9b4c660dcf4b5307f15c12cb30bdfe9588ce6158f4a005baeb167b2"}, + {file = "typed_ast-1.5.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6eb936d107e4d474940469e8ec5b380c9b329b5f08b78282d46baeebd3692dc9"}, + {file = "typed_ast-1.5.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e48bf27022897577d8479eaed64701ecaf0467182448bd95759883300ca818c8"}, + {file = "typed_ast-1.5.5-cp311-cp311-win_amd64.whl", hash = "sha256:83509f9324011c9a39faaef0922c6f720f9623afe3fe220b6d0b15638247206b"}, + {file = "typed_ast-1.5.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:44f214394fc1af23ca6d4e9e744804d890045d1643dd7e8229951e0ef39429b5"}, + {file = "typed_ast-1.5.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:118c1ce46ce58fda78503eae14b7664163aa735b620b64b5b725453696f2a35c"}, + {file = "typed_ast-1.5.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be4919b808efa61101456e87f2d4c75b228f4e52618621c77f1ddcaae15904fa"}, + {file = "typed_ast-1.5.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:fc2b8c4e1bc5cd96c1a823a885e6b158f8451cf6f5530e1829390b4d27d0807f"}, + {file = "typed_ast-1.5.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:16f7313e0a08c7de57f2998c85e2a69a642e97cb32f87eb65fbfe88381a5e44d"}, + {file = "typed_ast-1.5.5-cp36-cp36m-win_amd64.whl", hash = "sha256:2b946ef8c04f77230489f75b4b5a4a6f24c078be4aed241cfabe9cbf4156e7e5"}, + {file = "typed_ast-1.5.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2188bc33d85951ea4ddad55d2b35598b2709d122c11c75cffd529fbc9965508e"}, + {file = "typed_ast-1.5.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0635900d16ae133cab3b26c607586131269f88266954eb04ec31535c9a12ef1e"}, + {file = "typed_ast-1.5.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57bfc3cf35a0f2fdf0a88a3044aafaec1d2f24d8ae8cd87c4f58d615fb5b6311"}, + {file = "typed_ast-1.5.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:fe58ef6a764de7b4b36edfc8592641f56e69b7163bba9f9c8089838ee596bfb2"}, + {file = "typed_ast-1.5.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d09d930c2d1d621f717bb217bf1fe2584616febb5138d9b3e8cdd26506c3f6d4"}, + {file = "typed_ast-1.5.5-cp37-cp37m-win_amd64.whl", hash = "sha256:d40c10326893ecab8a80a53039164a224984339b2c32a6baf55ecbd5b1df6431"}, + {file = "typed_ast-1.5.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fd946abf3c31fb50eee07451a6aedbfff912fcd13cf357363f5b4e834cc5e71a"}, + {file = "typed_ast-1.5.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ed4a1a42df8a3dfb6b40c3d2de109e935949f2f66b19703eafade03173f8f437"}, + {file = "typed_ast-1.5.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:045f9930a1550d9352464e5149710d56a2aed23a2ffe78946478f7b5416f1ede"}, + {file = "typed_ast-1.5.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:381eed9c95484ceef5ced626355fdc0765ab51d8553fec08661dce654a935db4"}, + {file = "typed_ast-1.5.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bfd39a41c0ef6f31684daff53befddae608f9daf6957140228a08e51f312d7e6"}, + {file = "typed_ast-1.5.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8c524eb3024edcc04e288db9541fe1f438f82d281e591c548903d5b77ad1ddd4"}, + {file = "typed_ast-1.5.5-cp38-cp38-win_amd64.whl", hash = "sha256:7f58fabdde8dcbe764cef5e1a7fcb440f2463c1bbbec1cf2a86ca7bc1f95184b"}, + {file = "typed_ast-1.5.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:042eb665ff6bf020dd2243307d11ed626306b82812aba21836096d229fdc6a10"}, + {file = "typed_ast-1.5.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:622e4a006472b05cf6ef7f9f2636edc51bda670b7bbffa18d26b255269d3d814"}, + {file = "typed_ast-1.5.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1efebbbf4604ad1283e963e8915daa240cb4bf5067053cf2f0baadc4d4fb51b8"}, + {file = "typed_ast-1.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0aefdd66f1784c58f65b502b6cf8b121544680456d1cebbd300c2c813899274"}, + {file = "typed_ast-1.5.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:48074261a842acf825af1968cd912f6f21357316080ebaca5f19abbb11690c8a"}, + {file = "typed_ast-1.5.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:429ae404f69dc94b9361bb62291885894b7c6fb4640d561179548c849f8492ba"}, + {file = "typed_ast-1.5.5-cp39-cp39-win_amd64.whl", hash = "sha256:335f22ccb244da2b5c296e6f96b06ee9bed46526db0de38d2f0e5a6597b81155"}, + {file = "typed_ast-1.5.5.tar.gz", hash = "sha256:94282f7a354f36ef5dbce0ef3467ebf6a258e370ab33d5b40c249fa996e590dd"}, +] +typing-extensions = [ + {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, + {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, +] +uritemplate = [ + {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, + {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, +] +urllib3 = [ + {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, + {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, +] +vine = [ + {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, + {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, +] +watchdog = [ + {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, + {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, + {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, + {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, + {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, + {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, + {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, + {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, + {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, +] +wcwidth = [ + {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, + {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, +] +wrapt = [ + {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, + {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, + {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, + {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, + {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, + {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, + {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, + {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, + {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, + {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, + {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, + {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, + {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, + {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, + {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, + {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, + {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, + {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, + {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, + {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, + {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, + {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, + {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, + {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, + {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, + {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, + {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, + {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, + {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, + {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, + {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, + {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, + {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, + {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, + {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, + {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, + {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, + {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, + {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, + {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, + {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, + {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, + {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, + {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, + {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, + {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, + {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, + {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, + {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, + {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, + {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, + {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, + {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, + {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, + {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, + {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, + {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, + {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, + {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, + {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, + {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, + {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, + {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, + {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, + {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, + {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, + {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, + {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, + {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, + {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, + {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, + {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, + {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, + {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, + {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, +] +yamllint = [ + {file = "yamllint-1.32.0-py3-none-any.whl", hash = "sha256:d97a66e48da820829d96077d76b8dfbe6c6140f106e558dae87e81ac4e6b30b7"}, + {file = "yamllint-1.32.0.tar.gz", hash = "sha256:d01dde008c65de5b235188ab3110bebc59d18e5c65fc8a58267cd211cd9df34a"}, +] +yamlordereddictloader = [ + {file = "yamlordereddictloader-0.4.0.tar.gz", hash = "sha256:7f30f0b99ea3f877f7cb340c570921fa9d639b7f69cba18be051e27f8de2080e"}, +] +zipp = [ + {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, + {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, +] diff --git a/pyproject.toml b/pyproject.toml index 771fd772..4f42de03 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,8 +57,10 @@ mkdocs-material = "8.4.2" # Render custom markdown for version added/changed/remove notes mkdocs-version-annotations = "1.0.0" # Automatic documentation from sources, for MkDocs -mkdocstrings = "0.19" -mkdocstrings-python = "0.7.1" +mkdocstrings = "0.22.0" +mkdocstrings-python = "1.1.2" +# griffe 0.31 and later drop support for python 3.7 +griffe = "0.30.1" [tool.black] line-length = 120 From 9cc0dbbb5d54c74dce539cc7ae986b1e0dd6b2b6 Mon Sep 17 00:00:00 2001 From: mzb Date: Wed, 26 Jul 2023 16:05:39 +0200 Subject: [PATCH 09/10] Removing ConfigCompliance model import from 0005 migration (#530) --- nautobot_golden_config/migrations/0005_json_compliance_rule.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nautobot_golden_config/migrations/0005_json_compliance_rule.py b/nautobot_golden_config/migrations/0005_json_compliance_rule.py index 08e10cc4..6ec713c7 100644 --- a/nautobot_golden_config/migrations/0005_json_compliance_rule.py +++ b/nautobot_golden_config/migrations/0005_json_compliance_rule.py @@ -1,11 +1,10 @@ from django.db import migrations, models import json -from nautobot_golden_config.models import ConfigCompliance - def jsonify(apps, schedma_editor): """Converts textfield to json in preparation for migration.""" + ConfigCompliance = apps.get_model("nautobot_golden_config", "ConfigCompliance") queryset = ConfigCompliance.objects.all() attrs = ["actual", "extra", "intended", "missing"] for i in queryset: From d3177d3592222ddc6ff8aad647b68231595cbff2 Mon Sep 17 00:00:00 2001 From: Ken Celenza Date: Sat, 26 Aug 2023 11:10:53 -0400 Subject: [PATCH 10/10] Prep v1.4.2 release (#549) * Prep v1.4.2 release * Add arg for poetry * Update docs/admin/release_notes/version_1.4.md Co-authored-by: Jeff Kala <48843785+jeffkala@users.noreply.github.com> --------- Co-authored-by: Jeff Kala <48843785+jeffkala@users.noreply.github.com> --- development/Dockerfile | 1 + docs/admin/release_notes/version_1.4.md | 17 +++++++++++++++++ pyproject.toml | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/development/Dockerfile b/development/Dockerfile index 22094b98..cd13a7c1 100644 --- a/development/Dockerfile +++ b/development/Dockerfile @@ -26,6 +26,7 @@ ENV NAUTOBOT_ROOT ${NAUTOBOT_ROOT} # and CI and local development may have a newer version of Poetry # Since this is only used for development and we don't ship this container, pinning Poetry back is not expressly necessary # We also don't need virtual environments in container +ARG POETRY_VERSION=1.5.1 RUN curl -sSL https://install.python-poetry.org -o /tmp/install-poetry.py && \ python /tmp/install-poetry.py && \ rm -f /tmp/install-poetry.py && \ diff --git a/docs/admin/release_notes/version_1.4.md b/docs/admin/release_notes/version_1.4.md index d3cda9f2..06251351 100755 --- a/docs/admin/release_notes/version_1.4.md +++ b/docs/admin/release_notes/version_1.4.md @@ -2,6 +2,23 @@ - Change min version of Nautobot from 1.4.0 to 1.5.3 which is required for the use of NautobotUIViewset, Notes mixins etc. +## v1.4.2 - 2023-08 + +### Changed + +- [519](https://github.com/nautobot/nautobot-plugin-golden-config/pull/519) - docs-only: large fixes and template troubleshooting section. + +### Fixed + +- [492](https://github.com/nautobot/nautobot-plugin-golden-config/pull/492) - Fix count of in scope devices on settings detail view. +- [498](https://github.com/nautobot/nautobot-plugin-golden-config/pull/498) - Fix deepdiff dependency. +- [501](https://github.com/nautobot/nautobot-plugin-golden-config/pull/501) - Update docs for adding CustomField data with datasources. +- [503](https://github.com/nautobot/nautobot-plugin-golden-config/pull/503) - Switch from deprecated FilterSet to new FilterSetMixin. +- [504](https://github.com/nautobot/nautobot-plugin-golden-config/pull/504) - Fix extend queryfilter to export. +- [511](https://github.com/nautobot/nautobot-plugin-golden-config/pull/511) - Fix `log_failure` function missing argument. +- [523](https://github.com/nautobot/nautobot-plugin-golden-config/pull/523) - Fix docs site by pinning dev dependencies. +- [530](https://github.com/nautobot/nautobot-plugin-golden-config/pull/530) - Fix, removing ConfigCompliance model import from 0005 migration. + ## v1.4.1 - 2023-05 ### Fixed diff --git a/pyproject.toml b/pyproject.toml index 4f42de03..f2013e1c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "nautobot-golden-config" -version = "1.4.1" +version = "1.4.2" description = "A plugin for configuration on nautobot" authors = ["Network to Code, LLC", ""]