From a0d9c55cbb647ad69b2ac8fcbfd6a25361ef33a4 Mon Sep 17 00:00:00 2001 From: Glenn Matthews Date: Thu, 24 Jun 2021 16:50:26 -0400 Subject: [PATCH] Get local dev environment running --- .travis.yml | 2 +- development/Dockerfile | 1 + development/nautobot_config.py | 15 +- nautobot_ssot_servicenow/jobs.py | 14 +- packages/nautobot_ssot-0.1.0-py3-none-any.whl | Bin 0 -> 35185 bytes poetry.lock | 1182 ++++++++++++++++- pyproject.toml | 4 + 7 files changed, 1189 insertions(+), 29 deletions(-) create mode 100644 packages/nautobot_ssot-0.1.0-py3-none-any.whl diff --git a/.travis.yml b/.travis.yml index 31f79f0..0c6af61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env: # Each version of Nautobot listed here must have a corresponding directory/configuration file # under development/nautobot_/configuration.py matrix: - - "INVOKE_NAUTOBOT_SSOT_SERVICENOW_NAUTOBOT_VER=1.0.0" + - "INVOKE_NAUTOBOT_SSOT_SERVICENOW_NAUTOBOT_VER=1.0.3" # Add your encrypted secret below, you can encrypt secret using "travis encrypt" # https://docs.travis-ci.com/user/environment-variables/#defining-encrypted-variables-in-travisyml # global: diff --git a/development/Dockerfile b/development/Dockerfile index c9d5637..5fec6f6 100644 --- a/development/Dockerfile +++ b/development/Dockerfile @@ -8,6 +8,7 @@ WORKDIR /source # Copy in only pyproject.toml/poetry.lock to help with caching this layer if no updates to dependencies COPY poetry.lock pyproject.toml /source/ +COPY packages/*.whl /source/packages/ # --no-root declares not to install the project package since we're wanting to take advantage of caching dependency installation # and the project is copied in and installed after this step RUN poetry install --no-interaction --no-ansi --no-root diff --git a/development/nautobot_config.py b/development/nautobot_config.py index 4be83c4..1ea56d9 100644 --- a/development/nautobot_config.py +++ b/development/nautobot_config.py @@ -244,16 +244,17 @@ def is_truthy(arg): PAGINATE_COUNT = int(os.environ.get("PAGINATE_COUNT", 50)) # Enable installed plugins. Add the name of each plugin to the list. -PLUGINS = ["nautobot_ssot_servicenow"] +PLUGINS = ["nautobot_ssot", "nautobot_ssot_servicenow"] # Plugins configuration settings. These settings are used by various plugins that the user may have installed. # Each key in the dictionary is the name of an installed plugin and its value is a dictionary of settings. -# PLUGINS_CONFIG = { -# 'my_plugin': { -# 'foo': 'bar', -# 'buzz': 'bazz' -# } -# } +PLUGINS_CONFIG = { + "nautobot_ssot_servicenow": { + "instance": "dev12345", + "username": os.getenv("SERVICENOW_USERNAME", ""), + "password": os.getenv("SERVICENOW_PASSWORD", ""), + } +} # When determining the primary IP address for a device, IPv6 is preferred over IPv4 by default. Set this to True to # prefer IPv4 instead. diff --git a/nautobot_ssot_servicenow/jobs.py b/nautobot_ssot_servicenow/jobs.py index 59bf2d4..0d5002f 100644 --- a/nautobot_ssot_servicenow/jobs.py +++ b/nautobot_ssot_servicenow/jobs.py @@ -58,19 +58,19 @@ def config_information(cls): def sync_data(self): """Sync a slew of Nautobot data into ServiceNow.""" configs = settings.PLUGINS_CONFIG.get("nautobot_ssot_servicenow", {}) - self.snc = ServiceNowClient( + snc = ServiceNowClient( instance=configs.get("instance"), username=configs.get("username"), password=configs.get("password"), worker=self, ) self.log_info(message="Loading current data from ServiceNow...") - self.servicenow_diffsync = ServiceNowDiffSync(client=self.snc, job=self, sync=self.sync) - self.servicenow_diffsync.load() + servicenow_diffsync = ServiceNowDiffSync(client=snc, job=self, sync=self.sync) + servicenow_diffsync.load() self.log_info(message="Loading current data from Nautobot...") - self.nautobot_diffsync = NautobotDiffSync(job=self, sync=self.sync) - self.nautobot_diffsync.load() + nautobot_diffsync = NautobotDiffSync(job=self, sync=self.sync) + nautobot_diffsync.load() diffsync_flags = DiffSyncFlags.CONTINUE_ON_FAILURE if self.kwargs["log_unchanged"]: @@ -79,13 +79,13 @@ def sync_data(self): diffsync_flags |= DiffSyncFlags.SKIP_UNMATCHED_DST self.log_info(message="Calculating diffs...") - diff = self.servicenow_diffsync.diff_from(self.nautobot_diffsync, flags=diffsync_flags) + diff = servicenow_diffsync.diff_from(nautobot_diffsync, flags=diffsync_flags) self.sync.diff = diff.dict() self.sync.save() if not self.kwargs["dry_run"]: self.log_info(message="Syncing from Nautobot to ServiceNow...") - self.servicenow_diffsync.sync_from(self.nautobot_diffsync, flags=diffsync_flags) + servicenow_diffsync.sync_from(nautobot_diffsync, flags=diffsync_flags) self.log_info(message="Sync complete") def lookup_object(self, model_name, unique_id): diff --git a/packages/nautobot_ssot-0.1.0-py3-none-any.whl b/packages/nautobot_ssot-0.1.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..708f1d4119905271c43dc49defa941c53d24abba GIT binary patch literal 35185 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.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} wrapt = ">=1.11,<1.13" +[[package]] +name = "attrs" +version = "21.2.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] + [[package]] name = "bandit" version = "1.7.0" @@ -79,6 +101,17 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "cffi" +version = "1.14.5" +description = "Foreign Function Interface for Python calling C code." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +pycparser = "*" + [[package]] name = "chardet" version = "4.0.0" @@ -91,7 +124,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" name = "click" version = "8.0.1" description = "Composable command line interface toolkit" -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -107,6 +140,31 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "coreapi" +version = "2.3.3" +description = "Python client library for Core API." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +coreschema = "*" +itypes = "*" +requests = "*" +uritemplate = "*" + +[[package]] +name = "coreschema" +version = "0.0.4" +description = "Core Schema." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +jinja2 = "*" + [[package]] name = "coverage" version = "5.5" @@ -118,6 +176,25 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" [package.extras] toml = ["toml"] +[[package]] +name = "cryptography" +version = "3.4.7" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +cffi = ">=1.12" + +[package.extras] +docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"] +docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"] +pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"] +sdist = ["setuptools-rust (>=0.11.4)"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"] + [[package]] name = "dataclasses" version = "0.7" @@ -126,6 +203,14 @@ category = "main" optional = false python-versions = ">=3.6, <3.7" +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + [[package]] name = "diffsync" version = "1.3.0" @@ -142,9 +227,9 @@ structlog = ">=20.1.0,<21.0.0" [[package]] name = "django" -version = "3.1.11" +version = "3.1.12" description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -157,6 +242,54 @@ sqlparse = ">=0.2.2" argon2 = ["argon2-cffi (>=16.1.0)"] bcrypt = ["bcrypt"] +[[package]] +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 = "*" + +[package.dependencies] +django = "*" + +[[package]] +name = "django-cacheops" +version = "5.1" +description = "A slick ORM cache with automatic granular event-driven invalidation for Django." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +django = ">=2.1" +funcy = ">=1.8,<2.0" +redis = ">=3.0.0" +six = ">=1.4.0" + +[[package]] +name = "django-cors-headers" +version = "3.7.0" +description = "django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS)." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +Django = ">=2.2" + +[[package]] +name = "django-cryptography" +version = "1.0" +description = "Easily encrypt data in Django" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +cryptography = "*" +django-appconf = "*" + [[package]] name = "django-debug-toolbar" version = "3.2.1" @@ -169,6 +302,168 @@ python-versions = ">=3.6" Django = ">=2.2" sqlparse = ">=0.2.0" +[[package]] +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" + +[package.dependencies] +Django = ">=2.2" + +[[package]] +name = "django-js-asset" +version = "1.2.2" +description = "script tag with additional attributes for django.forms.Media" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "django-mptt" +version = "0.11.0" +description = "Utilities for implementing Modified Preorder Tree Traversal with your Django Models and working with trees of Model instances." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +Django = ">=1.11" +django-js-asset = "*" + +[[package]] +name = "django-prometheus" +version = "2.1.0" +description = "Django middlewares to monitor your application with Prometheus.io." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +prometheus-client = ">=0.7" + +[[package]] +name = "django-redis" +version = "4.12.1" +description = "Full featured redis cache backend for Django." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +Django = ">=2.2" +redis = ">=3.0.0" + +[[package]] +name = "django-rq" +version = "2.4.1" +description = "An app that provides django integration for RQ (Redis Queue)" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +django = ">=2.0" +redis = ">=3" +rq = ">=1.2" + +[package.extras] +Sentry = ["raven (>=6.1.0)"] +testing = ["mock (>=2.0.0)"] + +[[package]] +name = "django-tables2" +version = "2.3.4" +description = "Table/data-grid framework for Django" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +Django = ">=1.11" + +[package.extras] +tablib = ["tablib"] + +[[package]] +name = "django-taggit" +version = "1.3.0" +description = "django-taggit is a reusable Django application for simple tagging." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +Django = ">=1.11" + +[[package]] +name = "django-timezone-field" +version = "4.1.2" +description = "A Django app providing database and form fields for pytz timezone objects." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +django = ">=2.2" +pytz = "*" + +[package.extras] +rest_framework = ["djangorestframework (>=3.0.0)"] + +[[package]] +name = "django-webserver" +version = "1.2.0" +description = "Django management commands for production webservers" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +Django = "*" + +[package.extras] +gunicorn = ["gunicorn"] +pyuwsgi = ["pyuwsgi"] +test = ["pytest", "mock"] +uvicorn = ["uvicorn (>0.6)"] +waitress = ["waitress"] + +[[package]] +name = "djangorestframework" +version = "3.12.4" +description = "Web APIs for Django, made easy." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +django = ">=2.2" + +[[package]] +name = "drf-yasg" +version = "1.20.0" +description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +coreapi = ">=2.3.3" +coreschema = ">=0.0.4" +Django = ">=2.2.16" +djangorestframework = ">=3.10.3" +inflection = ">=0.3.1" +packaging = "*" +"ruamel.yaml" = ">=0.15.34" +swagger-spec-validator = {version = ">=2.1.0", optional = true, markers = "extra == \"validation\""} +uritemplate = ">=3.0.0" + +[package.extras] +validation = ["swagger-spec-validator (>=2.1.0)"] + [[package]] name = "flake8" version = "3.9.2" @@ -183,6 +478,14 @@ mccabe = ">=0.6.0,<0.7.0" pycodestyle = ">=2.7.0,<2.8.0" pyflakes = ">=2.3.0,<2.4.0" +[[package]] +name = "funcy" +version = "1.16" +description = "A fancy and practical functional tools" +category = "main" +optional = false +python-versions = "*" + [[package]] name = "future" version = "0.18.2" @@ -195,7 +498,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" name = "gitdb" version = "4.0.7" description = "Git Object Database" -category = "dev" +category = "main" optional = false python-versions = ">=3.4" @@ -206,7 +509,7 @@ smmap = ">=3.0.1,<5" name = "gitpython" version = "3.1.17" description = "Python Git Library" -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -214,6 +517,77 @@ python-versions = ">=3.5" gitdb = ">=4.0.1,<5" typing-extensions = {version = ">=3.7.4.0", markers = "python_version < \"3.8\""} +[[package]] +name = "graphene" +version = "2.1.8" +description = "GraphQL Framework for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +aniso8601 = ">=3,<=7" +graphql-core = ">=2.1,<3" +graphql-relay = ">=2,<3" +six = ">=1.10.0,<2" + +[package.extras] +django = ["graphene-django"] +sqlalchemy = ["graphene-sqlalchemy"] +test = ["pytest", "pytest-benchmark", "pytest-cov", "pytest-mock", "snapshottest", "coveralls", "promise", "six", "mock", "pytz", "iso8601"] + +[[package]] +name = "graphene-django" +version = "2.15.0" +description = "Graphene Django integration" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +Django = ">=1.11" +graphene = ">=2.1.7,<3" +graphql-core = ">=2.1.0,<3" +promise = ">=2.1" +singledispatch = ">=3.4.0.3" +six = ">=1.10.0" +text-unidecode = "*" + +[package.extras] +dev = ["black (==19.10b0)", "flake8 (==3.7.9)", "flake8-black (==0.1.1)", "flake8-bugbear (==20.1.4)", "pytest (>=3.6.3)", "pytest-cov", "coveralls", "mock", "pytz", "pytest-django (>=3.3.2)", "djangorestframework (>=3.6.3)", "django-filter (<2)", "django-filter (>=2)"] +rest_framework = ["djangorestframework (>=3.6.3)"] +test = ["pytest (>=3.6.3)", "pytest-cov", "coveralls", "mock", "pytz", "pytest-django (>=3.3.2)", "djangorestframework (>=3.6.3)", "django-filter (<2)", "django-filter (>=2)"] + +[[package]] +name = "graphql-core" +version = "2.3.2" +description = "GraphQL implementation for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +promise = ">=2.3,<3" +rx = ">=1.6,<2" +six = ">=1.10.0" + +[package.extras] +gevent = ["gevent (>=1.1)"] +test = ["six (==1.14.0)", "pyannotate (==1.2.0)", "pytest (==4.6.10)", "pytest-django (==3.9.0)", "pytest-cov (==2.8.1)", "coveralls (==1.11.1)", "cython (==0.29.17)", "gevent (==1.5.0)", "pytest-benchmark (==3.2.3)", "pytest-mock (==2.0.0)"] + +[[package]] +name = "graphql-relay" +version = "2.0.1" +description = "Relay implementation for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +graphql-core = ">=2.2,<3" +promise = ">=2.2,<3" +six = ">=1.12" + [[package]] name = "idna" version = "2.10" @@ -234,7 +608,7 @@ python-versions = "*" name = "importlib-metadata" version = "3.4.0" description = "Read metadata from Python packages" -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -246,6 +620,29 @@ zipp = ">=0.5" docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] +[[package]] +name = "importlib-resources" +version = "5.1.4" +description = "Read resources from Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy"] + +[[package]] +name = "inflection" +version = "0.5.1" +description = "A port of Ruby on Rails inflector to Python" +category = "main" +optional = false +python-versions = ">=3.5" + [[package]] name = "invoke" version = "1.5.0" @@ -267,6 +664,14 @@ pipfile_deprecated_finder = ["pipreqs", "requirementslib"] requirements_deprecated_finder = ["pipreqs", "pip-api"] colors = ["colorama (>=0.4.3,<0.5.0)"] +[[package]] +name = "itypes" +version = "1.2.0" +description = "Simple immutable types for python." +category = "main" +optional = false +python-versions = "*" + [[package]] name = "jinja2" version = "2.11.3" @@ -289,6 +694,24 @@ category = "dev" optional = false python-versions = ">=3.6" +[[package]] +name = "jsonschema" +version = "3.2.0" +description = "An implementation of JSON Schema validation for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +attrs = ">=17.4.0" +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +pyrsistent = ">=0.14.0" +six = ">=1.11.0" + +[package.extras] +format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"] +format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"] + [[package]] name = "lazy-object-proxy" version = "1.6.0" @@ -329,7 +752,7 @@ languages = ["nltk (>=3.2.5,<3.5)", "nltk (>=3.2.5)"] name = "markdown" version = "3.3.4" description = "Python implementation of Markdown." -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -391,6 +814,71 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "nautobot" +version = "1.0.3" +description = "Source of truth and network automation platform." +category = "main" +optional = false +python-versions = ">=3.6,<4.0" + +[package.dependencies] +Django = ">=3.1.12,<3.2.0" +django-cacheops = ">=5.1,<5.2" +django-cors-headers = ">=3.7.0,<3.8.0" +django-cryptography = ">=1.0,<1.1" +django-filter = ">=2.4.0,<2.5.0" +django-mptt = ">=0.11.0,<0.12.0" +django-prometheus = ">=2.1.0,<2.2.0" +django-redis = ">=4.12.1,<4.13.0" +django-rq = ">=2.4.1,<2.5.0" +django-tables2 = ">=2.3.4,<2.4.0" +django-taggit = ">=1.3.0,<1.4.0" +django-timezone-field = ">=4.1.2,<4.2.0" +django-webserver = ">=1.2.0,<1.3.0" +djangorestframework = ">=3.12.4,<3.13.0" +drf-yasg = {version = ">=1.20.0,<1.21.0", extras = ["validation"]} +GitPython = ">=3.1.15,<3.2.0" +graphene-django = ">=2.15.0,<2.16.0" +importlib-metadata = {version = ">=3.4.0,<3.5.0", markers = "python_version < \"3.8\""} +Jinja2 = ">=2.11.3,<2.12.0" +Markdown = ">=3.3.4,<3.4.0" +netaddr = ">=0.8.0,<0.9.0" +Pillow = ">=8.1.0,<8.2.0" +psycopg2-binary = ">=2.8.6,<2.9.0" +pycryptodome = ">=3.10.1,<3.11.0" +pyuwsgi = ">=2.0.19.1.post0,<2.1.0.0" +PyYAML = ">=5.4.1,<5.5.0" +social-auth-app-django = ">=4.0.0,<5.0.0" +svgwrite = ">=1.4.1,<1.5.0" + +[[package]] +name = "nautobot-ssot" +version = "0.1.0" +description = "Nautobot Single Source of Truth" +category = "main" +optional = false +python-versions = ">=3.6,<4.0" + +[package.dependencies] +diffsync = ">=1.3.0,<2.0.0" +nautobot = ">=1.0.3,<2.0.0" + +[package.source] +type = "file" +url = "packages/nautobot_ssot-0.1.0-py3-none-any.whl" + +[[package]] +name = "netaddr" +version = "0.8.0" +description = "A network address manipulation library for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +importlib-resources = {version = "*", markers = "python_version < \"3.7\""} + [[package]] name = "nltk" version = "3.6.2" @@ -426,6 +914,17 @@ rsa = ["cryptography"] signals = ["blinker"] signedtoken = ["cryptography", "pyjwt (>=1.0.0)"] +[[package]] +name = "packaging" +version = "20.9" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = ">=2.0.2" + [[package]] name = "pathspec" version = "0.8.1" @@ -442,6 +941,47 @@ category = "dev" optional = false python-versions = ">=2.6" +[[package]] +name = "pillow" +version = "8.1.2" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "prometheus-client" +version = "0.11.0" +description = "Python client for the Prometheus monitoring system." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "promise" +version = "2.3" +description = "Promises/A+ implementation for Python" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" + +[package.extras] +test = ["pytest (>=2.7.3)", "pytest-cov", "coveralls", "futures", "pytest-benchmark", "mock"] + +[[package]] +name = "psycopg2-binary" +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.*" + [[package]] name = "pycodestyle" version = "2.7.0" @@ -450,6 +990,22 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +[[package]] +name = "pycparser" +version = "2.20" +description = "C parser in Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "pycryptodome" +version = "3.10.1" +description = "Cryptographic library for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + [[package]] name = "pydantic" version = "1.7.4" @@ -488,6 +1044,20 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +[[package]] +name = "pyjwt" +version = "2.1.0" +description = "JSON Web Token implementation in Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +crypto = ["cryptography (>=3.3.1,<4.0.0)"] +dev = ["sphinx", "sphinx-rtd-theme", "zope.interface", "cryptography (>=3.3.1,<4.0.0)", "pytest (>=6.0.0,<7.0.0)", "coverage[toml] (==5.0.4)", "mypy", "pre-commit"] +docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] +tests = ["pytest (>=6.0.0,<7.0.0)", "coverage[toml] (==5.0.4)"] + [[package]] name = "pylint" version = "2.8.2" @@ -530,6 +1100,22 @@ python-versions = "*" [package.dependencies] pylint = ">=1.7" +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "pyrsistent" +version = "0.17.3" +description = "Persistent/Functional/Immutable data structures" +category = "main" +optional = false +python-versions = ">=3.5" + [[package]] name = "pysnow" version = "0.7.17" @@ -555,6 +1141,21 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "python3-openid" +version = "3.2.0" +description = "OpenID support for modern servers and consumers." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +defusedxml = "*" + +[package.extras] +mysql = ["mysql-connector-python"] +postgresql = ["psycopg2"] + [[package]] name = "pytz" version = "2019.3" @@ -563,6 +1164,14 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "pyuwsgi" +version = "2.0.19.1.post0" +description = "The uWSGI server" +category = "main" +optional = false +python-versions = "*" + [[package]] name = "pyyaml" version = "5.4.1" @@ -571,6 +1180,17 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +[[package]] +name = "redis" +version = "3.5.3" +description = "Python client for Redis key-value store" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +hiredis = ["hiredis (>=0.1.3)"] + [[package]] name = "regex" version = "2021.4.4" @@ -612,6 +1232,64 @@ requests = ">=2.0.0" [package.extras] rsa = ["oauthlib[signedtoken] (>=3.0.0)"] +[[package]] +name = "rq" +version = "1.8.1" +description = "RQ is a simple, lightweight, library for creating background jobs, and processing them." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +click = ">=5.0.0" +redis = ">=3.5.0" + +[[package]] +name = "ruamel.yaml" +version = "0.17.10" +description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" +category = "main" +optional = false +python-versions = ">=3" + +[package.dependencies] +"ruamel.yaml.clib" = {version = ">=0.1.2", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.10\""} + +[package.extras] +docs = ["ryd"] +jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] + +[[package]] +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 = "*" + +[[package]] +name = "rx" +version = "1.6.1" +description = "Reactive Extensions (Rx) for Python" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "singledispatch" +version = "3.6.2" +description = "Backport functools.singledispatch from Python 3.4 to Python 2.6-3.3." +category = "main" +optional = false +python-versions = ">=2.6" + +[package.dependencies] +six = "*" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "unittest2", "pytest-checkdocs (>=2.4)"] + [[package]] name = "six" version = "1.16.0" @@ -624,7 +1302,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" name = "smmap" version = "4.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -636,11 +1314,47 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "social-auth-app-django" +version = "4.0.0" +description = "Python Social Authentication, Django integration." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" +social-auth-core = ">=3.3.0" + +[[package]] +name = "social-auth-core" +version = "4.1.0" +description = "Python social authentication made simple." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +cryptography = ">=1.4" +defusedxml = ">=0.5.0rc1" +oauthlib = ">=1.0.3" +PyJWT = ">=2.0.0" +python3-openid = ">=3.0.10" +requests = ">=2.9.1" +requests-oauthlib = ">=0.6.1" + +[package.extras] +all = ["python-jose (>=3.0.0)", "python3-saml (>=1.2.1)", "cryptography (>=2.1.1)"] +allpy3 = ["python-jose (>=3.0.0)", "python3-saml (>=1.2.1)", "cryptography (>=2.1.1)"] +azuread = ["cryptography (>=2.1.1)"] +openidconnect = ["python-jose (>=3.0.0)"] +saml = ["python3-saml (>=1.2.1)"] + [[package]] name = "sqlparse" version = "0.4.1" description = "A non-validating SQL parser." -category = "dev" +category = "main" optional = false python-versions = ">=3.5" @@ -672,6 +1386,35 @@ dev = ["coverage", "freezegun (>=0.2.8)", "pretend", "pytest-asyncio", "pytest-r docs = ["furo", "sphinx", "sphinx-toolbox", "twisted"] tests = ["coverage", "freezegun (>=0.2.8)", "pretend", "pytest-asyncio", "pytest-randomly", "pytest (>=6.0)", "simplejson"] +[[package]] +name = "svgwrite" +version = "1.4.1" +description = "A Python library to create SVG drawings." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "swagger-spec-validator" +version = "2.7.3" +description = "Validation of Swagger specifications" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +jsonschema = "*" +pyyaml = "*" +six = "*" + +[[package]] +name = "text-unidecode" +version = "1.3" +description = "The most basic Text::Unidecode port" +category = "main" +optional = false +python-versions = "*" + [[package]] name = "toml" version = "0.10.2" @@ -717,6 +1460,14 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "uritemplate" +version = "3.0.1" +description = "URI templates" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + [[package]] name = "urllib3" version = "1.26.4" @@ -754,7 +1505,7 @@ pyyaml = "*" name = "zipp" version = "3.4.1" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "dev" +category = "main" optional = false python-versions = ">=3.6" @@ -765,9 +1516,13 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pyt [metadata] lock-version = "1.1" python-versions = "^3.6" -content-hash = "7531289ff265173287c7ff4b4a731b9e78531b21ba36d9d40a9b0615db6d9857" +content-hash = "bd64d71fd03395870ececf8c210fbbc5c3f8e4851d5648d877b110c2693fd7c4" [metadata.files] +aniso8601 = [ + {file = "aniso8601-7.0.0-py2.py3-none-any.whl", hash = "sha256:d10a4bf949f619f719b227ef5386e31f49a2b6d453004b21f02661ccc8670c7b"}, + {file = "aniso8601-7.0.0.tar.gz", hash = "sha256:513d2b6637b7853806ae79ffaca6f3e8754bdd547048f5ccc1420aec4b714f1e"}, +] appdirs = [ {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, @@ -780,6 +1535,10 @@ astroid = [ {file = "astroid-2.5.6-py3-none-any.whl", hash = "sha256:4db03ab5fc3340cf619dbc25e42c2cc3755154ce6009469766d7143d1fc2ee4e"}, {file = "astroid-2.5.6.tar.gz", hash = "sha256:8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975"}, ] +attrs = [ + {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, + {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, +] bandit = [ {file = "bandit-1.7.0-py3-none-any.whl", hash = "sha256:216be4d044209fa06cf2a3e51b319769a51be8318140659719aa7a115c35ed07"}, {file = "bandit-1.7.0.tar.gz", hash = "sha256:8a4c7415254d75df8ff3c3b15cfe9042ecee628a1e40b44c15a98890fbfc2608"}, @@ -791,6 +1550,45 @@ certifi = [ {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, ] +cffi = [ + {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"}, + {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"}, + {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"}, + {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"}, + {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"}, + {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"}, + {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"}, + {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"}, + {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"}, + {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"}, + {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"}, + {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"}, + {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"}, + {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"}, + {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"}, + {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"}, + {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"}, + {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"}, + {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"}, + {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"}, + {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"}, + {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"}, + {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"}, + {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"}, + {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"}, + {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"}, + {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"}, + {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"}, + {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"}, + {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"}, + {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"}, + {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"}, + {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"}, + {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"}, + {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"}, + {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"}, + {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"}, +] chardet = [ {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, @@ -803,6 +1601,14 @@ colorama = [ {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, ] +coreapi = [ + {file = "coreapi-2.3.3-py2.py3-none-any.whl", hash = "sha256:bf39d118d6d3e171f10df9ede5666f63ad80bba9a29a8ec17726a66cf52ee6f3"}, + {file = "coreapi-2.3.3.tar.gz", hash = "sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb"}, +] +coreschema = [ + {file = "coreschema-0.0.4-py2-none-any.whl", hash = "sha256:5e6ef7bf38c1525d5e55a895934ab4273548629f16aed5c0a6caa74ebf45551f"}, + {file = "coreschema-0.0.4.tar.gz", hash = "sha256:9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607"}, +] coverage = [ {file = "coverage-5.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf"}, {file = "coverage-5.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b"}, @@ -857,26 +1663,112 @@ coverage = [ {file = "coverage-5.5-pp37-none-any.whl", hash = "sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4"}, {file = "coverage-5.5.tar.gz", hash = "sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c"}, ] +cryptography = [ + {file = "cryptography-3.4.7-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1"}, + {file = "cryptography-3.4.7-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:8e56e16617872b0957d1c9742a3f94b43533447fd78321514abbe7db216aa250"}, + {file = "cryptography-3.4.7-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:37340614f8a5d2fb9aeea67fd159bfe4f5f4ed535b1090ce8ec428b2f15a11f2"}, + {file = "cryptography-3.4.7-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:240f5c21aef0b73f40bb9f78d2caff73186700bf1bc6b94285699aff98cc16c6"}, + {file = "cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl", hash = "sha256:1e056c28420c072c5e3cb36e2b23ee55e260cb04eee08f702e0edfec3fb51959"}, + {file = "cryptography-3.4.7-cp36-abi3-win32.whl", hash = "sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d"}, + {file = "cryptography-3.4.7-cp36-abi3-win_amd64.whl", hash = "sha256:de4e5f7f68220d92b7637fc99847475b59154b7a1b3868fb7385337af54ac9ca"}, + {file = "cryptography-3.4.7-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:26965837447f9c82f1855e0bc8bc4fb910240b6e0d16a664bb722df3b5b06873"}, + {file = "cryptography-3.4.7-pp36-pypy36_pp73-manylinux2014_x86_64.whl", hash = "sha256:eb8cc2afe8b05acbd84a43905832ec78e7b3873fb124ca190f574dca7389a87d"}, + {file = "cryptography-3.4.7-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:7ec5d3b029f5fa2b179325908b9cd93db28ab7b85bb6c1db56b10e0b54235177"}, + {file = "cryptography-3.4.7-pp37-pypy37_pp73-manylinux2014_x86_64.whl", hash = "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9"}, + {file = "cryptography-3.4.7.tar.gz", hash = "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713"}, +] dataclasses = [ {file = "dataclasses-0.7-py3-none-any.whl", hash = "sha256:3459118f7ede7c8bea0fe795bff7c6c2ce287d01dd226202f7c9ebc0610a7836"}, {file = "dataclasses-0.7.tar.gz", hash = "sha256:494a6dcae3b8bcf80848eea2ef64c0cc5cd307ffc263e17cdf42f3e5420808e6"}, ] +defusedxml = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] diffsync = [ {file = "diffsync-1.3.0-py3-none-any.whl", hash = "sha256:c23bac1080ea7205272bacb4ae4659a23a96172a28024febe162a5559e178d0b"}, {file = "diffsync-1.3.0.tar.gz", hash = "sha256:ab5499293e307f872056a757bea22e0c88ec91e88dfdba4d6bdc59832835b2af"}, ] django = [ - {file = "Django-3.1.11-py3-none-any.whl", hash = "sha256:c79245c488411d1ae300b8f7a08ac18a496380204cf3035aff97ad917a8de999"}, - {file = "Django-3.1.11.tar.gz", hash = "sha256:9a0a2f3d34c53032578b54db7ec55929b87dda6fec27a06cc2587afbea1965e5"}, + {file = "Django-3.1.12-py3-none-any.whl", hash = "sha256:a523d62b7ab2908f551dabc32b99017a86aa7784e32b761708e52be3dce6d35d"}, + {file = "Django-3.1.12.tar.gz", hash = "sha256:dc41bf07357f1f4810c1c555b685cb51f780b41e37892d6cc92b89789f2847e1"}, +] +django-appconf = [ + {file = "django-appconf-1.0.4.tar.gz", hash = "sha256:be58deb54a43d77d2e1621fe59f787681376d3cd0b8bd8e4758ef6c3a6453380"}, + {file = "django_appconf-1.0.4-py2.py3-none-any.whl", hash = "sha256:1b1d0e1069c843ebe8ae5aa48ec52403b1440402b320c3e3a206a0907e97bb06"}, +] +django-cacheops = [ + {file = "django-cacheops-5.1.tar.gz", hash = "sha256:d5851cd7bf3087384a1fcecfa8dddb8f55030eedfd6fdf127225b75bca0f99dd"}, + {file = "django_cacheops-5.1-py2.py3-none-any.whl", hash = "sha256:02320df37754c143477c5fbd54abf292bcd8b4ca40631e19ec15efa3cc085532"}, +] +django-cors-headers = [ + {file = "django-cors-headers-3.7.0.tar.gz", hash = "sha256:96069c4aaacace786a34ee7894ff680780ec2644e4268b31181044410fecd12e"}, + {file = "django_cors_headers-3.7.0-py3-none-any.whl", hash = "sha256:1ac2b1213de75a251e2ba04448da15f99bcfcbe164288ae6b5ff929dc49b372f"}, +] +django-cryptography = [ + {file = "django-cryptography-1.0.tar.gz", hash = "sha256:13de5cf8f1250744c104b9e24774d03aa6d8488959dd40cdc016934043652445"}, + {file = "django_cryptography-1.0-py3-none-any.whl", hash = "sha256:0a99980b1cee7cc5e52f9b20b322620fea7cc124d770273e7bd285b20fd9d222"}, ] django-debug-toolbar = [ {file = "django-debug-toolbar-3.2.1.tar.gz", hash = "sha256:a5ff2a54f24bf88286f9872836081078f4baa843dc3735ee88524e89f8821e33"}, {file = "django_debug_toolbar-3.2.1-py3-none-any.whl", hash = "sha256:e759e63e3fe2d3110e0e519639c166816368701eab4a47fed75d7de7018467b9"}, ] +django-filter = [ + {file = "django-filter-2.4.0.tar.gz", hash = "sha256:84e9d5bb93f237e451db814ed422a3a625751cbc9968b484ecc74964a8696b06"}, + {file = "django_filter-2.4.0-py3-none-any.whl", hash = "sha256:e00d32cebdb3d54273c48f4f878f898dced8d5dfaad009438fe61ebdf535ace1"}, +] +django-js-asset = [ + {file = "django-js-asset-1.2.2.tar.gz", hash = "sha256:c163ae80d2e0b22d8fb598047cd0dcef31f81830e127cfecae278ad574167260"}, + {file = "django_js_asset-1.2.2-py2.py3-none-any.whl", hash = "sha256:8ec12017f26eec524cab436c64ae73033368a372970af4cf42d9354fcb166bdd"}, +] +django-mptt = [ + {file = "django-mptt-0.11.0.tar.gz", hash = "sha256:dfdb3af75ad27cdd4458b0544ec8574174f2b90f99bc2cafab6a15b4bc1895a8"}, + {file = "django_mptt-0.11.0-py2.py3-none-any.whl", hash = "sha256:90eb236eb4f1a92124bd7c37852bbe09c0d21158477cc237556d59842a91c509"}, +] +django-prometheus = [ + {file = "django-prometheus-2.1.0.tar.gz", hash = "sha256:dd3f8da1399140fbef5c00d1526a23d1ade286b144281c325f8e409a781643f2"}, + {file = "django_prometheus-2.1.0-py2.py3-none-any.whl", hash = "sha256:c338d6efde1ca336e90c540b5e87afe9287d7bcc82d651a778f302b0be17a933"}, +] +django-redis = [ + {file = "django-redis-4.12.1.tar.gz", hash = "sha256:306589c7021e6468b2656edc89f62b8ba67e8d5a1c8877e2688042263daa7a63"}, + {file = "django_redis-4.12.1-py3-none-any.whl", hash = "sha256:1133b26b75baa3664164c3f44b9d5d133d1b8de45d94d79f38d1adc5b1d502e5"}, +] +django-rq = [ + {file = "django-rq-2.4.1.tar.gz", hash = "sha256:f09059ab37403a47c7933bca396fabb7f3058732d132462eade5333bc4bcac5f"}, + {file = "django_rq-2.4.1-py2.py3-none-any.whl", hash = "sha256:23981f83c537178cbbf730f192c13e99cede2204e9d917b1c1c80c42215dd227"}, +] +django-tables2 = [ + {file = "django-tables2-2.3.4.tar.gz", hash = "sha256:50ccadbd13740a996d8a4d4f144ef80134745cd0b5ec278061537e341f5ef7a2"}, + {file = "django_tables2-2.3.4-py2.py3-none-any.whl", hash = "sha256:af5f70a9845fd8690c6b44120b065e55b9771cae99c1dcd0eb4f1cfa3f0a71e4"}, +] +django-taggit = [ + {file = "django-taggit-1.3.0.tar.gz", hash = "sha256:4a833bf71f4c2deddd9745924eee53be1c075d7f0020a06f12e29fa3d752732d"}, + {file = "django_taggit-1.3.0-py3-none-any.whl", hash = "sha256:609b0223d8a652f3fae088b7fd29f294fdadaca2d7931d45c27d6c59b02fdf31"}, +] +django-timezone-field = [ + {file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"}, + {file = "django_timezone_field-4.1.2-py3-none-any.whl", hash = "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36"}, +] +django-webserver = [ + {file = "django-webserver-1.2.0.tar.gz", hash = "sha256:c976979d15b5ff9a212f7904d3b779e22219aebb4857860fcaf20e4e40f1da40"}, + {file = "django_webserver-1.2.0-py2.py3-none-any.whl", hash = "sha256:09200631f266484b9e944e38e92681d6e9aa7d90d089a5c86d5fb08fddad84fe"}, +] +djangorestframework = [ + {file = "djangorestframework-3.12.4-py3-none-any.whl", hash = "sha256:6d1d59f623a5ad0509fe0d6bfe93cbdfe17b8116ebc8eda86d45f6e16e819aaf"}, + {file = "djangorestframework-3.12.4.tar.gz", hash = "sha256:f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2"}, +] +drf-yasg = [ + {file = "drf-yasg-1.20.0.tar.gz", hash = "sha256:d50f197c7f02545d0b736df88c6d5cf874f8fea2507ad85ad7de6ae5bf2d9e5a"}, + {file = "drf_yasg-1.20.0-py2.py3-none-any.whl", hash = "sha256:8b72e5b1875931a8d11af407be3a9a5ba8776541492947a0df5bafda6b7f8267"}, +] flake8 = [ {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, ] +funcy = [ + {file = "funcy-1.16-py2.py3-none-any.whl", hash = "sha256:1d3fc5d42cf7564a6b2be04042d0df7a50c77903cf760a34786d0c9ebd659b25"}, + {file = "funcy-1.16.tar.gz", hash = "sha256:2775409b7dc9106283f1224d97e6df5f2c02e7291c8caed72764f5a115dffb50"}, +] future = [ {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, ] @@ -888,6 +1780,22 @@ gitpython = [ {file = "GitPython-3.1.17-py3-none-any.whl", hash = "sha256:29fe82050709760081f588dd50ce83504feddbebdc4da6956d02351552b1c135"}, {file = "GitPython-3.1.17.tar.gz", hash = "sha256:ee24bdc93dce357630764db659edaf6b8d664d4ff5447ccfeedd2dc5c253f41e"}, ] +graphene = [ + {file = "graphene-2.1.8-py2.py3-none-any.whl", hash = "sha256:09165f03e1591b76bf57b133482db9be6dac72c74b0a628d3c93182af9c5a896"}, + {file = "graphene-2.1.8.tar.gz", hash = "sha256:2cbe6d4ef15cfc7b7805e0760a0e5b80747161ce1b0f990dfdc0d2cf497c12f9"}, +] +graphene-django = [ + {file = "graphene-django-2.15.0.tar.gz", hash = "sha256:b78c9b05bc899016b9cc5bf13faa1f37fe1faa8c5407552c6ddd1a28f46fc31a"}, + {file = "graphene_django-2.15.0-py2.py3-none-any.whl", hash = "sha256:02671d195f0c09c8649acff2a8f4ad4f297d0f7d98ea6e6cdf034b81bab92880"}, +] +graphql-core = [ + {file = "graphql-core-2.3.2.tar.gz", hash = "sha256:aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746"}, + {file = "graphql_core-2.3.2-py2.py3-none-any.whl", hash = "sha256:44c9bac4514e5e30c5a595fac8e3c76c1975cae14db215e8174c7fe995825bad"}, +] +graphql-relay = [ + {file = "graphql-relay-2.0.1.tar.gz", hash = "sha256:870b6b5304123a38a0b215a79eace021acce5a466bf40cd39fa18cb8528afabb"}, + {file = "graphql_relay-2.0.1-py3-none-any.whl", hash = "sha256:ac514cb86db9a43014d7e73511d521137ac12cf0101b2eaa5f0a3da2e10d913d"}, +] idna = [ {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, @@ -910,6 +1818,14 @@ importlib-metadata = [ {file = "importlib_metadata-3.4.0-py3-none-any.whl", hash = "sha256:ace61d5fc652dc280e7b6b4ff732a9c2d40db2c0f92bc6cb74e07b73d53a1771"}, {file = "importlib_metadata-3.4.0.tar.gz", hash = "sha256:fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d"}, ] +importlib-resources = [ + {file = "importlib_resources-5.1.4-py3-none-any.whl", hash = "sha256:e962bff7440364183203d179d7ae9ad90cb1f2b74dcb84300e88ecc42dca3351"}, + {file = "importlib_resources-5.1.4.tar.gz", hash = "sha256:54161657e8ffc76596c4ede7080ca68cb02962a2e074a2586b695a93a925d36e"}, +] +inflection = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] invoke = [ {file = "invoke-1.5.0-py2-none-any.whl", hash = "sha256:da7c2d0be71be83ffd6337e078ef9643f41240024d6b2659e7b46e0b251e339f"}, {file = "invoke-1.5.0-py3-none-any.whl", hash = "sha256:7e44d98a7dc00c91c79bac9e3007276965d2c96884b3c22077a9f04042bd6d90"}, @@ -919,6 +1835,10 @@ isort = [ {file = "isort-5.8.0-py3-none-any.whl", hash = "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d"}, {file = "isort-5.8.0.tar.gz", hash = "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6"}, ] +itypes = [ + {file = "itypes-1.2.0-py2.py3-none-any.whl", hash = "sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6"}, + {file = "itypes-1.2.0.tar.gz", hash = "sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1"}, +] jinja2 = [ {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"}, @@ -927,6 +1847,10 @@ joblib = [ {file = "joblib-1.0.1-py3-none-any.whl", hash = "sha256:feeb1ec69c4d45129954f1b7034954241eedfd6ba39b5e9e4b6883be3332d5e5"}, {file = "joblib-1.0.1.tar.gz", hash = "sha256:9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7"}, ] +jsonschema = [ + {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, + {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, +] lazy-object-proxy = [ {file = "lazy-object-proxy-1.6.0.tar.gz", hash = "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726"}, {file = "lazy_object_proxy-1.6.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7b84f6b790be05b"}, @@ -1013,6 +1937,17 @@ mypy-extensions = [ {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, ] +nautobot = [ + {file = "nautobot-1.0.3-py3-none-any.whl", hash = "sha256:d3553004dd4e0ea27d054c72b155992848a329412139548df24ad0e647f6b0a5"}, + {file = "nautobot-1.0.3.tar.gz", hash = "sha256:866c777bfa52ca062a5ed36528aa571e2baacc11f97eec7813027a0d12fef99d"}, +] +nautobot-ssot = [ + {file = "nautobot_ssot-0.1.0-py3-none-any.whl", hash = "sha256:8748ee33245e9eca1f40169d979e0f9e9b66009f62bf3e73412e95ada20ea945"}, +] +netaddr = [ + {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, + {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, +] nltk = [ {file = "nltk-3.6.2-py3-none-any.whl", hash = "sha256:240e23ab1ab159ef9940777d30c7c72d7e76d91877099218a7585370c11f6b9e"}, {file = "nltk-3.6.2.zip", hash = "sha256:57d556abed621ab9be225cc6d2df1edce17572efb67a3d754630c9f8381503eb"}, @@ -1021,6 +1956,10 @@ oauthlib = [ {file = "oauthlib-3.1.0-py2.py3-none-any.whl", hash = "sha256:df884cd6cbe20e32633f1db1072e9356f53638e4361bef4e8b03c9127c9328ea"}, {file = "oauthlib-3.1.0.tar.gz", hash = "sha256:bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889"}, ] +packaging = [ + {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"}, + {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"}, +] pathspec = [ {file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"}, {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"}, @@ -1029,10 +1968,125 @@ pbr = [ {file = "pbr-5.6.0-py2.py3-none-any.whl", hash = "sha256:c68c661ac5cc81058ac94247278eeda6d2e6aecb3e227b0387c30d277e7ef8d4"}, {file = "pbr-5.6.0.tar.gz", hash = "sha256:42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd"}, ] +pillow = [ + {file = "Pillow-8.1.2-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:5cf03b9534aca63b192856aa601c68d0764810857786ea5da652581f3a44c2b0"}, + {file = "Pillow-8.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:f91b50ad88048d795c0ad004abbe1390aa1882073b1dca10bfd55d0b8cf18ec5"}, + {file = "Pillow-8.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5762ebb4436f46b566fc6351d67a9b5386b5e5de4e58fdaa18a1c83e0e20f1a8"}, + {file = "Pillow-8.1.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e2cd8ac157c1e5ae88b6dd790648ee5d2777e76f1e5c7d184eaddb2938594f34"}, + {file = "Pillow-8.1.2-cp36-cp36m-win32.whl", hash = "sha256:72027ebf682abc9bafd93b43edc44279f641e8996fb2945104471419113cfc71"}, + {file = "Pillow-8.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:d1d6bca39bb6dd94fba23cdb3eeaea5e30c7717c5343004d900e2a63b132c341"}, + {file = "Pillow-8.1.2-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:90882c6f084ef68b71bba190209a734bf90abb82ab5e8f64444c71d5974008c6"}, + {file = "Pillow-8.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:89e4c757a91b8c55d97c91fa09c69b3677c227b942fa749e9a66eef602f59c28"}, + {file = "Pillow-8.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8c4e32218c764bc27fe49b7328195579581aa419920edcc321c4cb877c65258d"}, + {file = "Pillow-8.1.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:a01da2c266d9868c4f91a9c6faf47a251f23b9a862dce81d2ff583135206f5be"}, + {file = "Pillow-8.1.2-cp37-cp37m-win32.whl", hash = "sha256:30d33a1a6400132e6f521640dd3f64578ac9bfb79a619416d7e8802b4ce1dd55"}, + {file = "Pillow-8.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:71b01ee69e7df527439d7752a2ce8fb89e19a32df484a308eca3e81f673d3a03"}, + {file = "Pillow-8.1.2-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:5a2d957eb4aba9d48170b8fe6538ec1fbc2119ffe6373782c03d8acad3323f2e"}, + {file = "Pillow-8.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:87f42c976f91ca2fc21a3293e25bd3cd895918597db1b95b93cbd949f7d019ce"}, + {file = "Pillow-8.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:15306d71a1e96d7e271fd2a0737038b5a92ca2978d2e38b6ced7966583e3d5af"}, + {file = "Pillow-8.1.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:71f31ee4df3d5e0b366dd362007740106d3210fb6a56ec4b581a5324ba254f06"}, + {file = "Pillow-8.1.2-cp38-cp38-win32.whl", hash = "sha256:98afcac3205d31ab6a10c5006b0cf040d0026a68ec051edd3517b776c1d78b09"}, + {file = "Pillow-8.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:328240f7dddf77783e72d5ed79899a6b48bc6681f8d1f6001f55933cb4905060"}, + {file = "Pillow-8.1.2-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bead24c0ae3f1f6afcb915a057943ccf65fc755d11a1410a909c1fefb6c06ad1"}, + {file = "Pillow-8.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81b3716cc9744ffdf76b39afb6247eae754186838cedad0b0ac63b2571253fe6"}, + {file = "Pillow-8.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:63cd413ac52ee3f67057223d363f4f82ce966e64906aea046daf46695e3c8238"}, + {file = "Pillow-8.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8565355a29655b28fdc2c666fd9a3890fe5edc6639d128814fafecfae2d70910"}, + {file = "Pillow-8.1.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1940fc4d361f9cc7e558d6f56ff38d7351b53052fd7911f4b60cd7bc091ea3b1"}, + {file = "Pillow-8.1.2-cp39-cp39-win32.whl", hash = "sha256:46c2bcf8e1e75d154e78417b3e3c64e96def738c2a25435e74909e127a8cba5e"}, + {file = "Pillow-8.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:aeab4cd016e11e7aa5cfc49dcff8e51561fa64818a0be86efa82c7038e9369d0"}, + {file = "Pillow-8.1.2-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:74cd9aa648ed6dd25e572453eb09b08817a1e3d9f8d1bd4d8403d99e42ea790b"}, + {file = "Pillow-8.1.2-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:e5739ae63636a52b706a0facec77b2b58e485637e1638202556156e424a02dc2"}, + {file = "Pillow-8.1.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:903293320efe2466c1ab3509a33d6b866dc850cfd0c5d9cc92632014cec185fb"}, + {file = "Pillow-8.1.2-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:5daba2b40782c1c5157a788ec4454067c6616f5a0c1b70e26ac326a880c2d328"}, + {file = "Pillow-8.1.2-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:1f93f2fe211f1ef75e6f589327f4d4f8545d5c8e826231b042b483d8383e8a7c"}, + {file = "Pillow-8.1.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:6efac40344d8f668b6c4533ae02a48d52fd852ef0654cc6f19f6ac146399c733"}, + {file = "Pillow-8.1.2-pp37-pypy37_pp73-win32.whl", hash = "sha256:f36c3ff63d6fc509ce599a2f5b0d0732189eed653420e7294c039d342c6e204a"}, + {file = "Pillow-8.1.2.tar.gz", hash = "sha256:b07c660e014852d98a00a91adfbe25033898a9d90a8f39beb2437d22a203fc44"}, +] +prometheus-client = [ + {file = "prometheus_client-0.11.0-py2.py3-none-any.whl", hash = "sha256:b014bc76815eb1399da8ce5fc84b7717a3e63652b0c0f8804092c9363acab1b2"}, + {file = "prometheus_client-0.11.0.tar.gz", hash = "sha256:3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86"}, +] +promise = [ + {file = "promise-2.3.tar.gz", hash = "sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0"}, +] +psycopg2-binary = [ + {file = "psycopg2-binary-2.8.6.tar.gz", hash = "sha256:11b9c0ebce097180129e422379b824ae21c8f2a6596b159c7659e2e5a00e1aa0"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:d14b140a4439d816e3b1229a4a525df917d6ea22a0771a2a78332273fd9528a4"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:1fabed9ea2acc4efe4671b92c669a213db744d2af8a9fc5d69a8e9bc14b7a9db"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:f5ab93a2cb2d8338b1674be43b442a7f544a0971da062a5da774ed40587f18f5"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27m-win32.whl", hash = "sha256:b4afc542c0ac0db720cf516dd20c0846f71c248d2b3d21013aa0d4ef9c71ca25"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27m-win_amd64.whl", hash = "sha256:e74a55f6bad0e7d3968399deb50f61f4db1926acf4a6d83beaaa7df986f48b1c"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:0deac2af1a587ae12836aa07970f5cb91964f05a7c6cdb69d8425ff4c15d4e2c"}, + {file = "psycopg2_binary-2.8.6-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ad20d2eb875aaa1ea6d0f2916949f5c08a19c74d05b16ce6ebf6d24f2c9f75d1"}, + {file = "psycopg2_binary-2.8.6-cp34-cp34m-win32.whl", hash = "sha256:950bc22bb56ee6ff142a2cb9ee980b571dd0912b0334aa3fe0fe3788d860bea2"}, + {file = "psycopg2_binary-2.8.6-cp34-cp34m-win_amd64.whl", hash = "sha256:b8a3715b3c4e604bcc94c90a825cd7f5635417453b253499664f784fc4da0152"}, + {file = "psycopg2_binary-2.8.6-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:d1b4ab59e02d9008efe10ceabd0b31e79519da6fb67f7d8e8977118832d0f449"}, + {file = "psycopg2_binary-2.8.6-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:ac0c682111fbf404525dfc0f18a8b5f11be52657d4f96e9fcb75daf4f3984859"}, + {file = "psycopg2_binary-2.8.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7d92a09b788cbb1aec325af5fcba9fed7203897bbd9269d5691bb1e3bce29550"}, + {file = "psycopg2_binary-2.8.6-cp35-cp35m-win32.whl", hash = "sha256:aaa4213c862f0ef00022751161df35804127b78adf4a2755b9f991a507e425fd"}, + {file = "psycopg2_binary-2.8.6-cp35-cp35m-win_amd64.whl", hash = "sha256:c2507d796fca339c8fb03216364cca68d87e037c1f774977c8fc377627d01c71"}, + {file = "psycopg2_binary-2.8.6-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:ee69dad2c7155756ad114c02db06002f4cded41132cc51378e57aad79cc8e4f4"}, + {file = "psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:e82aba2188b9ba309fd8e271702bd0d0fc9148ae3150532bbb474f4590039ffb"}, + {file = "psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d5227b229005a696cc67676e24c214740efd90b148de5733419ac9aaba3773da"}, + {file = "psycopg2_binary-2.8.6-cp36-cp36m-win32.whl", hash = "sha256:a0eb43a07386c3f1f1ebb4dc7aafb13f67188eab896e7397aa1ee95a9c884eb2"}, + {file = "psycopg2_binary-2.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:e1f57aa70d3f7cc6947fd88636a481638263ba04a742b4a37dd25c373e41491a"}, + {file = "psycopg2_binary-2.8.6-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:833709a5c66ca52f1d21d41865a637223b368c0ee76ea54ca5bad6f2526c7679"}, + {file = "psycopg2_binary-2.8.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ba28584e6bca48c59eecbf7efb1576ca214b47f05194646b081717fa628dfddf"}, + {file = "psycopg2_binary-2.8.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6a32f3a4cb2f6e1a0b15215f448e8ce2da192fd4ff35084d80d5e39da683e79b"}, + {file = "psycopg2_binary-2.8.6-cp37-cp37m-win32.whl", hash = "sha256:0e4dc3d5996760104746e6cfcdb519d9d2cd27c738296525d5867ea695774e67"}, + {file = "psycopg2_binary-2.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:cec7e622ebc545dbb4564e483dd20e4e404da17ae07e06f3e780b2dacd5cee66"}, + {file = "psycopg2_binary-2.8.6-cp38-cp38-macosx_10_9_x86_64.macosx_10_9_intel.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:ba381aec3a5dc29634f20692349d73f2d21f17653bda1decf0b52b11d694541f"}, + {file = "psycopg2_binary-2.8.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:a0c50db33c32594305b0ef9abc0cb7db13de7621d2cadf8392a1d9b3c437ef77"}, + {file = "psycopg2_binary-2.8.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2dac98e85565d5688e8ab7bdea5446674a83a3945a8f416ad0110018d1501b94"}, + {file = "psycopg2_binary-2.8.6-cp38-cp38-win32.whl", hash = "sha256:bd1be66dde2b82f80afb9459fc618216753f67109b859a361cf7def5c7968729"}, + {file = "psycopg2_binary-2.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:8cd0fb36c7412996859cb4606a35969dd01f4ea34d9812a141cd920c3b18be77"}, + {file = "psycopg2_binary-2.8.6-cp39-cp39-macosx_10_9_x86_64.macosx_10_9_intel.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:89705f45ce07b2dfa806ee84439ec67c5d9a0ef20154e0e475e2b2ed392a5b83"}, + {file = "psycopg2_binary-2.8.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:42ec1035841b389e8cc3692277a0bd81cdfe0b65d575a2c8862cec7a80e62e52"}, + {file = "psycopg2_binary-2.8.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7312e931b90fe14f925729cde58022f5d034241918a5c4f9797cac62f6b3a9dd"}, + {file = "psycopg2_binary-2.8.6-cp39-cp39-win32.whl", hash = "sha256:6422f2ff0919fd720195f64ffd8f924c1395d30f9a495f31e2392c2efafb5056"}, + {file = "psycopg2_binary-2.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:15978a1fbd225583dd8cdaf37e67ccc278b5abecb4caf6b2d6b8e2b948e953f6"}, +] pycodestyle = [ {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, ] +pycparser = [ + {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"}, + {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"}, +] +pycryptodome = [ + {file = "pycryptodome-3.10.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1c5e1ca507de2ad93474be5cfe2bfa76b7cf039a1a32fc196f40935944871a06"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:6260e24d41149268122dd39d4ebd5941e9d107f49463f7e071fd397e29923b0c"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3f840c49d38986f6e17dbc0673d37947c88bc9d2d9dba1c01b979b36f8447db1"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:2dea65df54349cdfa43d6b2e8edb83f5f8d6861e5cf7b1fbc3e34c5694c85e27"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:e61e363d9a5d7916f3a4ce984a929514c0df3daf3b1b2eb5e6edbb131ee771cf"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:2603c98ae04aac675fefcf71a6c87dc4bb74a75e9071ae3923bbc91a59f08d35"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-win32.whl", hash = "sha256:38661348ecb71476037f1e1f553159b80d256c00f6c0b00502acac891f7116d9"}, + {file = "pycryptodome-3.10.1-cp27-cp27m-win_amd64.whl", hash = "sha256:1723ebee5561628ce96748501cdaa7afaa67329d753933296321f0be55358dce"}, + {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:77997519d8eb8a4adcd9a47b9cec18f9b323e296986528186c0e9a7a15d6a07e"}, + {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:99b2f3fc51d308286071d0953f92055504a6ffe829a832a9fc7a04318a7683dd"}, + {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:e0a4d5933a88a2c98bbe19c0c722f5483dc628d7a38338ac2cb64a7dbd34064b"}, + {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d3d6958d53ad307df5e8469cc44474a75393a434addf20ecd451f38a72fe29b8"}, + {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:a8eb8b6ea09ec1c2535bf39914377bc8abcab2c7d30fa9225eb4fe412024e427"}, + {file = "pycryptodome-3.10.1-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:31c1df17b3dc5f39600a4057d7db53ac372f492c955b9b75dd439f5d8b460129"}, + {file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_i686.whl", hash = "sha256:a3105a0eb63eacf98c2ecb0eb4aa03f77f40fbac2bdde22020bb8a536b226bb8"}, + {file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:a92d5c414e8ee1249e850789052608f582416e82422502dc0ac8c577808a9067"}, + {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:60386d1d4cfaad299803b45a5bc2089696eaf6cdd56f9fc17479a6f89595cfc8"}, + {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:501ab36aae360e31d0ec370cf5ce8ace6cb4112060d099b993bc02b36ac83fb6"}, + {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:fc7489a50323a0df02378bc2fff86eb69d94cc5639914346c736be981c6a02e7"}, + {file = "pycryptodome-3.10.1-cp35-abi3-win32.whl", hash = "sha256:9b6f711b25e01931f1c61ce0115245a23cdc8b80bf8539ac0363bdcf27d649b6"}, + {file = "pycryptodome-3.10.1-cp35-abi3-win_amd64.whl", hash = "sha256:7fd519b89585abf57bf47d90166903ec7b43af4fe23c92273ea09e6336af5c07"}, + {file = "pycryptodome-3.10.1-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:09c1555a3fa450e7eaca41ea11cd00afe7c91fef52353488e65663777d8524e0"}, + {file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:758949ca62690b1540dfb24ad773c6da9cd0e425189e83e39c038bbd52b8e438"}, + {file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:e3bf558c6aeb49afa9f0c06cee7fb5947ee5a1ff3bd794b653d39926b49077fa"}, + {file = "pycryptodome-3.10.1-pp27-pypy_73-win32.whl", hash = "sha256:f977cdf725b20f6b8229b0c87acb98c7717e742ef9f46b113985303ae12a99da"}, + {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6d2df5223b12437e644ce0a3be7809471ffa71de44ccd28b02180401982594a6"}, + {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:98213ac2b18dc1969a47bc65a79a8fca02a414249d0c8635abb081c7f38c91b6"}, + {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:12222a5edc9ca4a29de15fbd5339099c4c26c56e13c2ceddf0b920794f26165d"}, + {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:6bbf7fee7b7948b29d7e71fcacf48bac0c57fb41332007061a933f2d996f9713"}, + {file = "pycryptodome-3.10.1.tar.gz", hash = "sha256:3e2e3a06580c5f190df843cdb90ea28d61099cf4924334d5297a995de68e4673"}, +] pydantic = [ {file = "pydantic-1.7.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3c60039e84552442defbcb5d56711ef0e057028ca7bfc559374917408a88d84e"}, {file = "pydantic-1.7.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:6e7e314acb170e143c6f3912f93f2ec80a96aa2009ee681356b7ce20d57e5c62"}, @@ -1065,6 +2119,10 @@ pyflakes = [ {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, ] +pyjwt = [ + {file = "PyJWT-2.1.0-py3-none-any.whl", hash = "sha256:934d73fbba91b0483d3857d1aff50e96b2a892384ee2c17417ed3203f173fca1"}, + {file = "PyJWT-2.1.0.tar.gz", hash = "sha256:fba44e7898bbca160a2b2b501f492824fc8382485d3a6f11ba5d0c1937ce6130"}, +] pylint = [ {file = "pylint-2.8.2-py3-none-any.whl", hash = "sha256:f7e2072654a6b6afdf5e2fb38147d3e2d2d43c89f648637baab63e026481279b"}, {file = "pylint-2.8.2.tar.gz", hash = "sha256:586d8fa9b1891f4b725f587ef267abe2a1bad89d6b184520c7f07a253dd6e217"}, @@ -1077,6 +2135,13 @@ pylint-plugin-utils = [ {file = "pylint-plugin-utils-0.6.tar.gz", hash = "sha256:57625dcca20140f43731311cd8fd879318bf45a8b0fd17020717a8781714a25a"}, {file = "pylint_plugin_utils-0.6-py3-none-any.whl", hash = "sha256:2f30510e1c46edf268d3a195b2849bd98a1b9433229bb2ba63b8d776e1fc4d0a"}, ] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] +pyrsistent = [ + {file = "pyrsistent-0.17.3.tar.gz", hash = "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e"}, +] pysnow = [ {file = "pysnow-0.7.17-py2.py3-none-any.whl", hash = "sha256:c73b28a0d6b7a28518e7271b4af6cc94052985cec19e71bc7715e55c4d765862"}, {file = "pysnow-0.7.17.tar.gz", hash = "sha256:9ca04d53b897999426854ab03577a9fdbefe925526373a2fd647ee551fe520ca"}, @@ -1085,10 +2150,30 @@ python-magic = [ {file = "python-magic-0.4.22.tar.gz", hash = "sha256:ca884349f2c92ce830e3f498c5b7c7051fe2942c3ee4332f65213b8ebff15a62"}, {file = "python_magic-0.4.22-py2.py3-none-any.whl", hash = "sha256:8551e804c09a3398790bd9e392acb26554ae2609f29c72abb0b9dee9a5571eae"}, ] +python3-openid = [ + {file = "python3-openid-3.2.0.tar.gz", hash = "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf"}, + {file = "python3_openid-3.2.0-py3-none-any.whl", hash = "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b"}, +] pytz = [ {file = "pytz-2019.3-py2.py3-none-any.whl", hash = "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d"}, {file = "pytz-2019.3.tar.gz", hash = "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"}, ] +pyuwsgi = [ + {file = "pyuwsgi-2.0.19.1.post0-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a425f562f382a097ca49df26b70d47d12f0cf0abf233610f3f58b1f7f780355e"}, + {file = "pyuwsgi-2.0.19.1.post0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:56ecda11e873b2eb937b33d2999766322eebfa82ee5b26a2196a335c4e786186"}, + {file = "pyuwsgi-2.0.19.1.post0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:297d1d0b8c472374b12eda7f17a9f5de67cf516612e42b71a7636afb9d1e3974"}, + {file = "pyuwsgi-2.0.19.1.post0-cp35-cp35m-macosx_10_13_intel.whl", hash = "sha256:5439f0f3ef5d6bf1622f341662d04c1d92b88889db40b295419e5fe75a7c7d45"}, + {file = "pyuwsgi-2.0.19.1.post0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:890e7e863cb61c8369b6bcfa5d6f323753aaeec2cfaba16741f119c79b964aa7"}, + {file = "pyuwsgi-2.0.19.1.post0-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:bddeb8df77010d0f842068765a0b3155fdcfd847f14bc1ba89fc7e37914a13d2"}, + {file = "pyuwsgi-2.0.19.1.post0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:90e4235020048456ad867aefc383cdf5528b7f6e327555ceec579c428a828759"}, + {file = "pyuwsgi-2.0.19.1.post0-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:94d4287b155aa789ce4b6f671c981f7d6c58fc3113330e2f29ac7926cb854645"}, + {file = "pyuwsgi-2.0.19.1.post0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:66a9751f28abf348e0ddccadc4ded47623f2d35cf9609c87b57909d55a4cdc15"}, + {file = "pyuwsgi-2.0.19.1.post0-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:285e263a9094389f13cfdefd033a4e99fbed3ad120dba9ac5093846cc03ac5ab"}, + {file = "pyuwsgi-2.0.19.1.post0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:dac4a04dc0f69d641dba984e83214d2c2cc098496c5d5585e7d3f4e7a9190f84"}, + {file = "pyuwsgi-2.0.19.1.post0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ac79dead0685beab5ecfe0926426849a44c5572528f89bb17f6ecf5eb561024e"}, + {file = "pyuwsgi-2.0.19.1.post0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:149675b2e020b0e833e8b871a545751ca346cbfed85c8fd2b320a01d40dc3d8f"}, + {file = "pyuwsgi-2.0.19.1.post0.tar.gz", hash = "sha256:0bd14517398f494d828d77a9bf72b5a6cbef0112e1cc05e9a0080fa8828ccfa0"}, +] pyyaml = [ {file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"}, {file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"}, @@ -1112,6 +2197,10 @@ pyyaml = [ {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"}, {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"}, ] +redis = [ + {file = "redis-3.5.3-py2.py3-none-any.whl", hash = "sha256:432b788c4530cfe16d8d943a09d40ca6c16149727e4afe8c2c9d5580c59d9f24"}, + {file = "redis-3.5.3.tar.gz", hash = "sha256:0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2"}, +] regex = [ {file = "regex-2021.4.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:619d71c59a78b84d7f18891fe914446d07edd48dc8328c8e149cbe0929b4e000"}, {file = "regex-2021.4.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:47bf5bf60cf04d72bf6055ae5927a0bd9016096bf3d742fa50d9bf9f45aa0711"}, @@ -1164,6 +2253,46 @@ requests-oauthlib = [ {file = "requests_oauthlib-1.3.0-py2.py3-none-any.whl", hash = "sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d"}, {file = "requests_oauthlib-1.3.0-py3.7.egg", hash = "sha256:fa6c47b933f01060936d87ae9327fead68768b69c6c9ea2109c48be30f2d4dbc"}, ] +rq = [ + {file = "rq-1.8.1-py2.py3-none-any.whl", hash = "sha256:2c7f795a2c85d84125314e49853ed66ca9acf062e997ada16e259c1c284f525f"}, + {file = "rq-1.8.1.tar.gz", hash = "sha256:feec0f914e69cae2380e2f46d82901e2abbd6fb09db320acb295f486a338f89f"}, +] +"ruamel.yaml" = [ + {file = "ruamel.yaml-0.17.10-py3-none-any.whl", hash = "sha256:ffb9b703853e9e8b7861606dfdab1026cf02505bade0653d1880f4b2db47f815"}, + {file = "ruamel.yaml-0.17.10.tar.gz", hash = "sha256:106bc8d6dc6a0ff7c9196a47570432036f41d556b779c6b4e618085f57e39e67"}, +] +"ruamel.yaml.clib" = [ + {file = "ruamel.yaml.clib-0.2.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:28116f204103cb3a108dfd37668f20abe6e3cafd0d3fd40dba126c732457b3cc"}, + {file = "ruamel.yaml.clib-0.2.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:daf21aa33ee9b351f66deed30a3d450ab55c14242cfdfcd377798e2c0d25c9f1"}, + {file = "ruamel.yaml.clib-0.2.2-cp27-cp27m-win32.whl", hash = "sha256:30dca9bbcbb1cc858717438218d11eafb78666759e5094dd767468c0d577a7e7"}, + {file = "ruamel.yaml.clib-0.2.2-cp27-cp27m-win_amd64.whl", hash = "sha256:f6061a31880c1ed6b6ce341215336e2f3d0c1deccd84957b6fa8ca474b41e89f"}, + {file = "ruamel.yaml.clib-0.2.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:73b3d43e04cc4b228fa6fa5d796409ece6fcb53a6c270eb2048109cbcbc3b9c2"}, + {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:53b9dd1abd70e257a6e32f934ebc482dac5edb8c93e23deb663eac724c30b026"}, + {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:839dd72545ef7ba78fd2aa1a5dd07b33696adf3e68fae7f31327161c1093001b"}, + {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-win32.whl", hash = "sha256:b1e981fe1aff1fd11627f531524826a4dcc1f26c726235a52fcb62ded27d150f"}, + {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4e52c96ca66de04be42ea2278012a2342d89f5e82b4512fb6fb7134e377e2e62"}, + {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a873e4d4954f865dcb60bdc4914af7eaae48fb56b60ed6daa1d6251c72f5337c"}, + {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ab845f1f51f7eb750a78937be9f79baea4a42c7960f5a94dde34e69f3cce1988"}, + {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-win32.whl", hash = "sha256:e9f7d1d8c26a6a12c23421061f9022bb62704e38211fe375c645485f38df34a2"}, + {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:2602e91bd5c1b874d6f93d3086f9830f3e907c543c7672cf293a97c3fabdcd91"}, + {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:44c7b0498c39f27795224438f1a6be6c5352f82cb887bc33d962c3a3acc00df6"}, + {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8e8fd0a22c9d92af3a34f91e8a2594eeb35cba90ab643c5e0e643567dc8be43e"}, + {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-win32.whl", hash = "sha256:464e66a04e740d754170be5e740657a3b3b6d2bcc567f0c3437879a6e6087ff6"}, + {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:52ae5739e4b5d6317b52f5b040b1b6639e8af68a5b8fd606a8b08658fbd0cab5"}, + {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4df5019e7783d14b79217ad9c56edf1ba7485d614ad5a385d1b3c768635c81c0"}, + {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5254af7d8bdf4d5484c089f929cb7f5bafa59b4f01d4f48adda4be41e6d29f99"}, + {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-win32.whl", hash = "sha256:74161d827407f4db9072011adcfb825b5258a5ccb3d2cd518dd6c9edea9e30f1"}, + {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:058a1cc3df2a8aecc12f983a48bda99315cebf55a3b3a5463e37bb599b05727b"}, + {file = "ruamel.yaml.clib-0.2.2.tar.gz", hash = "sha256:2d24bd98af676f4990c4d715bcdc2a60b19c56a3fb3a763164d2d8ca0e806ba7"}, +] +rx = [ + {file = "Rx-1.6.1-py2.py3-none-any.whl", hash = "sha256:7357592bc7e881a95e0c2013b73326f704953301ab551fbc8133a6fadab84105"}, + {file = "Rx-1.6.1.tar.gz", hash = "sha256:13a1d8d9e252625c173dc795471e614eadfe1cf40ffc684e08b8fff0d9748c23"}, +] +singledispatch = [ + {file = "singledispatch-3.6.2-py2.py3-none-any.whl", hash = "sha256:0d428477703d8386eb6aeed6e522c9f22d49f4363cdf4ed6a2ba3dc276053e20"}, + {file = "singledispatch-3.6.2.tar.gz", hash = "sha256:d5bb9405a4b8de48e36709238e8b91b4f6f300f81a5132ba2531a9a738eca391"}, +] six = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, @@ -1176,6 +2305,15 @@ snowballstemmer = [ {file = "snowballstemmer-2.1.0-py2.py3-none-any.whl", hash = "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2"}, {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"}, ] +social-auth-app-django = [ + {file = "social-auth-app-django-4.0.0.tar.gz", hash = "sha256:2c69e57df0b30c9c1823519c5f1992cbe4f3f98fdc7d95c840e091a752708840"}, + {file = "social_auth_app_django-4.0.0-py2-none-any.whl", hash = "sha256:df5212370bd250108987c4748419a1a1d0cec750878856c2644c36aaa0fd3e58"}, + {file = "social_auth_app_django-4.0.0-py3-none-any.whl", hash = "sha256:567ad0e028311541d7dfed51d3bf2c60440a6fd236d5d4d06c5a618b3d6c57c5"}, +] +social-auth-core = [ + {file = "social-auth-core-4.1.0.tar.gz", hash = "sha256:5ab43b3b15dce5f059db69cc3082c216574739f0edbc98629c8c6e8769c67eb4"}, + {file = "social_auth_core-4.1.0-py3-none-any.whl", hash = "sha256:983b53167ac56e7ba4909db555602a6e7a98c97ca47183bb222eb85ba627bf2b"}, +] sqlparse = [ {file = "sqlparse-0.4.1-py3-none-any.whl", hash = "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0"}, {file = "sqlparse-0.4.1.tar.gz", hash = "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8"}, @@ -1188,6 +2326,18 @@ structlog = [ {file = "structlog-20.2.0-py2.py3-none-any.whl", hash = "sha256:33dd6bd5f49355e52c1c61bb6a4f20d0b48ce0328cc4a45fe872d38b97a05ccd"}, {file = "structlog-20.2.0.tar.gz", hash = "sha256:af79dfa547d104af8d60f86eac12fb54825f54a46bc998e4504ef66177103174"}, ] +svgwrite = [ + {file = "svgwrite-1.4.1-py3-none-any.whl", hash = "sha256:4b21652a1d9c543a6bf4f9f2a54146b214519b7540ca60cb99968ad09ef631d0"}, + {file = "svgwrite-1.4.1.zip", hash = "sha256:e220a4bf189e7e214a55e8a11421d152b5b6fb1dd660c86a8b6b61fe8cc2ac48"}, +] +swagger-spec-validator = [ + {file = "swagger-spec-validator-2.7.3.tar.gz", hash = "sha256:f4f23ee4dbd52bfcde90b1144dde22304add6260e9f29252e9fd7814c9b8fd16"}, + {file = "swagger_spec_validator-2.7.3-py2.py3-none-any.whl", hash = "sha256:d1514ec7e3c058c701f27cc74f85ceb876d6418c9db57786b9c54085ed5e29eb"}, +] +text-unidecode = [ + {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, + {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, +] toml = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, @@ -1276,6 +2426,10 @@ typing-extensions = [ {file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"}, {file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"}, ] +uritemplate = [ + {file = "uritemplate-3.0.1-py2.py3-none-any.whl", hash = "sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f"}, + {file = "uritemplate-3.0.1.tar.gz", hash = "sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae"}, +] urllib3 = [ {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"}, {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"}, diff --git a/pyproject.toml b/pyproject.toml index 76ffbbc..20361ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,6 +24,8 @@ Jinja2 = "<3" pysnow = "^0.7.17" PyYAML = "^5.4.1" diffsync = "^1.3.0" +nautobot = "^1.0.3" +nautobot-ssot = {path = "packages/nautobot_ssot-0.1.0-py3-none-any.whl"} [tool.poetry.dev-dependencies] invoke = "*" @@ -76,6 +78,8 @@ no-docstring-rgx="^(_|test_|Meta$)" disable = """, line-too-long, bad-continuation, + too-few-public-methods, + duplicate-code, """ [tool.pylint.miscellaneous]