diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index aeffad13fb6d1d869a8b6e2793b18f36a9063096..6b5c01c6f7cb5dc1aa5511aa249c765dce2744e6 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -1,5 +1,4 @@ import os -import pkgutil import time from datetime import datetime, timedelta from importlib import import_module @@ -8,6 +7,11 @@ from operator import itemgetter from typing import Any, Callable, Optional, Sequence, Union from uuid import uuid4 +try: + from importlib import metadata +except ImportError: + import importlib_metadata as metadata + from django.conf import settings from django.db.models import Model, QuerySet from django.http import HttpRequest @@ -59,14 +63,8 @@ def dt_show_toolbar(request: HttpRequest) -> bool: def get_app_packages() -> Sequence[str]: - """Find all packages within the aleksis.apps namespace.""" - # Import error are non-fatal here because probably simply no app is installed. - try: - import aleksis.apps - except ImportError: - return [] - - return [f"aleksis.apps.{pkg[1]}" for pkg in pkgutil.iter_modules(aleksis.apps.__path__)] + """Find all registered apps from the setuptools entrypoint.""" + return [f"{ep.module}.{ep.attr}" for ep in metadata.entry_points()["aleksis.app"]] def merge_app_settings( @@ -81,11 +79,19 @@ def merge_app_settings( Note: Only selected names will be imported frm it to minimise impact of potentially malicious apps! """ - for pkg in get_app_packages(): - try: - mod_settings = import_module(pkg + ".settings") - except ImportError: - # Import errors are non-fatal. They mean that the app has no settings.py. + for app in get_app_packages(): + pkg = ".".join(app.split(".")[:-2]) + mod_settings = None + while "." in pkg: + try: + mod_settings = import_module(pkg + ".settings") + except ImportError: + # Import errors are non-fatal. + pkg = ".".join(pkg.split(".")[:-1]) + continue + break + if not mod_settings: + # The app does not have settings continue app_setting = getattr(mod_settings, setting, None) diff --git a/poetry.lock b/poetry.lock index 77b504ce3fb6efc7e5f0bb6b63757ac7c979b988..4dcf3929747994b299c95c5a33c0b95d1829e034 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,122 +1,119 @@ [[package]] -category = "dev" -description = "A configurable sidebar-enabled Sphinx theme" name = "alabaster" +version = "0.7.12" +description = "A configurable sidebar-enabled Sphinx theme" +category = "dev" optional = false python-versions = "*" -version = "0.7.12" [[package]] -category = "main" -description = "Low-level AMQP client for Python (fork of amqplib)." name = "amqp" +version = "2.6.1" +description = "Low-level AMQP client for Python (fork of amqplib)." +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.6.1" [package.dependencies] vine = ">=1.1.3,<5.0.0a1" [[package]] -category = "dev" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." name = "appdirs" +version = "1.4.4" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" optional = false python-versions = "*" -version = "1.4.4" [[package]] -category = "main" -description = "ASGI specs, helper code, and adapters" name = "asgiref" +version = "3.3.1" +description = "ASGI specs, helper code, and adapters" +category = "main" optional = false python-versions = ">=3.5" -version = "3.3.1" [package.extras] tests = ["pytest", "pytest-asyncio"] [[package]] -category = "dev" -description = "Atomic file writes." -marker = "sys_platform == \"win32\"" name = "atomicwrites" +version = "1.4.0" +description = "Atomic file writes." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.4.0" [[package]] -category = "dev" -description = "Classes Without Boilerplate" name = "attrs" +version = "20.3.0" +description = "Classes Without Boilerplate" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "20.3.0" [package.extras] -dev = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] docs = ["furo", "sphinx", "zope.interface"] -tests = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] -tests_no_zope = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] [[package]] -category = "main" -description = "Internationalization utilities" name = "babel" +version = "2.9.0" +description = "Internationalization utilities" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.9.0" [package.dependencies] pytz = ">=2015.7" [[package]] -category = "dev" -description = "Security oriented static analyser for python code." name = "bandit" +version = "1.6.2" +description = "Security oriented static analyser for python code." +category = "dev" optional = false python-versions = "*" -version = "1.6.2" [package.dependencies] +colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} GitPython = ">=1.0.1" PyYAML = ">=3.13" -colorama = ">=0.3.9" six = ">=1.10.0" stevedore = ">=1.20.0" [[package]] -category = "main" -description = "Screen-scraping library" name = "beautifulsoup4" +version = "4.9.3" +description = "Screen-scraping library" +category = "main" optional = false python-versions = "*" -version = "4.9.3" [package.dependencies] -[package.dependencies.soupsieve] -python = ">=3.0" -version = ">1.2" +soupsieve = {version = ">1.2", markers = "python_version >= \"3.0\""} [package.extras] html5lib = ["html5lib"] lxml = ["lxml"] [[package]] -category = "main" -description = "Python multiprocessing fork with improvements and bugfixes" name = "billiard" +version = "3.6.3.0" +description = "Python multiprocessing fork with improvements and bugfixes" +category = "main" optional = true python-versions = "*" -version = "3.6.3.0" [[package]] -category = "dev" -description = "The uncompromising code formatter." name = "black" +version = "19.10b0" +description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.6" -version = "19.10b0" [package.dependencies] appdirs = "*" @@ -131,12 +128,12 @@ typed-ast = ">=1.4.0" d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] [[package]] -category = "main" -description = "An easy safelist-based HTML-sanitizing tool." name = "bleach" +version = "3.2.1" +description = "An easy safelist-based HTML-sanitizing tool." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "3.2.1" [package.dependencies] packaging = "*" @@ -144,54 +141,48 @@ six = ">=1.9.0" webencodings = "*" [[package]] -category = "main" -description = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL." name = "boolean.py" +version = "3.8" +description = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL." +category = "main" optional = false python-versions = "*" -version = "3.8" [[package]] -category = "main" -description = "Utilities for working with calendar weeks in Python and Django" name = "calendarweek" +version = "0.4.7" +description = "Utilities for working with calendar weeks in Python and Django" +category = "main" optional = false python-versions = ">=3.7,<4.0" -version = "0.4.7" [package.extras] django = ["Django (>=2.2,<4.0)"] [[package]] -category = "main" -description = "Distributed Task Queue." name = "celery" +version = "4.4.7" +description = "Distributed Task Queue." +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "4.4.7" [package.dependencies] billiard = ">=3.6.3.0,<4.0" +Django = {version = ">=1.11", optional = true, markers = "extra == \"django\""} kombu = ">=4.6.10,<4.7" pytz = ">0.0-dev" +redis = {version = ">=3.2.0", optional = true, markers = "extra == \"redis\""} vine = "1.3.0" -[package.dependencies.Django] -optional = true -version = ">=1.11" - -[package.dependencies.redis] -optional = true -version = ">=3.2.0" - [package.extras] arangodb = ["pyArango (>=1.3.2)"] auth = ["cryptography"] -azureblockblob = ["azure-storage (0.36.0)", "azure-common (1.1.5)", "azure-storage-common (1.1.0)"] +azureblockblob = ["azure-storage (==0.36.0)", "azure-common (==1.1.5)", "azure-storage-common (==1.1.0)"] brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] cassandra = ["cassandra-driver (<3.21.0)"] consul = ["python-consul"] -cosmosdbsql = ["pydocumentdb (2.3.2)"] +cosmosdbsql = ["pydocumentdb (==2.3.2)"] couchbase = ["couchbase-cffi (<3.0.0)", "couchbase (<3.0.0)"] couchdb = ["pycouchdb"] django = ["Django (>=1.11)"] @@ -202,7 +193,7 @@ gevent = ["gevent"] librabbitmq = ["librabbitmq (>=1.5.0)"] lzma = ["backports.lzma"] memcache = ["pylibmc"] -mongodb = ["pymongo (>=3.3.0)"] +mongodb = ["pymongo[srv] (>=3.3.0)"] msgpack = ["msgpack"] pymemcache = ["python-memcached"] pyro = ["pyro4"] @@ -212,30 +203,30 @@ s3 = ["boto3 (>=1.9.125)"] slmq = ["softlayer-messaging (>=1.0.3)"] solar = ["ephem"] sqlalchemy = ["sqlalchemy"] -sqs = ["boto3 (>=1.9.125)", "pycurl (7.43.0.5)"] +sqs = ["boto3 (>=1.9.125)", "pycurl (==7.43.0.5)"] tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"] yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=1.3.1)"] zstd = ["zstandard"] [[package]] -category = "main" -description = "An app for integrating Celery with Haystack." name = "celery-haystack" +version = "0.10" +description = "An app for integrating Celery with Haystack." +category = "main" optional = true python-versions = "*" -version = "0.10" [package.dependencies] django-appconf = ">=0.4.1" [[package]] -category = "main" -description = "Drop in, configurable, dependency-free progress bars for your Django/Celery applications." name = "celery-progress" +version = "0.0.14" +description = "Drop in, configurable, dependency-free progress bars for your Django/Celery applications." +category = "main" optional = false python-versions = "*" -version = "0.0.14" [package.extras] rabbitmq = ["channels-rabbitmq"] @@ -243,86 +234,85 @@ redis = ["channels-redis"] websockets = ["channels"] [[package]] -category = "main" -description = "Python package for providing Mozilla's CA Bundle." name = "certifi" +version = "2020.11.8" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = "*" -version = "2020.11.8" [[package]] -category = "main" -description = "Universal encoding detector for Python 2 and 3" name = "chardet" +version = "3.0.4" +description = "Universal encoding detector for Python 2 and 3" +category = "main" optional = false python-versions = "*" -version = "3.0.4" [[package]] -category = "dev" -description = "Composable command line interface toolkit" name = "click" +version = "7.1.2" +description = "Composable command line interface toolkit" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "7.1.2" [[package]] -category = "main" -description = "Cross-platform colored terminal text." -marker = "platform_system == \"Windows\" or sys_platform == \"win32\"" name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.4.4" [[package]] -category = "main" -description = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)" name = "colour" +version = "0.1.5" +description = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)" +category = "main" optional = false python-versions = "*" -version = "0.1.5" [package.extras] test = ["nose"] [[package]] -category = "main" -description = "Config file reading, writing and validation." name = "configobj" +version = "5.0.6" +description = "Config file reading, writing and validation." +category = "main" optional = false python-versions = "*" -version = "5.0.6" [package.dependencies] six = "*" [[package]] -category = "dev" -description = "Code coverage measurement for Python" name = "coverage" +version = "5.3" +description = "Code coverage measurement for Python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" -version = "5.3" [package.extras] toml = ["toml"] [[package]] -category = "dev" -description = "Use Database URLs in your Django Application." name = "dj-database-url" +version = "0.5.0" +description = "Use Database URLs in your Django Application." +category = "dev" optional = false python-versions = "*" -version = "0.5.0" [[package]] -category = "main" -description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." name = "django" +version = "3.1.3" +description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." +category = "main" optional = false python-versions = ">=3.6" -version = "3.1.3" [package.dependencies] asgiref = ">=3.2.10,<4" @@ -334,94 +324,94 @@ argon2 = ["argon2-cffi (>=16.1.0)"] bcrypt = ["bcrypt"] [[package]] -category = "main" -description = "Include JavaScript libraries with readable template tags" name = "django-any-js" +version = "1.0.3.post0" +description = "Include JavaScript libraries with readable template tags" +category = "main" optional = false python-versions = "*" -version = "1.0.3.post0" [package.dependencies] Django = ">=1.11" [[package]] -category = "main" -description = "A helper class for handling configuration defaults of packaged apps gracefully." name = "django-appconf" +version = "1.0.4" +description = "A helper class for handling configuration defaults of packaged apps gracefully." +category = "main" optional = false python-versions = "*" -version = "1.0.4" [package.dependencies] django = "*" [[package]] -category = "main" -description = "Django LDAP authentication backend." name = "django-auth-ldap" +version = "2.2.0" +description = "Django LDAP authentication backend." +category = "main" optional = true python-versions = ">=3.5" -version = "2.2.0" [package.dependencies] Django = ">=1.11" python-ldap = ">=3.1" [[package]] -category = "main" -description = "Easily use bleach with Django models and templates" name = "django-bleach" +version = "0.6.1" +description = "Easily use bleach with Django models and templates" +category = "main" optional = false python-versions = "*" -version = "0.6.1" [package.dependencies] -Django = ">=1.11" bleach = ">=1.5.0" +Django = ">=1.11" [[package]] -category = "main" -description = "Bulk update using one query over Django ORM." name = "django-bulk-update" +version = "2.2.0" +description = "Bulk update using one query over Django ORM." +category = "main" optional = false python-versions = "*" -version = "2.2.0" [package.dependencies] Django = ">=1.8" [[package]] -category = "main" -description = "Django utility for a memoization decorator that uses the Django cache framework." name = "django-cache-memoize" +version = "0.1.7" +description = "Django utility for a memoization decorator that uses the Django cache framework." +category = "main" optional = false python-versions = ">=3.4" -version = "0.1.7" [package.extras] dev = ["flake8", "tox", "twine", "therapist", "black"] [[package]] -category = "main" -description = "Database-backed Periodic Tasks." name = "django-celery-beat" +version = "2.1.0" +description = "Database-backed Periodic Tasks." +category = "main" optional = true python-versions = "*" -version = "2.1.0" [package.dependencies] -Django = ">=2.2" celery = ">=4.4,<6.0" +Django = ">=2.2" django-timezone-field = ">=4.0,<5.0" python-crontab = ">=2.3.4" [[package]] -category = "main" -description = "An async Django email backend using celery" name = "django-celery-email" +version = "3.0.0" +description = "An async Django email backend using celery" +category = "main" optional = true python-versions = "*" -version = "3.0.0" [package.dependencies] celery = ">=4.0" @@ -429,42 +419,42 @@ django = ">=2.2" django-appconf = "*" [[package]] -category = "main" -description = "Celery result backends for Django." name = "django-celery-results" +version = "1.2.1" +description = "Celery result backends for Django." +category = "main" optional = true python-versions = "*" -version = "1.2.1" [package.dependencies] celery = ">=4.4,<5.0" [[package]] -category = "main" -description = "Django admin CKEditor integration." name = "django-ckeditor" +version = "6.0.0" +description = "Django admin CKEditor integration." +category = "main" optional = false python-versions = "*" -version = "6.0.0" [package.dependencies] django-js-asset = ">=1.2.2" [[package]] -category = "main" -description = "simple color field for your models with a nice color-picker in the admin-interface." name = "django-colorfield" +version = "0.3.2" +description = "simple color field for your models with a nice color-picker in the admin-interface." +category = "main" optional = false python-versions = "*" -version = "0.3.2" [[package]] -category = "main" -description = "Management commands to help backup and restore a project database and media" name = "django-dbbackup" +version = "3.3.0" +description = "Management commands to help backup and restore a project database and media" +category = "main" optional = false python-versions = "*" -version = "3.3.0" [package.dependencies] Django = ">=1.5" @@ -472,24 +462,24 @@ pytz = "*" six = "*" [[package]] -category = "main" -description = "A configurable set of panels that display various debug information about the current request/response." name = "django-debug-toolbar" +version = "2.2" +description = "A configurable set of panels that display various debug information about the current request/response." +category = "main" optional = false python-versions = ">=3.5" -version = "2.2" [package.dependencies] Django = ">=1.11" sqlparse = ">=0.2.0" [[package]] -category = "main" -description = "Dynamic global and instance settings for your django project" name = "django-dynamic-preferences" +version = "1.10.1" +description = "Dynamic global and instance settings for your django project" +category = "main" optional = false python-versions = "*" -version = "1.10.1" [package.dependencies] django = ">=1.11" @@ -497,202 +487,202 @@ persisting-theory = ">=0.2.1" six = "*" [[package]] -category = "main" -description = "Yet another Django audit log app, hopefully the simplest one." name = "django-easy-audit" +version = "1.3.1a1" +description = "Yet another Django audit log app, hopefully the simplest one." +category = "main" optional = false python-versions = ">=3.5" -version = "1.3.1a1" [package.dependencies] beautifulsoup4 = "*" django = ">=2.2,<3.2" [[package]] -category = "main" -description = "simple Django app which allows you to upload a image and it renders a wide variety for html link tags to display the favicon" name = "django-favicon-plus-reloaded" +version = "1.0.4" +description = "simple Django app which allows you to upload a image and it renders a wide variety for html link tags to display the favicon" +category = "main" optional = false python-versions = "*" -version = "1.0.4" [package.dependencies] django = "*" pillow = "*" [[package]] -category = "main" -description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." name = "django-filter" +version = "2.4.0" +description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." +category = "main" optional = false python-versions = ">=3.5" -version = "2.4.0" [package.dependencies] Django = ">=2.2" [[package]] -category = "main" -description = "A set of high-level abstractions for Django forms" name = "django-formtools" +version = "2.2" +description = "A set of high-level abstractions for Django forms" +category = "main" optional = false python-versions = "*" -version = "2.2" [package.dependencies] Django = ">=1.11" [[package]] -category = "main" -description = "Implementation of per object permissions for Django." name = "django-guardian" +version = "2.3.0" +description = "Implementation of per object permissions for Django." +category = "main" optional = false python-versions = ">=3.5" -version = "2.3.0" [package.dependencies] Django = ">=2.2" [[package]] -category = "main" -description = "Command to anonymize sensitive data." name = "django-hattori" +version = "0.2.1" +description = "Command to anonymize sensitive data." +category = "main" optional = false python-versions = "*" -version = "0.2.1" [package.dependencies] Django = ">=1.8" -Faker = ">=0.8.13" django-bulk-update = ">=2.2.0" +Faker = ">=0.8.13" six = "*" tqdm = ">=4.23.4" [[package]] -category = "main" -description = "Pluggable search for Django." name = "django-haystack" +version = "3.0b1" +description = "Pluggable search for Django." +category = "main" optional = false python-versions = "*" -version = "3.0b1" [package.dependencies] Django = ">=2.2" [[package]] -category = "main" -description = "Run checks on services like databases, queue servers, celery processes, etc." name = "django-health-check" +version = "3.16.1" +description = "Run checks on services like databases, queue servers, celery processes, etc." +category = "main" optional = false python-versions = "*" -version = "3.16.1" [package.dependencies] django = ">=1.11" [[package]] -category = "main" -description = "A reusable app for cropping images easily and non-destructively in Django" name = "django-image-cropping" +version = "1.5.0" +description = "A reusable app for cropping images easily and non-destructively in Django" +category = "main" optional = false python-versions = ">=3.5" -version = "1.5.0" [package.dependencies] django-appconf = ">=1.0.2" [[package]] -category = "main" -description = "Django app to allow superusers to impersonate other users." name = "django-impersonate" +version = "1.5.1" +description = "Django app to allow superusers to impersonate other users." +category = "main" optional = false python-versions = "*" -version = "1.5.1" [[package]] -category = "main" -description = "A Django utility application that returns client's real IP address" name = "django-ipware" +version = "3.0.2" +description = "A Django utility application that returns client's real IP address" +category = "main" optional = false python-versions = "*" -version = "3.0.2" [[package]] -category = "main" -description = "script tag with additional attributes for django.forms.Media" name = "django-js-asset" +version = "1.2.2" +description = "script tag with additional attributes for django.forms.Media" +category = "main" optional = false python-versions = "*" -version = "1.2.2" [[package]] -category = "main" -description = "Javascript url handling for Django that doesn't hurt." name = "django-js-reverse" +version = "0.9.1" +description = "Javascript url handling for Django that doesn't hurt." +category = "main" optional = false python-versions = "*" -version = "0.9.1" [package.dependencies] Django = ">=1.5" [[package]] -category = "main" -description = "Expose JSONField data as a virtual django model fields." name = "django-jsonstore" +version = "0.4.1" +description = "Expose JSONField data as a virtual django model fields." +category = "main" optional = false python-versions = "*" -version = "0.4.1" [package.dependencies] Django = ">=1.11" six = "*" [[package]] -category = "main" -description = "django-maintenance-mode shows a 503 error page when maintenance-mode is on." name = "django-maintenance-mode" +version = "0.15.0" +description = "django-maintenance-mode shows a 503 error page when maintenance-mode is on." +category = "main" optional = false python-versions = "*" -version = "0.15.0" [[package]] -category = "main" -description = "Material design for django forms and admin" name = "django-material" +version = "1.7.1" +description = "Material design for django forms and admin" +category = "main" optional = false python-versions = "*" -version = "1.7.1" [package.dependencies] six = "*" [[package]] -category = "main" -description = "A straightforward menu generator for Django" name = "django-menu-generator" +version = "1.0.4" +description = "A straightforward menu generator for Django" +category = "main" optional = false python-versions = "*" -version = "1.0.4" [[package]] -category = "main" -description = "Django middleware that keep request instance for every thread." name = "django-middleware-global-request" +version = "0.1.2" +description = "Django middleware that keep request instance for every thread." +category = "main" optional = false python-versions = "*" -version = "0.1.2" [package.dependencies] django = "*" [[package]] -category = "main" -description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." name = "django-otp" +version = "1.0.2" +description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." +category = "main" optional = false python-versions = "*" -version = "1.0.2" [package.dependencies] django = ">=2.2" @@ -701,107 +691,108 @@ django = ">=2.2" qrcode = ["qrcode"] [[package]] -category = "main" -description = "A django-otp plugin that verifies YubiKey OTP tokens." name = "django-otp-yubikey" +version = "1.0.0" +description = "A django-otp plugin that verifies YubiKey OTP tokens." +category = "main" optional = false python-versions = "*" -version = "1.0.0" [package.dependencies] -YubiOTP = ">=0.2.2" django-otp = ">=1.0.0" +YubiOTP = ">=0.2.2" [[package]] -category = "main" -description = "An international phone number field for django models." name = "django-phonenumber-field" +version = "3.0.1" +description = "An international phone number field for django models." +category = "main" optional = false python-versions = ">=3.5" -version = "3.0.1" [package.dependencies] -Django = ">=1.11.3" babel = "*" +Django = ">=1.11.3" +phonenumbers = {version = ">=7.0.2", optional = true, markers = "extra == \"phonenumbers\""} [package.extras] phonenumbers = ["phonenumbers (>=7.0.2)"] phonenumberslite = ["phonenumberslite (>=7.0.2)"] [[package]] -category = "main" -description = "Seamless polymorphic inheritance for Django models" name = "django-polymorphic" +version = "3.0.0" +description = "Seamless polymorphic inheritance for Django models" +category = "main" optional = false python-versions = "*" -version = "3.0.0" [package.dependencies] Django = ">=2.1" [[package]] -category = "main" -description = "Django middlewares to monitor your application with Prometheus.io." name = "django-prometheus" +version = "2.1.0" +description = "Django middlewares to monitor your application with Prometheus.io." +category = "main" optional = false python-versions = "*" -version = "2.1.0" [package.dependencies] prometheus-client = ">=0.7" [[package]] -category = "main" -description = "A Django app to include a manifest.json and Service Worker instance to enable progressive web app behavior" name = "django-pwa" +version = "1.0.10" +description = "A Django app to include a manifest.json and Service Worker instance to enable progressive web app behavior" +category = "main" optional = false python-versions = "*" -version = "1.0.10" [package.dependencies] django = ">=1.8" [[package]] -category = "main" -description = "Render a particular block from a template to a string." name = "django-render-block" +version = "0.8.1" +description = "Render a particular block from a template to a string." +category = "main" optional = false python-versions = ">=3.5" -version = "0.8.1" [package.dependencies] django = ">=2.2" [[package]] -category = "main" -description = "An extension to the Django web framework that provides version control for model instances." name = "django-reversion" +version = "3.0.8" +description = "An extension to the Django web framework that provides version control for model instances." +category = "main" optional = false python-versions = ">=3.6" -version = "3.0.8" [package.dependencies] django = ">=1.11" [[package]] -category = "main" -description = "SASS processor to compile SCSS files into *.css, while rendering, or offline." name = "django-sass-processor" +version = "0.8.2" +description = "SASS processor to compile SCSS files into *.css, while rendering, or offline." +category = "main" optional = false python-versions = "*" -version = "0.8.2" [package.extras] dev = ["libsass (>=0.13)"] management-command = ["django-compressor (>=2.4)"] [[package]] -category = "main" -description = "Select2 option fields for Django" name = "django-select2" +version = "7.4.2" +description = "Select2 option fields for Django" +category = "main" optional = false python-versions = "*" -version = "7.4.2" [package.dependencies] django = ">=2.2" @@ -811,20 +802,20 @@ django-appconf = ">=0.6.0" test = ["pytest", "pytest-cov", "pytest-django", "selenium"] [[package]] -category = "main" -description = "Makes specified django settings visible in template rendering context." name = "django-settings-context-processor" +version = "0.2" +description = "Makes specified django settings visible in template rendering context." +category = "main" optional = false python-versions = "*" -version = "0.2" [[package]] -category = "dev" -description = "Mypy stubs for Django" name = "django-stubs" +version = "1.7.0" +description = "Mypy stubs for Django" +category = "dev" optional = false python-versions = ">=3.6" -version = "1.7.0" [package.dependencies] django = "*" @@ -832,12 +823,12 @@ mypy = ">=0.790" typing-extensions = "*" [[package]] -category = "main" -description = "Table/data-grid framework for Django" name = "django-tables2" +version = "2.3.3" +description = "Table/data-grid framework for Django" +category = "main" optional = false python-versions = "*" -version = "2.3.3" [package.dependencies] Django = ">=1.11" @@ -846,55 +837,46 @@ Django = ">=1.11" tablib = ["tablib"] [[package]] -category = "main" -description = "A Django oriented templated / transaction email abstraction" name = "django-templated-email" +version = "2.3.0" +description = "A Django oriented templated / transaction email abstraction" +category = "main" optional = false python-versions = "*" -version = "2.3.0" [package.dependencies] django-render-block = ">=0.5" six = ">=1" [[package]] -category = "main" -description = "A Django app providing database and form fields for pytz timezone objects." name = "django-timezone-field" +version = "4.0" +description = "A Django app providing database and form fields for pytz timezone objects." +category = "main" optional = true python-versions = ">=3.5" -version = "4.0" [package.dependencies] django = ">=2.2" pytz = "*" [[package]] -category = "main" -description = "Complete Two-Factor Authentication for Django" name = "django-two-factor-auth" +version = "1.13" +description = "Complete Two-Factor Authentication for Django" +category = "main" optional = false python-versions = "*" -version = "1.13" [package.dependencies] Django = ">=2.2" django-formtools = "*" django-otp = ">=0.8.0" +django-otp-yubikey = {version = "*", optional = true, markers = "extra == \"yubikey\""} django-phonenumber-field = ">=1.1.0,<3.99" +phonenumbers = {version = ">=7.0.9,<8.99", optional = true, markers = "extra == \"phonenumbers\""} qrcode = ">=4.0.0,<6.99" - -[package.dependencies.django-otp-yubikey] -optional = true -version = "*" - -[package.dependencies.phonenumbers] -optional = true -version = ">=7.0.9,<8.99" - -[package.dependencies.twilio] -optional = true -version = ">=6.0" +twilio = {version = ">=6.0", optional = true, markers = "extra == \"call\""} [package.extras] call = ["twilio (>=6.0)"] @@ -904,40 +886,40 @@ sms = ["twilio (>=6.0)"] yubikey = ["django-otp-yubikey"] [[package]] -category = "main" -description = "Tweak the form field rendering in templates, not in python-level form definitions." name = "django-widget-tweaks" +version = "1.4.8" +description = "Tweak the form field rendering in templates, not in python-level form definitions." +category = "main" optional = false python-versions = "*" -version = "1.4.8" [[package]] -category = "main" -description = "Integrate django with yarnpkg" name = "django-yarnpkg" +version = "6.0.1" +description = "Integrate django with yarnpkg" +category = "main" optional = false python-versions = "*" -version = "6.0.1" [package.dependencies] django = "*" six = "*" [[package]] -category = "dev" -description = "Docutils -- Python Documentation Utilities" name = "docutils" +version = "0.16" +description = "Docutils -- Python Documentation Utilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.16" [[package]] -category = "dev" -description = "A parser for Python dependency files" name = "dparse" +version = "0.5.1" +description = "A parser for Python dependency files" +category = "dev" optional = false python-versions = ">=3.5" -version = "0.5.1" [package.dependencies] packaging = "*" @@ -948,25 +930,17 @@ toml = "*" pipenv = ["pipenv"] [[package]] -category = "main" -description = "The dynamic configurator for your Python Project" name = "dynaconf" +version = "3.1.2" +description = "The dynamic configurator for your Python Project" +category = "main" optional = false python-versions = "*" -version = "3.1.2" [package.dependencies] -[package.dependencies.configobj] -optional = true -version = "*" - -[package.dependencies."ruamel.yaml"] -optional = true -version = "*" - -[package.dependencies.toml] -optional = true -version = "*" +configobj = {version = "*", optional = true, markers = "extra == \"ini\""} +"ruamel.yaml" = {version = "*", optional = true, markers = "extra == \"yaml\""} +toml = {version = "*", optional = true, markers = "extra == \"toml\""} [package.extras] all = ["redis", "ruamel.yaml", "configobj", "hvac"] @@ -978,53 +952,50 @@ vault = ["hvac"] yaml = ["ruamel.yaml"] [[package]] -category = "main" -description = "Easy thumbnails for Django" name = "easy-thumbnails" +version = "2.7" +description = "Easy thumbnails for Django" +category = "main" optional = false python-versions = ">=3.5" -version = "2.7" [package.dependencies] django = ">=1.11,<4.0" pillow = "*" [[package]] -category = "main" -description = "Faker is a Python package that generates fake data for you." name = "faker" +version = "4.14.2" +description = "Faker is a Python package that generates fake data for you." +category = "main" optional = false python-versions = ">=3.5" -version = "4.14.2" [package.dependencies] python-dateutil = ">=2.4" text-unidecode = "1.3" [[package]] -category = "dev" -description = "the modular source code checker: pep8 pyflakes and co" name = "flake8" +version = "3.8.4" +description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -version = "3.8.4" [package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} mccabe = ">=0.6.0,<0.7.0" pycodestyle = ">=2.6.0a1,<2.7.0" pyflakes = ">=2.2.0,<2.3.0" -[package.dependencies.importlib-metadata] -python = "<3.8" -version = "*" - [[package]] -category = "dev" -description = "Automated security testing with bandit and flake8." name = "flake8-bandit" +version = "2.1.2" +description = "Automated security testing with bandit and flake8." +category = "dev" optional = false python-versions = "*" -version = "2.1.2" [package.dependencies] bandit = "*" @@ -1033,24 +1004,24 @@ flake8-polyfill = "*" pycodestyle = "*" [[package]] -category = "dev" -description = "flake8 plugin to call black as a code style validator" name = "flake8-black" +version = "0.2.1" +description = "flake8 plugin to call black as a code style validator" +category = "dev" optional = false python-versions = "*" -version = "0.2.1" [package.dependencies] black = "*" flake8 = ">=3.0.0" [[package]] -category = "dev" -description = "Check for python builtins being used as variables or parameters." name = "flake8-builtins" +version = "1.5.3" +description = "Check for python builtins being used as variables or parameters." +category = "dev" optional = false python-versions = "*" -version = "1.5.3" [package.dependencies] flake8 = "*" @@ -1059,43 +1030,43 @@ flake8 = "*" test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"] [[package]] -category = "dev" -description = "Plugin to catch bad style specific to Django Projects" name = "flake8-django" +version = "1.1.1" +description = "Plugin to catch bad style specific to Django Projects" +category = "dev" optional = false python-versions = "*" -version = "1.1.1" [package.dependencies] flake8 = "*" [[package]] -category = "dev" -description = "Extension for flake8 which uses pydocstyle to check docstrings" name = "flake8-docstrings" +version = "1.5.0" +description = "Extension for flake8 which uses pydocstyle to check docstrings" +category = "dev" optional = false python-versions = "*" -version = "1.5.0" [package.dependencies] flake8 = ">=3" pydocstyle = ">=2.1" [[package]] -category = "dev" -description = "Check for FIXME, TODO and other temporary developer notes. Plugin for flake8." name = "flake8-fixme" +version = "1.1.1" +description = "Check for FIXME, TODO and other temporary developer notes. Plugin for flake8." +category = "dev" optional = false python-versions = "*" -version = "1.1.1" [[package]] -category = "dev" -description = "flake8 plugin that integrates isort ." name = "flake8-isort" +version = "4.0.0" +description = "flake8 plugin that integrates isort ." +category = "dev" optional = false python-versions = "*" -version = "4.0.0" [package.dependencies] flake8 = ">=3.2.1,<4" @@ -1106,12 +1077,12 @@ testfixtures = ">=6.8.0,<7" test = ["pytest (>=4.0.2,<6)", "toml"] [[package]] -category = "dev" -description = "A plugin for flake8 integrating mypy." name = "flake8-mypy" +version = "17.8.0" +description = "A plugin for flake8 integrating mypy." +category = "dev" optional = false python-versions = "*" -version = "17.8.0" [package.dependencies] attrs = "*" @@ -1119,82 +1090,81 @@ flake8 = ">=3.0.0" mypy = "*" [[package]] -category = "dev" -description = "Polyfill package for Flake8 plugins" name = "flake8-polyfill" +version = "1.0.2" +description = "Polyfill package for Flake8 plugins" +category = "dev" optional = false python-versions = "*" -version = "1.0.2" [package.dependencies] flake8 = "*" [[package]] -category = "dev" -description = "Python docstring reStructuredText (RST) validator" name = "flake8-rst-docstrings" +version = "0.0.13" +description = "Python docstring reStructuredText (RST) validator" +category = "dev" optional = false python-versions = "*" -version = "0.0.13" [package.dependencies] flake8 = ">=3.0.0" restructuredtext_lint = "*" [[package]] -category = "dev" -description = "Git Object Database" name = "gitdb" +version = "4.0.5" +description = "Git Object Database" +category = "dev" optional = false python-versions = ">=3.4" -version = "4.0.5" [package.dependencies] smmap = ">=3.0.1,<4" [[package]] -category = "dev" -description = "Python Git Library" name = "gitpython" +version = "3.1.11" +description = "Python Git Library" +category = "dev" optional = false python-versions = ">=3.4" -version = "3.1.11" [package.dependencies] gitdb = ">=4.0.1,<5" [[package]] -category = "main" -description = "Turn HTML into equivalent Markdown-structured text." name = "html2text" +version = "2020.1.16" +description = "Turn HTML into equivalent Markdown-structured text." +category = "main" optional = false python-versions = ">=3.5" -version = "2020.1.16" [[package]] -category = "main" -description = "Internationalized Domain Names in Applications (IDNA)" name = "idna" +version = "2.10" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.10" [[package]] -category = "dev" -description = "Getting image size from png/jpeg/jpeg2000/gif file" name = "imagesize" +version = "1.2.0" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.2.0" [[package]] -category = "main" -description = "Read metadata from Python packages" -marker = "python_version < \"3.8\"" name = "importlib-metadata" +version = "2.0.0" +description = "Read metadata from Python packages" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "2.0.0" [package.dependencies] zipp = ">=0.5" @@ -1204,33 +1174,33 @@ docs = ["sphinx", "rst.linker"] testing = ["packaging", "pep517", "importlib-resources (>=1.3)"] [[package]] -category = "dev" -description = "iniconfig: brain-dead simple config-ini parsing" name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "dev" optional = false python-versions = "*" -version = "1.1.1" [[package]] -category = "dev" -description = "A Python utility / library to sort Python imports." name = "isort" +version = "5.6.4" +description = "A Python utility / library to sort Python imports." +category = "dev" optional = false python-versions = ">=3.6,<4.0" -version = "5.6.4" [package.extras] -colors = ["colorama (>=0.4.3,<0.5.0)"] pipfile_deprecated_finder = ["pipreqs", "requirementslib"] requirements_deprecated_finder = ["pipreqs", "pip-api"] +colors = ["colorama (>=0.4.3,<0.5.0)"] [[package]] -category = "dev" -description = "A very fast and expressive template engine." name = "jinja2" +version = "2.11.2" +description = "A very fast and expressive template engine." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.11.2" [package.dependencies] MarkupSafe = ">=0.23" @@ -1239,19 +1209,16 @@ MarkupSafe = ">=0.23" i18n = ["Babel (>=0.8)"] [[package]] -category = "main" -description = "Messaging library for Python." name = "kombu" +version = "4.6.11" +description = "Messaging library for Python." +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "4.6.11" [package.dependencies] amqp = ">=2.6.0,<2.7" - -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.18" +importlib-metadata = {version = ">=0.18", markers = "python_version < \"3.8\""} [package.extras] azureservicebus = ["azure-servicebus (>=0.21.1)"] @@ -1265,55 +1232,55 @@ qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] redis = ["redis (>=3.3.11)"] slmq = ["softlayer-messaging (>=1.0.3)"] sqlalchemy = ["sqlalchemy"] -sqs = ["boto3 (>=1.4.4)", "pycurl (7.43.0.2)"] +sqs = ["boto3 (>=1.4.4)", "pycurl (==7.43.0.2)"] yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=1.3.1)"] [[package]] -category = "main" -description = "Sass for Python: A straightforward binding of libsass for Python." name = "libsass" +version = "0.20.1" +description = "Sass for Python: A straightforward binding of libsass for Python." +category = "main" optional = false python-versions = "*" -version = "0.20.1" [package.dependencies] six = "*" [[package]] -category = "main" -description = "license-expression is small utility library to parse, compare, simplify and normalize license expressions (such as SPDX license expressions) using boolean logic." name = "license-expression" +version = "1.2" +description = "license-expression is small utility library to parse, compare, simplify and normalize license expressions (such as SPDX license expressions) using boolean logic." +category = "main" optional = false python-versions = "*" -version = "1.2" [package.dependencies] "boolean.py" = ">=3.6,<4.0.0" [[package]] -category = "dev" -description = "Safely add untrusted strings to HTML/XML markup." name = "markupsafe" +version = "1.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.1.1" [[package]] -category = "dev" -description = "McCabe checker, plugin for flake8" name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" +category = "dev" optional = false python-versions = "*" -version = "0.6.1" [[package]] -category = "dev" -description = "Optional static typing for Python" name = "mypy" +version = "0.790" +description = "Optional static typing for Python" +category = "dev" optional = false python-versions = ">=3.5" -version = "0.790" [package.dependencies] mypy-extensions = ">=0.4.3,<0.5.0" @@ -1324,199 +1291,197 @@ typing-extensions = ">=3.7.4" dmypy = ["psutil (>=4.0)"] [[package]] -category = "dev" -description = "Experimental type system extensions for programs checked with the mypy typechecker." name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" optional = false python-versions = "*" -version = "0.4.3" [[package]] -category = "main" -description = "Core utilities for Python packages" name = "packaging" +version = "20.4" +description = "Core utilities for Python packages" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "20.4" [package.dependencies] pyparsing = ">=2.0.2" six = "*" [[package]] -category = "dev" -description = "Utility library for gitignore style pattern matching of file paths." name = "pathspec" +version = "0.8.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.8.1" [[package]] -category = "dev" -description = "Python Build Reasonableness" name = "pbr" +version = "5.5.1" +description = "Python Build Reasonableness" +category = "dev" optional = false python-versions = ">=2.6" -version = "5.5.1" [[package]] -category = "main" -description = "Registries that can autodiscover values accross your project apps" name = "persisting-theory" +version = "0.2.1" +description = "Registries that can autodiscover values accross your project apps" +category = "main" optional = false python-versions = "*" -version = "0.2.1" [[package]] -category = "dev" -description = "PostgreSQL interface library" name = "pg8000" +version = "1.16.6" +description = "PostgreSQL interface library" +category = "dev" optional = false python-versions = ">=3.5" -version = "1.16.6" [package.dependencies] scramp = "1.2.0" [[package]] -category = "main" -description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." name = "phonenumbers" +version = "8.12.13" +description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." +category = "main" optional = false python-versions = "*" -version = "8.12.12" [[package]] -category = "main" -description = "Python Imaging Library (Fork)" name = "pillow" +version = "7.2.0" +description = "Python Imaging Library (Fork)" +category = "main" optional = false python-versions = ">=3.5" -version = "7.2.0" [[package]] -category = "dev" -description = "plugin and hook calling mechanisms for python" name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.13.1" [package.dependencies] -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} [package.extras] dev = ["pre-commit", "tox"] [[package]] -category = "main" -description = "Python client for the Prometheus monitoring system." name = "prometheus-client" +version = "0.8.0" +description = "Python client for the Prometheus monitoring system." +category = "main" optional = false python-versions = "*" -version = "0.8.0" [package.extras] twisted = ["twisted"] [[package]] -category = "main" -description = "Cross-platform lib for process and system monitoring in Python." name = "psutil" +version = "5.7.3" +description = "Cross-platform lib for process and system monitoring in Python." +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "5.7.3" [package.extras] test = ["ipaddress", "mock", "unittest2", "enum34", "pywin32", "wmi"] [[package]] -category = "main" -description = "psycopg2 - Python-PostgreSQL Database Adapter" name = "psycopg2" +version = "2.8.6" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "2.8.6" [[package]] -category = "dev" -description = "library with cross-python path, ini-parsing, io, code, log facilities" name = "py" +version = "1.9.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.9.0" [[package]] -category = "main" -description = "ASN.1 types and codecs" name = "pyasn1" +version = "0.4.8" +description = "ASN.1 types and codecs" +category = "main" optional = true python-versions = "*" -version = "0.4.8" [[package]] -category = "main" -description = "A collection of ASN.1-based protocols modules." name = "pyasn1-modules" +version = "0.2.8" +description = "A collection of ASN.1-based protocols modules." +category = "main" optional = true python-versions = "*" -version = "0.2.8" [package.dependencies] pyasn1 = ">=0.4.6,<0.5.0" [[package]] -category = "dev" -description = "Python style guide checker" name = "pycodestyle" +version = "2.6.0" +description = "Python style guide checker" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.6.0" [[package]] -category = "main" -description = "Cryptographic library for Python" name = "pycryptodome" +version = "3.9.9" +description = "Cryptographic library for Python" +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.9.9" [[package]] -category = "dev" -description = "Python docstring style checker" name = "pydocstyle" +version = "5.1.1" +description = "Python docstring style checker" +category = "dev" optional = false python-versions = ">=3.5" -version = "5.1.1" [package.dependencies] snowballstemmer = "*" [[package]] -category = "dev" -description = "passive checker of Python programs" name = "pyflakes" +version = "2.2.0" +description = "passive checker of Python programs" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.2.0" [[package]] -category = "dev" -description = "Pygments is a syntax highlighting package written in Python." name = "pygments" +version = "2.7.2" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" optional = false python-versions = ">=3.5" -version = "2.7.2" [[package]] -category = "main" -description = "JSON Web Token implementation in Python" name = "pyjwt" +version = "1.7.1" +description = "JSON Web Token implementation in Python" +category = "main" optional = false python-versions = "*" -version = "1.7.1" [package.extras] crypto = ["cryptography (>=1.4)"] @@ -1524,61 +1489,58 @@ flake8 = ["flake8", "flake8-import-order", "pep8-naming"] test = ["pytest (>=4.0.1,<5.0.0)", "pytest-cov (>=2.6.0,<3.0.0)", "pytest-runner (>=4.2,<5.0.0)"] [[package]] -category = "main" -description = "Python parsing module" name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -version = "2.4.7" [[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" name = "pytest" +version = "6.1.2" +description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=3.5" -version = "6.1.2" [package.dependencies] -atomicwrites = ">=1.0" +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} attrs = ">=17.4.0" -colorama = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<1.0" py = ">=1.8.2" toml = "*" -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" - [package.extras] -checkqa_mypy = ["mypy (0.780)"] +checkqa_mypy = ["mypy (==0.780)"] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] [[package]] -category = "dev" -description = "Pytest plugin for measuring coverage." name = "pytest-cov" +version = "2.10.1" +description = "Pytest plugin for measuring coverage." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.10.1" [package.dependencies] coverage = ">=4.4" pytest = ">=4.6" [package.extras] -testing = ["fields", "hunter", "process-tests (2.0.2)", "six", "pytest-xdist", "virtualenv"] +testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist", "virtualenv"] [[package]] -category = "dev" -description = "A Django plugin for pytest." name = "pytest-django" +version = "3.10.0" +description = "A Django plugin for pytest." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.10.0" [package.dependencies] pytest = ">=3.6" @@ -1588,24 +1550,24 @@ docs = ["sphinx", "sphinx-rtd-theme"] testing = ["django", "django-configurations (>=2.0)", "six"] [[package]] -category = "dev" -description = "Use a temporary PostgreSQL database with pytest-django" name = "pytest-django-testing-postgresql" +version = "0.1.post0" +description = "Use a temporary PostgreSQL database with pytest-django" +category = "dev" optional = false python-versions = "*" -version = "0.1.post0" [package.dependencies] dj-database-url = "*" "testing.postgresql" = "*" [[package]] -category = "dev" -description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)." name = "pytest-sugar" +version = "0.9.4" +description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)." +category = "dev" optional = false python-versions = "*" -version = "0.9.4" [package.dependencies] packaging = ">=14.1" @@ -1613,12 +1575,12 @@ pytest = ">=2.9" termcolor = ">=1.1.0" [[package]] -category = "main" -description = "Python Crontab API" name = "python-crontab" +version = "2.5.1" +description = "Python Crontab API" +category = "main" optional = true python-versions = "*" -version = "2.5.1" [package.dependencies] python-dateutil = "*" @@ -1628,65 +1590,65 @@ cron-description = ["cron-descriptor"] cron-schedule = ["croniter"] [[package]] -category = "main" -description = "Extensions to the standard Python datetime module" name = "python-dateutil" +version = "2.8.1" +description = "Extensions to the standard Python datetime module" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -version = "2.8.1" [package.dependencies] six = ">=1.5" [[package]] -category = "main" -description = "Python modules for implementing LDAP clients" name = "python-ldap" +version = "3.3.1" +description = "Python modules for implementing LDAP clients" +category = "main" optional = true python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "3.3.1" [package.dependencies] pyasn1 = ">=0.3.7" pyasn1_modules = ">=0.1.5" [[package]] -category = "main" -description = "Pure python memcached client" name = "python-memcached" +version = "1.59" +description = "Pure python memcached client" +category = "main" optional = false python-versions = "*" -version = "1.59" [package.dependencies] six = ">=1.4.0" [[package]] -category = "main" -description = "World timezone definitions, modern and historical" name = "pytz" +version = "2020.4" +description = "World timezone definitions, modern and historical" +category = "main" optional = false python-versions = "*" -version = "2020.4" [[package]] -category = "dev" -description = "YAML parser and emitter for Python" name = "pyyaml" +version = "5.3.1" +description = "YAML parser and emitter for Python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "5.3.1" [[package]] -category = "main" -description = "QR Code image generator" name = "qrcode" +version = "6.1" +description = "QR Code image generator" +category = "main" optional = false python-versions = "*" -version = "6.1" [package.dependencies] -colorama = "*" +colorama = {version = "*", markers = "platform_system == \"Windows\""} six = "*" [package.extras] @@ -1696,31 +1658,31 @@ pil = ["pillow"] test = ["pytest", "pytest-cov", "mock"] [[package]] -category = "main" -description = "Python client for Redis key-value store" name = "redis" +version = "3.5.3" +description = "Python client for Redis key-value store" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "3.5.3" [package.extras] hiredis = ["hiredis (>=0.1.3)"] [[package]] -category = "dev" -description = "Alternative regular expression module, to replace re." name = "regex" +version = "2020.11.13" +description = "Alternative regular expression module, to replace re." +category = "dev" optional = false python-versions = "*" -version = "2020.11.11" [[package]] -category = "main" -description = "Python HTTP for Humans." name = "requests" +version = "2.25.0" +description = "Python HTTP for Humans." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.25.0" [package.dependencies] certifi = ">=2017.4.17" @@ -1730,147 +1692,141 @@ urllib3 = ">=1.21.1,<1.27" [package.extras] security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] -socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] [[package]] -category = "dev" -description = "reStructuredText linter" name = "restructuredtext-lint" +version = "1.3.1" +description = "reStructuredText linter" +category = "dev" optional = false python-versions = "*" -version = "1.3.1" [package.dependencies] docutils = ">=0.11,<1.0" [[package]] -category = "main" -description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" name = "ruamel.yaml" +version = "0.16.12" +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 = "*" -version = "0.16.12" [package.dependencies] -[package.dependencies."ruamel.yaml.clib"] -python = "<3.9" -version = ">=0.1.2" +"ruamel.yaml.clib" = {version = ">=0.1.2", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.9\""} [package.extras] docs = ["ryd"] jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] [[package]] -category = "main" -description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -marker = "platform_python_implementation == \"CPython\" and python_version < \"3.9\"" name = "ruamel.yaml.clib" +version = "0.2.2" +description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" +category = "main" optional = false python-versions = "*" -version = "0.2.2" [[package]] -category = "main" -description = "Awesome Django authorization, without the database" name = "rules" +version = "2.2" +description = "Awesome Django authorization, without the database" +category = "main" optional = false python-versions = "*" -version = "2.2" [[package]] -category = "dev" -description = "Checks installed dependencies for known vulnerabilities." name = "safety" +version = "1.9.0" +description = "Checks installed dependencies for known vulnerabilities." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.9.0" [package.dependencies] Click = ">=6.0" dparse = ">=0.5.1" packaging = "*" requests = "*" -setuptools = "*" [[package]] -category = "dev" -description = "An implementation of the SCRAM protocol." name = "scramp" +version = "1.2.0" +description = "An implementation of the SCRAM protocol." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.2.0" [[package]] -category = "dev" -description = "Python bindings for Selenium" name = "selenium" +version = "3.141.0" +description = "Python bindings for Selenium" +category = "dev" optional = false python-versions = "*" -version = "3.141.0" [package.dependencies] urllib3 = "*" [[package]] -category = "main" -description = "Python 2 and 3 compatibility utilities" name = "six" +version = "1.15.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -version = "1.15.0" [[package]] -category = "dev" -description = "A pure Python implementation of a sliding window memory map manager" name = "smmap" +version = "3.0.4" +description = "A pure Python implementation of a sliding window memory map manager" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.0.4" [[package]] -category = "dev" -description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms." name = "snowballstemmer" +version = "2.0.0" +description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms." +category = "dev" optional = false python-versions = "*" -version = "2.0.0" [[package]] -category = "main" -description = "A modern CSS selector implementation for Beautiful Soup." -marker = "python_version >= \"3.0\"" name = "soupsieve" +version = "2.0.1" +description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" optional = false python-versions = ">=3.5" -version = "2.0.1" [[package]] -category = "main" -description = "A simple tool/library for working with SPDX license definitions." name = "spdx-license-list" +version = "0.5.1" +description = "A simple tool/library for working with SPDX license definitions." +category = "main" optional = false python-versions = "*" -version = "0.5.1" [[package]] -category = "dev" -description = "Python documentation generator" name = "sphinx" +version = "3.3.1" +description = "Python documentation generator" +category = "dev" optional = false python-versions = ">=3.5" -version = "3.3.0" [package.dependencies] -Jinja2 = ">=2.3" -Pygments = ">=2.0" alabaster = ">=0.7,<0.8" babel = ">=1.3" -colorama = ">=0.3.5" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} docutils = ">=0.12" imagesize = "*" +Jinja2 = ">=2.3" packaging = "*" +Pygments = ">=2.0" requests = ">=2.5.0" -setuptools = "*" snowballstemmer = ">=1.1" sphinxcontrib-applehelp = "*" sphinxcontrib-devhelp = "*" @@ -1885,12 +1841,12 @@ lint = ["flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.790)", "docutils-s test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"] [[package]] -category = "dev" -description = "Type hints (PEP 484) support for the Sphinx autodoc extension" name = "sphinx-autodoc-typehints" +version = "1.11.1" +description = "Type hints (PEP 484) support for the Sphinx autodoc extension" +category = "dev" optional = false python-versions = ">=3.5.2" -version = "1.11.1" [package.dependencies] Sphinx = ">=3.0" @@ -1900,122 +1856,119 @@ test = ["pytest (>=3.1.0)", "typing-extensions (>=3.5)", "sphobjinv (>=2.0)", "S type_comments = ["typed-ast (>=1.4.0)"] [[package]] -category = "dev" -description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" name = "sphinxcontrib-applehelp" +version = "1.0.2" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.2" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "dev" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.2" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "dev" -description = "Improve the Sphinx autodoc for Django classes." name = "sphinxcontrib-django" +version = "0.5.1" +description = "Improve the Sphinx autodoc for Django classes." +category = "dev" optional = false python-versions = "*" -version = "0.5.1" [[package]] -category = "dev" -description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" name = "sphinxcontrib-htmlhelp" +version = "1.0.3" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.3" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest", "html5lib"] [[package]] -category = "dev" -description = "A sphinx extension which renders display math in HTML via JavaScript" name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.1" [package.extras] test = ["pytest", "flake8", "mypy"] [[package]] -category = "dev" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.3" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "dev" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." name = "sphinxcontrib-serializinghtml" +version = "1.1.4" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.1.4" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "main" -description = "A non-validating SQL parser." name = "sqlparse" +version = "0.4.1" +description = "A non-validating SQL parser." +category = "main" optional = false python-versions = ">=3.5" -version = "0.4.1" [[package]] -category = "dev" -description = "Manage dynamic plugins for Python applications" name = "stevedore" +version = "3.2.2" +description = "Manage dynamic plugins for Python applications" +category = "dev" optional = false python-versions = ">=3.6" -version = "3.2.2" [package.dependencies] +importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""} pbr = ">=2.0.0,<2.1.0 || >2.1.0" -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=1.7.0" - [[package]] -category = "dev" -description = "ANSII Color formatting for output in terminal." name = "termcolor" +version = "1.1.0" +description = "ANSII Color formatting for output in terminal." +category = "dev" optional = false python-versions = "*" -version = "1.1.0" [[package]] -category = "dev" -description = "A collection of helpers and mock objects for unit tests and doc tests." name = "testfixtures" +version = "6.15.0" +description = "A collection of helpers and mock objects for unit tests and doc tests." +category = "dev" optional = false python-versions = "*" -version = "6.15.0" [package.extras] build = ["setuptools-git", "wheel", "twine"] @@ -2023,23 +1976,23 @@ docs = ["sphinx", "zope.component", "sybil", "twisted", "mock", "django (<2)", " test = ["pytest (>=3.6)", "pytest-cov", "pytest-django", "zope.component", "sybil", "twisted", "mock", "django (<2)", "django"] [[package]] -category = "dev" -description = "utilities for testing.* packages" name = "testing.common.database" +version = "2.0.3" +description = "utilities for testing.* packages" +category = "dev" optional = false python-versions = "*" -version = "2.0.3" [package.extras] testing = ["nose"] [[package]] -category = "dev" -description = "automatically setups a postgresql instance in a temporary directory, and destroys it after testing" name = "testing.postgresql" +version = "1.3.0" +description = "automatically setups a postgresql instance in a temporary directory, and destroys it after testing" +category = "dev" optional = false python-versions = "*" -version = "1.3.0" [package.dependencies] pg8000 = ">=1.10" @@ -2049,125 +2002,122 @@ pg8000 = ">=1.10" testing = ["sqlalchemy", "nose", "psycopg2"] [[package]] -category = "main" -description = "The most basic Text::Unidecode port" name = "text-unidecode" +version = "1.3" +description = "The most basic Text::Unidecode port" +category = "main" optional = false python-versions = "*" -version = "1.3" [[package]] -category = "main" -description = "Python Library for Tom's Obvious, Minimal Language" name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -version = "0.10.2" [[package]] -category = "main" -description = "Fast, Extensible Progress Meter" name = "tqdm" +version = "4.51.0" +description = "Fast, Extensible Progress Meter" +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*" -version = "4.51.0" [package.extras] dev = ["py-make (>=0.1.0)", "twine", "argopt", "pydoc-markdown"] [[package]] -category = "main" -description = "Twilio API client and TwiML generator" name = "twilio" +version = "6.47.0" +description = "Twilio API client and TwiML generator" +category = "main" optional = false python-versions = "*" -version = "6.47.0" [package.dependencies] PyJWT = ">=1.4.2" pytz = "*" +requests = {version = ">=2.0.0", markers = "python_version >= \"3.0\""} six = "*" -[package.dependencies.requests] -python = ">=3.0" -version = ">=2.0.0" - [[package]] -category = "dev" -description = "a fork of Python 2 and 3 ast modules with type comment support" name = "typed-ast" +version = "1.4.1" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" optional = false python-versions = "*" -version = "1.4.1" [[package]] -category = "dev" -description = "Backported and Experimental Type Hints for Python 3.5+" name = "typing-extensions" +version = "3.7.4.3" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "dev" optional = false python-versions = "*" -version = "3.7.4.3" [[package]] -category = "main" -description = "HTTP library with thread-safe connection pooling, file post, and more." name = "urllib3" +version = "1.26.2" +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.*, <4" -version = "1.26.1" [package.extras] brotli = ["brotlipy (>=0.6.0)"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] -socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] -category = "main" -description = "Promises, promises, promises." name = "vine" +version = "1.3.0" +description = "Promises, promises, promises." +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.3.0" [[package]] -category = "main" -description = "Character encoding aliases for legacy web content" name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +category = "main" optional = false python-versions = "*" -version = "0.5.1" [[package]] -category = "main" -description = "A library for verifying YubiKey OTP tokens, both locally and through a Yubico web service." name = "yubiotp" +version = "1.0.0.post1" +description = "A library for verifying YubiKey OTP tokens, both locally and through a Yubico web service." +category = "main" optional = false python-versions = "*" -version = "1.0.0.post1" [package.dependencies] pycryptodome = "*" [[package]] -category = "main" -description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\"" name = "zipp" +version = "3.4.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" optional = false python-versions = ">=3.6" -version = "3.4.0" [package.extras] docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] +testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] [extras] celery = ["Celery", "django-celery-results", "django-celery-beat", "django-celery-email", "celery-haystack"] ldap = ["django-auth-ldap"] [metadata] -content-hash = "2cd777c52167db8f3fd90c40737e36e9ce0c620b89851df381451d568ce3de6f" +lock-version = "1.1" python-versions = "^3.7" +content-hash = "b2a322704d11322be25d978d9ebcffeb7b7a6761ba587d0c74722010ec6e0d7a" [metadata.files] alabaster = [ @@ -2693,8 +2643,8 @@ pg8000 = [ {file = "pg8000-1.16.6.tar.gz", hash = "sha256:8fc1e6a62ccb7c9830f1e7e9288e2d20eaf373cc8875b5c55b7d5d9b7717be91"}, ] phonenumbers = [ - {file = "phonenumbers-8.12.12-py2.py3-none-any.whl", hash = "sha256:23944f9e628f32a975d3b221b6d76e6ba8ae618d53cb3d82fc23d9e100a59b29"}, - {file = "phonenumbers-8.12.12.tar.gz", hash = "sha256:70aa98a50ba7bc7f6bf17851f806c927107e7c44e7d21eb46bdbec07b99d23ae"}, + {file = "phonenumbers-8.12.13-py2.py3-none-any.whl", hash = "sha256:9de2937034deb040eb9ac56519b0887e0fe89811e57f6f5c88359e3be20ae3b5"}, + {file = "phonenumbers-8.12.13.tar.gz", hash = "sha256:96d02120a3481e22d8a8eb5e4595ceec1930855749f6e4a06ef931881f59f562"}, ] pillow = [ {file = "Pillow-7.2.0-cp35-cp35m-macosx_10_10_intel.whl", hash = "sha256:1ca594126d3c4def54babee699c055a913efb01e106c309fa6b04405d474d5ae"}, @@ -2721,8 +2671,6 @@ pillow = [ {file = "Pillow-7.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5e51ee2b8114def244384eda1c82b10e307ad9778dac5c83fb0943775a653cd8"}, {file = "Pillow-7.2.0-cp38-cp38-win32.whl", hash = "sha256:725aa6cfc66ce2857d585f06e9519a1cc0ef6d13f186ff3447ab6dff0a09bc7f"}, {file = "Pillow-7.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:a060cf8aa332052df2158e5a119303965be92c3da6f2d93b6878f0ebca80b2f6"}, - {file = "Pillow-7.2.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:9c87ef410a58dd54b92424ffd7e28fd2ec65d2f7fc02b76f5e9b2067e355ebf6"}, - {file = "Pillow-7.2.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:e901964262a56d9ea3c2693df68bc9860b8bdda2b04768821e4c44ae797de117"}, {file = "Pillow-7.2.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:25930fadde8019f374400f7986e8404c8b781ce519da27792cbe46eabec00c4d"}, {file = "Pillow-7.2.0.tar.gz", hash = "sha256:97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626"}, ] @@ -2760,8 +2708,6 @@ psycopg2 = [ {file = "psycopg2-2.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:56fee7f818d032f802b8eed81ef0c1232b8b42390df189cab9cfa87573fe52c5"}, {file = "psycopg2-2.8.6-cp38-cp38-win32.whl", hash = "sha256:ad2fe8a37be669082e61fb001c185ffb58867fdbb3e7a6b0b0d2ffe232353a3e"}, {file = "psycopg2-2.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:56007a226b8e95aa980ada7abdea6b40b75ce62a433bd27cec7a8178d57f4051"}, - {file = "psycopg2-2.8.6-cp39-cp39-win32.whl", hash = "sha256:2c93d4d16933fea5bbacbe1aaf8fa8c1348740b2e50b3735d1b0bf8154cbf0f3"}, - {file = "psycopg2-2.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:d5062ae50b222da28253059880a871dc87e099c25cb68acf613d9d227413d6f7"}, {file = "psycopg2-2.8.6.tar.gz", hash = "sha256:fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543"}, ] py = [ @@ -2918,47 +2864,47 @@ redis = [ {file = "redis-3.5.3.tar.gz", hash = "sha256:0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2"}, ] regex = [ - {file = "regex-2020.11.11-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:dd7bee615680d940dd44ac0a479f2bc5f73d6ca63a5915cd8d30739c14ca522c"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:3002ee2d4e8bbe4656237627203d8290a562d1fc1962deee470905ab63570345"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:064d2fc83ab4ee0055fcc1ef38ec60e505742850a40061f854ac64cb3d8d6dd3"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:83a390a653c13be1ab26287240df1fd9324ca8a0d31b603fa57cd7d9520648fa"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:412969d58ecd4f576510ec88bcb7602e9e582bbef78859ed8c9ca4de4f9e891c"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:ccfea4911ac28a8f744096bce1559e0bd86b09a53c8a9d5856ca8e1f5f4de1f5"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:cefcdb2ac3b67fd9f7244820ce1965c8cf352366199cc1358d67c6cc3c5c8bbc"}, - {file = "regex-2020.11.11-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9e8b3187f6beea8e56cb4b33c35049cbe376cf69aefaee5bc035309d88c98ca5"}, - {file = "regex-2020.11.11-cp36-cp36m-win32.whl", hash = "sha256:787e44e5f4fd027dd90b5ee0240b05dc1752cb43c2903617f25baa495fe551e9"}, - {file = "regex-2020.11.11-cp36-cp36m-win_amd64.whl", hash = "sha256:a9f76d9122359b09e38f27cd9c41729169171cf0fd73ec5b22cc4628f9e486ca"}, - {file = "regex-2020.11.11-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6d128368def4b0cd95c0fc9d99a89ae73c083b25e67f27a410830e30f9df0edc"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:df50ba964812606663ca9d23d374036bc5ae3d71e86168409cdd84ca7948d8a3"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d1e57c16c4840f1c3543507742e99b8398609474a0e6a6925476914479de3488"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6e50b3b417ab2fd67bfa6235f0df4782fe2ff8be83f0c4435e1dc43d25052ee8"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bb17a7fe9c47167337009ce18cd6e6b3edf3ca0063bf6bed6ce02515129c016a"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:826d0119f14f9a9ce25999a13ed5922c785b50e469800f6e5a6721318650ef49"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:8cc3717146ce4040419639cf45455663a002a554806ddac46304acc5bd41dae2"}, - {file = "regex-2020.11.11-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:86ad88c7c2512094a85b0a01ce053bab1e28eafb8f3868bb8c22f4903e33f147"}, - {file = "regex-2020.11.11-cp37-cp37m-win32.whl", hash = "sha256:e03867f3baf64ecab47dfc9ddb58afc67acb6a0f80f6cf8ff9fa82962ec4d1cd"}, - {file = "regex-2020.11.11-cp37-cp37m-win_amd64.whl", hash = "sha256:56d1e298bb6482d0466399a6383181bf2627c37ad414e205b3ce0f85aa140be7"}, - {file = "regex-2020.11.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:19ac2bf0048a2f4d460ee20647e84ca160512a7ee8af844dc9207720778470f1"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux1_i686.whl", hash = "sha256:84ab584dcb5e81815040d86148805a808acb0bee303d19638fe2f9488d704bc1"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4159ecf20dffea07f4a7241b2a236f90eb622c7e8caab9f43caba5f27ca37284"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:8060be04baec546fe3afa6975d2998e15d1b655d7255f0e6b0ed3f482cccc218"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:cdb98be55db1b94c950822cbc10d3d768f01e184365851ebb42cd377486ced7b"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:11d9100bd874ce8b2a037db9150e732cd768359fc25fe5f77973208aa24eb13e"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:0951c78fa4cb26d1278a4b3784fcf973fc97ec39c07483328a74b034b0cc569c"}, - {file = "regex-2020.11.11-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:c8b1ad791debd67221fb1266f8d09730ae927acacb32d0dad9fd07a7d341a28f"}, - {file = "regex-2020.11.11-cp38-cp38-win32.whl", hash = "sha256:beae9db1545f8116cfc9301a9601e9c975bb56ca22a38ac0fe06a72c3460f31a"}, - {file = "regex-2020.11.11-cp38-cp38-win_amd64.whl", hash = "sha256:48e94218f06317b6d32feb4ecff8b6025695450009bcb3291fb23daf79689431"}, - {file = "regex-2020.11.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c67fd5f3ad81f8301184354014e8e7510ab77e0c7e450a427d77f28ae8effbef"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux1_i686.whl", hash = "sha256:e7cdd5ee8053c82607432b7ebad37e2ece54548fef2b254f7bce6f7831904586"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:394b5be4fa72354a78763b317f82997ad881896dd4a860e429a6fa74afaacb07"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:3b46a4c73ec1f25361147a7a0fd86084f3627dc78d09bcbe14e70db12683efec"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:267d1b13f863e664150948ce2a9ed4927bf4ac7a068780f1ee8af83352aa17a2"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:68267a7a5fb0bd9676b86f967143b6a6ecefb3eed4042ecc9e7f0e014aef8f74"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:e899b69dd5d26655cb454835ea2fceb18832c9ee9c4fb45dc4cf8a6089d35312"}, - {file = "regex-2020.11.11-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:396411bb5a7849aeda9c49873b8295919fdc118c50b57122b09cb2097047c118"}, - {file = "regex-2020.11.11-cp39-cp39-win32.whl", hash = "sha256:32f8714c4bcc4b0d2aa259b1647e3c5b6cfe2e923c6c124234a5e03408224227"}, - {file = "regex-2020.11.11-cp39-cp39-win_amd64.whl", hash = "sha256:bf02ab95ff5261ba108725dbd795bf6395eaac1b8468b41472d82d35b12b0295"}, - {file = "regex-2020.11.11.tar.gz", hash = "sha256:0a235841237d4487329bcabcb5b902858f7967f5e684e08e968367f25b2c3d37"}, + {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6"}, + {file = "regex-2020.11.13-cp36-cp36m-win32.whl", hash = "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e"}, + {file = "regex-2020.11.13-cp36-cp36m-win_amd64.whl", hash = "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884"}, + {file = "regex-2020.11.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538"}, + {file = "regex-2020.11.13-cp37-cp37m-win32.whl", hash = "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4"}, + {file = "regex-2020.11.13-cp37-cp37m-win_amd64.whl", hash = "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444"}, + {file = "regex-2020.11.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b"}, + {file = "regex-2020.11.13-cp38-cp38-win32.whl", hash = "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c"}, + {file = "regex-2020.11.13-cp38-cp38-win_amd64.whl", hash = "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683"}, + {file = "regex-2020.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c"}, + {file = "regex-2020.11.13-cp39-cp39-win32.whl", hash = "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"}, + {file = "regex-2020.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d"}, + {file = "regex-2020.11.13.tar.gz", hash = "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"}, ] requests = [ {file = "requests-2.25.0-py2.py3-none-any.whl", hash = "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998"}, @@ -3033,8 +2979,8 @@ spdx-license-list = [ {file = "spdx_license_list-0.5.1.tar.gz", hash = "sha256:64cb5de37724c64cdeccafa2ae68667ff8ccdb7b688f51c1c2be82d7ebe3a112"}, ] sphinx = [ - {file = "Sphinx-3.3.0-py3-none-any.whl", hash = "sha256:3abdb2c57a65afaaa4f8573cbabd5465078eb6fd282c1e4f87f006875a7ec0c7"}, - {file = "Sphinx-3.3.0.tar.gz", hash = "sha256:1c21e7c5481a31b531e6cbf59c3292852ccde175b504b00ce2ff0b8f4adc3649"}, + {file = "Sphinx-3.3.1-py3-none-any.whl", hash = "sha256:d4e59ad4ea55efbb3c05cde3bfc83bfc14f0c95aa95c3d75346fcce186a47960"}, + {file = "Sphinx-3.3.1.tar.gz", hash = "sha256:1e8d592225447104d1172be415bc2972bd1357e3e12fdc76edf2261105db4300"}, ] sphinx-autodoc-typehints = [ {file = "sphinx-autodoc-typehints-1.11.1.tar.gz", hash = "sha256:244ba6d3e2fdb854622f643c7763d6f95b6886eba24bec28e86edf205e4ddb20"}, @@ -3114,28 +3060,19 @@ typed-ast = [ {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"}, {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"}, {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"}, {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, - {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"}, - {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"}, - {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"}, - {file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"}, - {file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"}, - {file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"}, {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, ] typing-extensions = [ @@ -3144,8 +3081,8 @@ typing-extensions = [ {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, ] urllib3 = [ - {file = "urllib3-1.26.1-py2.py3-none-any.whl", hash = "sha256:61ad24434555a42c0439770462df38b47d05d9e8e353d93ec3742900975e3e65"}, - {file = "urllib3-1.26.1.tar.gz", hash = "sha256:097116a6f16f13482d2a2e56792088b9b2920f4eb6b4f84a2c90555fb673db74"}, + {file = "urllib3-1.26.2-py2.py3-none-any.whl", hash = "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473"}, + {file = "urllib3-1.26.2.tar.gz", hash = "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08"}, ] vine = [ {file = "vine-1.3.0-py2.py3-none-any.whl", hash = "sha256:ea4947cc56d1fd6f2095c8d543ee25dad966f78692528e68b4fada11ba3f98af"}, diff --git a/pyproject.toml b/pyproject.toml index 4253746f75995a692d2af3e54537817e7c4b38fb..b67c82a7fc82e8f242fa13c62f384815812aa00b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -88,6 +88,7 @@ django-health-check = "^3.12.1" psutil = "^5.7.0" celery-progress = "^0.0.14" django-prometheus = "^2.1.0" +importlib-metadata = {version = "^2.0.0", python = "<3.8"} [tool.poetry.extras] ldap = ["django-auth-ldap"]