From d031933434e7eeb35a1396b3f0b8967bc1747f72 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2020 07:45:11 +0000 Subject: [PATCH 01/24] Bump urllib3 from 1.24.2 to 1.24.3 Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.24.2 to 1.24.3. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/master/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/1.24.2...1.24.3) Signed-off-by: dependabot-preview[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index be3f3714..c47eb81e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,7 +22,7 @@ pytz==2018.9 # via -r requirements.in pyyaml==5.2 # via -r requirements.in requests==2.21.0 # via -r requirements.in six==1.10.0 # via cryptography, protobuf, pyopenssl -urllib3==1.24.2 # via -r requirements.in, requests +urllib3==1.24.3 # via -r requirements.in, requests wheel==0.24.0 # via -r requirements.in wrapt==1.11.2 # via deprecated From a828b7bd5b5bfa929b325ec27f312c69b00bb7bb Mon Sep 17 00:00:00 2001 From: echarrod Date: Mon, 30 Mar 2020 09:11:31 +0100 Subject: [PATCH 02/24] Update requrements.in to specify urllib3>=1.24.3 --- requirements.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.in b/requirements.in index 6c920272..8ce2e47e 100644 --- a/requirements.in +++ b/requirements.in @@ -9,7 +9,7 @@ pyopenssl==18.0.0 PyYAML==5.2 # PyYAML 5.3 does not support Python 3.4 pytz==2018.9 requests>=2.20.0 -urllib3>=1.24.2 +urllib3>=1.24.3 deprecated==1.2.6 wheel==0.24.0 iso8601==0.1.12 From 3efdd04f09c01eeeea124757ee1d4433460bda5f Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2020 07:19:47 +0000 Subject: [PATCH 03/24] Bump pytz from 2018.9 to 2020.1 Bumps [pytz](https://github.com/stub42/pytz) from 2018.9 to 2020.1. - [Release notes](https://github.com/stub42/pytz/releases) - [Commits](https://github.com/stub42/pytz/compare/release_2018.9...release_2020.1) Signed-off-by: dependabot-preview[bot] --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 8ce2e47e..c50857ae 100644 --- a/requirements.in +++ b/requirements.in @@ -7,7 +7,7 @@ pbr==1.10.0 protobuf==3.11.3 pyopenssl==18.0.0 PyYAML==5.2 # PyYAML 5.3 does not support Python 3.4 -pytz==2018.9 +pytz==2020.1 requests>=2.20.0 urllib3>=1.24.3 deprecated==1.2.6 diff --git a/requirements.txt b/requirements.txt index c47eb81e..09e1e8e2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,7 @@ pbr==1.10.0 # via -r requirements.in protobuf==3.11.3 # via -r requirements.in pycparser==2.18 # via cffi pyopenssl==18.0.0 # via -r requirements.in -pytz==2018.9 # via -r requirements.in +pytz==2020.1 # via -r requirements.in pyyaml==5.2 # via -r requirements.in requests==2.21.0 # via -r requirements.in six==1.10.0 # via cryptography, protobuf, pyopenssl From 26f8c4f67ab5f9ae1a80be4b3bfa6113fd8d3c1c Mon Sep 17 00:00:00 2001 From: echarrod Date: Mon, 8 Jun 2020 14:06:54 +0100 Subject: [PATCH 04/24] SDK-1589: Update cffi package --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index c50857ae..d0afce0e 100644 --- a/requirements.in +++ b/requirements.in @@ -1,6 +1,6 @@ asn1==2.2.0 cryptography>=2.8.0 -cffi>=1.13.0 +cffi>=1.14.0 future==0.18.2 itsdangerous==0.24 pbr==1.10.0 diff --git a/requirements.txt b/requirements.txt index 09e1e8e2..08bea14c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ # asn1==2.2.0 # via -r requirements.in certifi==2018.11.29 # via requests -cffi==1.13.0 # via -r requirements.in, cryptography +cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests cryptography==2.8 # via -r requirements.in, pyopenssl deprecated==1.2.6 # via -r requirements.in From e514fbc5cb303678804dabba470d038c584156cf Mon Sep 17 00:00:00 2001 From: echarrod Date: Mon, 8 Jun 2020 14:10:13 +0100 Subject: [PATCH 05/24] SDK-1589: Update Attibute Issuance Expiry Date format to be milliseconds, not microseconds; update version --- sonar-project.properties | 2 +- .../third_party_attribute_extension.py | 31 ++++++- .../test_third_party_attribute_extension.py | 85 ++++++++++++++++++- yoti_python_sdk/version.py | 2 +- 4 files changed, 111 insertions(+), 9 deletions(-) diff --git a/sonar-project.properties b/sonar-project.properties index 4869bb67..491aea13 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,7 +2,7 @@ sonar.host.url = https://sonarcloud.io sonar.organization = getyoti sonar.projectKey = getyoti:python sonar.projectName = Python SDK -sonar.projectVersion = 2.12.0 +sonar.projectVersion = 2.12.1 sonar.exclusions = yoti_python_sdk/tests/**,examples/**,yoti_python_sdk/protobuf/**/* sonar.python.pylint.reportPath = coverage.out diff --git a/yoti_python_sdk/dynamic_sharing_service/extension/third_party_attribute_extension.py b/yoti_python_sdk/dynamic_sharing_service/extension/third_party_attribute_extension.py index 6299f05f..64ec5551 100644 --- a/yoti_python_sdk/dynamic_sharing_service/extension/third_party_attribute_extension.py +++ b/yoti_python_sdk/dynamic_sharing_service/extension/third_party_attribute_extension.py @@ -1,23 +1,46 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals + import copy +import pytz + class ThirdPartyAttributeExtension(object): THIRDPARTY_ATTRIBUTE = "THIRD_PARTY_ATTRIBUTE" def __init__(self): - self.__extension = {} - self.__extension["type"] = self.THIRDPARTY_ATTRIBUTE - self.__extension["content"] = {"expiry_date": None, "definitions": []} + self.__extension = { + "type": self.THIRDPARTY_ATTRIBUTE, + "content": {"expiry_date": None, "definitions": []}, + } def with_expiry_date(self, expiry_date): - self.__extension["content"]["expiry_date"] = expiry_date.isoformat() + """ + :param expiry_date: Expiry date for the attribute. If no timezone info is provided, UTC will be used. + :type expiry_date: datetime + """ + if expiry_date.tzinfo is None: + expiry_date = expiry_date.replace(tzinfo=pytz.UTC) + + utc_time = expiry_date.astimezone(pytz.utc) + rfc_3339_milliseconds = utc_time.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + self.__extension["content"]["expiry_date"] = rfc_3339_milliseconds + "Z" return self def with_definitions(self, *names): + """ + :param names: attribute definitions + :type names: str or list[str] + """ self.__extension["content"]["definitions"].extend([{"name": s} for s in names]) return self def build(self): + """ + Builds the object + + :return: the third party attribute + :rtype: ThirdPartyAttributeExtension + """ return copy.deepcopy(self.__extension) diff --git a/yoti_python_sdk/tests/dynamic_sharing_service/extension/test_third_party_attribute_extension.py b/yoti_python_sdk/tests/dynamic_sharing_service/extension/test_third_party_attribute_extension.py index 088a47ae..7c7a57ae 100644 --- a/yoti_python_sdk/tests/dynamic_sharing_service/extension/test_third_party_attribute_extension.py +++ b/yoti_python_sdk/tests/dynamic_sharing_service/extension/test_third_party_attribute_extension.py @@ -2,6 +2,10 @@ from __future__ import unicode_literals from datetime import datetime + +import pytest +import pytz + from yoti_python_sdk.dynamic_sharing_service.extension.third_party_attribute_extension import ( ThirdPartyAttributeExtension, ) @@ -19,7 +23,7 @@ def test_should_create_extension(): ) assert extension["type"] == ThirdPartyAttributeExtension.THIRDPARTY_ATTRIBUTE - assert extension["content"]["expiry_date"] == "2019-10-30T12:10:09.458000" + assert extension["content"]["expiry_date"] == "2019-10-30T12:10:09.458Z" assert extension["content"]["definitions"][0]["name"] == DEFINITION @@ -38,7 +42,7 @@ def test_with_definition_should_add_to_list(): ) assert extension["type"] == ThirdPartyAttributeExtension.THIRDPARTY_ATTRIBUTE - assert extension["content"]["expiry_date"] == "2019-10-30T12:10:09.458000" + assert extension["content"]["expiry_date"] == "2019-10-30T12:10:09.458Z" assert extension["content"]["definitions"][0]["name"] == DEFINITION1 assert extension["content"]["definitions"][1]["name"] == DEFINITION2 @@ -58,7 +62,82 @@ def test_with_definition_should_add_multiple(): ) assert extension["type"] == ThirdPartyAttributeExtension.THIRDPARTY_ATTRIBUTE - assert extension["content"]["expiry_date"] == "2019-10-30T12:10:09.458000" + assert extension["content"]["expiry_date"] == "2019-10-30T12:10:09.458Z" assert extension["content"]["definitions"][0]["name"] == DEFINITION1 assert extension["content"]["definitions"][1]["name"] == DEFINITION2 + + +@pytest.mark.parametrize( + "expiry_date, expected_value", + [ + ( + datetime(2051, 1, 13, 19, 50, 53, 1, tzinfo=pytz.utc), + "2051-01-13T19:50:53.000Z", + ), + ( + datetime(2026, 2, 2, 22, 4, 5, 123, tzinfo=pytz.utc), + "2026-02-02T22:04:05.000Z", + ), + ( + datetime(2051, 4, 13, 19, 50, 53, 999, tzinfo=pytz.utc), + "2051-04-13T19:50:53.000Z", + ), + ( + datetime(2026, 1, 31, 22, 4, 5, 1232, tzinfo=pytz.utc), + "2026-01-31T22:04:05.001Z", + ), + ( + datetime(2026, 1, 31, 22, 4, 5, 17777, tzinfo=pytz.utc), + "2026-01-31T22:04:05.017Z", + ), + ( + datetime(2019, 10, 30, 12, 10, 9, int(458e3), tzinfo=pytz.utc), + "2019-10-30T12:10:09.458Z", + ), + ( + datetime(2026, 1, 2, 22, 4, 5, 123456, tzinfo=pytz.utc), + "2026-01-02T22:04:05.123Z", + ), + ], +) +def test_should_format_utc_expiry_dates_correctly(expiry_date, expected_value): + DEFINITION = "some_value" + + extension = ( + ThirdPartyAttributeExtension() + .with_expiry_date(expiry_date) + .with_definitions(DEFINITION) + .build() + ) + + assert extension["content"]["expiry_date"] == expected_value + + +@pytest.mark.parametrize( + "expiry_date, tz_name", + [ + (datetime(2030, 6, 6, 8, 0, 0, 0), "US/Eastern",), + (datetime(2030, 6, 6, 15, 0, 0, 0), "Europe/Moscow",), + (datetime(2030, 6, 6, 7, 0, 0, 0), "America/Jamaica",), + (datetime(2030, 6, 6, 23, 0, 0, 0), "Etc/GMT-11"), + (datetime(2030, 6, 6, 7, 0, 0, 0), "Etc/GMT+5"), + # In order to conform with the POSIX style, those zones beginning + # with "Etc/GMT" have their sign reversed from what most people expect. In this style, zones west of GMT have + # a positive sign and those east have a negative sign. + ], +) +def test_should_format_localized_expiry_dates(expiry_date, tz_name): + DEFINITION = "some_value" + + tz = pytz.timezone(tz_name) + localized_expiry_date = tz.localize(expiry_date) + + extension = ( + ThirdPartyAttributeExtension() + .with_expiry_date(localized_expiry_date) + .with_definitions(DEFINITION) + .build() + ) + + assert extension["content"]["expiry_date"] == "2030-06-06T12:00:00.000Z" diff --git a/yoti_python_sdk/version.py b/yoti_python_sdk/version.py index 3c62c652..ad24c607 100644 --- a/yoti_python_sdk/version.py +++ b/yoti_python_sdk/version.py @@ -1,2 +1,2 @@ # -*- coding: utf-8 -*- -__version__ = "2.12.0" +__version__ = "2.12.1" From fd9076e155ee75b749a7d34599aecd5242d71f37 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Wed, 10 Jun 2020 07:20:09 +0000 Subject: [PATCH 06/24] Bump deprecated from 1.2.6 to 1.2.10 Bumps [deprecated](https://github.com/tantale/deprecated) from 1.2.6 to 1.2.10. - [Release notes](https://github.com/tantale/deprecated/releases) - [Changelog](https://github.com/tantale/deprecated/blob/master/CHANGELOG.rst) - [Commits](https://github.com/tantale/deprecated/compare/v1.2.6...v1.2.10) Signed-off-by: dependabot-preview[bot] --- requirements.in | 2 +- requirements.txt | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.in b/requirements.in index d0afce0e..4f47bc70 100644 --- a/requirements.in +++ b/requirements.in @@ -10,6 +10,6 @@ PyYAML==5.2 # PyYAML 5.3 does not support Python 3.4 pytz==2020.1 requests>=2.20.0 urllib3>=1.24.3 -deprecated==1.2.6 +deprecated==1.2.10 wheel==0.24.0 iso8601==0.1.12 diff --git a/requirements.txt b/requirements.txt index 08bea14c..9b400355 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ certifi==2018.11.29 # via requests cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests cryptography==2.8 # via -r requirements.in, pyopenssl -deprecated==1.2.6 # via -r requirements.in +deprecated==1.2.10 # via -r requirements.in future==0.18.2 # via -r requirements.in idna==2.7 # via requests iso8601==0.1.12 # via -r requirements.in diff --git a/setup.py b/setup.py index e6148705..b0a0aa0a 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ author="Yoti", author_email="websdk@yoti.com", install_requires=[ - "deprecated==1.2.6", + "deprecated==1.2.10", "cryptography>=2.2.1", "protobuf>=3.1.0", "requests>=2.11.1", From 7be86d62da8a1142bcf3556357fa0578e19885c6 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 11 Jun 2020 07:10:58 +0000 Subject: [PATCH 07/24] Bump asn1 from 2.2.0 to 2.3.1 Bumps [asn1](https://github.com/andrivet/python-asn1) from 2.2.0 to 2.3.1. - [Release notes](https://github.com/andrivet/python-asn1/releases) - [Changelog](https://github.com/andrivet/python-asn1/blob/master/CHANGELOG.rst) - [Commits](https://github.com/andrivet/python-asn1/commits) Signed-off-by: dependabot-preview[bot] --- requirements.in | 2 +- requirements.txt | 3 ++- setup.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/requirements.in b/requirements.in index 4f47bc70..3f055a63 100644 --- a/requirements.in +++ b/requirements.in @@ -1,4 +1,4 @@ -asn1==2.2.0 +asn1==2.3.1 cryptography>=2.8.0 cffi>=1.14.0 future==0.18.2 diff --git a/requirements.txt b/requirements.txt index 9b400355..66f28516 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,12 +4,13 @@ # # pip-compile --output-file=requirements.txt requirements.in # -asn1==2.2.0 # via -r requirements.in +asn1==2.3.1 # via -r requirements.in certifi==2018.11.29 # via requests cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests cryptography==2.8 # via -r requirements.in, pyopenssl deprecated==1.2.10 # via -r requirements.in +enum34==1.1.10 # via asn1 future==0.18.2 # via -r requirements.in idna==2.7 # via requests iso8601==0.1.12 # via -r requirements.in diff --git a/setup.py b/setup.py index b0a0aa0a..7c3f90b8 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ "protobuf>=3.1.0", "requests>=2.11.1", "future>=0.11.0", - "asn1==2.2.0", + "asn1==2.3.1", "pyopenssl>=18.0.0", "iso8601==0.1.12", ], From 36b556717370908c6a4ae022bf8dc877ab51e57b Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2020 07:10:17 +0000 Subject: [PATCH 08/24] Bump protobuf from 3.11.3 to 3.12.2 Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 3.11.3 to 3.12.2. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py) - [Commits](https://github.com/protocolbuffers/protobuf/compare/v3.11.3...v3.12.2) Signed-off-by: dependabot-preview[bot] --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 3f055a63..0307ea82 100644 --- a/requirements.in +++ b/requirements.in @@ -4,7 +4,7 @@ cffi>=1.14.0 future==0.18.2 itsdangerous==0.24 pbr==1.10.0 -protobuf==3.11.3 +protobuf==3.12.2 pyopenssl==18.0.0 PyYAML==5.2 # PyYAML 5.3 does not support Python 3.4 pytz==2020.1 diff --git a/requirements.txt b/requirements.txt index 66f28516..58a63000 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ idna==2.7 # via requests iso8601==0.1.12 # via -r requirements.in itsdangerous==0.24 # via -r requirements.in pbr==1.10.0 # via -r requirements.in -protobuf==3.11.3 # via -r requirements.in +protobuf==3.12.2 # via -r requirements.in pycparser==2.18 # via cffi pyopenssl==18.0.0 # via -r requirements.in pytz==2020.1 # via -r requirements.in From d2e2771208121064fb8aa15b36f1031a1cb4d97d Mon Sep 17 00:00:00 2001 From: echarrod Date: Tue, 16 Jun 2020 09:09:53 +0100 Subject: [PATCH 09/24] Update required pytest version, to avoid transitive "pytest >=4.6" condition not being satisfied --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7c3f90b8..e2a1b3dd 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ ], "dev": [ "pre-commit==1.17.0", - "pytest>=3.6.0", + "pytest>=4.6.0", "pytest-cov>=2.7.1", "pylint==1.9.4", "pylint-exit>=1.1.0", From 92e9ad6b7dc706f513ce00226fa75708af49d8a8 Mon Sep 17 00:00:00 2001 From: echarrod Date: Tue, 16 Jun 2020 09:45:04 +0100 Subject: [PATCH 10/24] Update pyopenssl --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 0307ea82..38919b13 100644 --- a/requirements.in +++ b/requirements.in @@ -5,7 +5,7 @@ future==0.18.2 itsdangerous==0.24 pbr==1.10.0 protobuf==3.12.2 -pyopenssl==18.0.0 +pyopenssl==19.1.0 PyYAML==5.2 # PyYAML 5.3 does not support Python 3.4 pytz==2020.1 requests>=2.20.0 diff --git a/requirements.txt b/requirements.txt index 58a63000..550217b9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,7 @@ itsdangerous==0.24 # via -r requirements.in pbr==1.10.0 # via -r requirements.in protobuf==3.12.2 # via -r requirements.in pycparser==2.18 # via cffi -pyopenssl==18.0.0 # via -r requirements.in +pyopenssl==19.1.0 # via -r requirements.in pytz==2020.1 # via -r requirements.in pyyaml==5.2 # via -r requirements.in requests==2.21.0 # via -r requirements.in From 20e1e3fb63016ecc13a3f6d3bcd4704f5bc7e90b Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 11:59:53 +0100 Subject: [PATCH 11/24] SDK-1600: Update wheel version --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 38919b13..55568a50 100644 --- a/requirements.in +++ b/requirements.in @@ -11,5 +11,5 @@ pytz==2020.1 requests>=2.20.0 urllib3>=1.24.3 deprecated==1.2.10 -wheel==0.24.0 +wheel==0.34.2 iso8601==0.1.12 diff --git a/requirements.txt b/requirements.txt index 550217b9..af08514c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,7 +24,7 @@ pyyaml==5.2 # via -r requirements.in requests==2.21.0 # via -r requirements.in six==1.10.0 # via cryptography, protobuf, pyopenssl urllib3==1.24.3 # via -r requirements.in, requests -wheel==0.24.0 # via -r requirements.in +wheel==0.34.2 # via -r requirements.in wrapt==1.11.2 # via deprecated # The following packages are considered to be unsafe in a requirements file: From 3e78a074ad0ddbb80fd8f5dab24462c0b2cbea37 Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 12:16:00 +0100 Subject: [PATCH 12/24] SDK-1600: Use README.md for package long_description --- setup.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index e2a1b3dd..c3c18614 100644 --- a/setup.py +++ b/setup.py @@ -2,13 +2,6 @@ from setuptools import find_packages from setuptools import setup -long_description = ( - "This package contains the tools you need to quickly " - "integrate your Python back-end with Yoti, so that your " - "users can share their identity details with your " - "application in a secure and trusted way." -) - version = {} with open("yoti_python_sdk/version.py") as fp: exec(fp.read(), version) @@ -19,7 +12,8 @@ packages=find_packages(include=["yoti_python_sdk", "yoti_python_sdk.*"]), license="MIT", description="The Yoti Python SDK, providing API support for Login, Verify (2FA) and Age Verification.", - long_description=long_description, + long_description=open("README.md").read(), + long_description_content_type="text/markdown", url="https://github.com/getyoti/yoti-python-sdk", author="Yoti", author_email="websdk@yoti.com", From 4b2bac4ccc22c1d01ee40ff1311667f4ce241145 Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 12:19:57 +0100 Subject: [PATCH 13/24] SDK-1600: Use 0.33.6 for Python 3.4 compatibility --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 55568a50..8ecf073b 100644 --- a/requirements.in +++ b/requirements.in @@ -11,5 +11,5 @@ pytz==2020.1 requests>=2.20.0 urllib3>=1.24.3 deprecated==1.2.10 -wheel==0.34.2 +wheel==0.33.6 iso8601==0.1.12 diff --git a/requirements.txt b/requirements.txt index af08514c..ecfcf738 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,7 +24,7 @@ pyyaml==5.2 # via -r requirements.in requests==2.21.0 # via -r requirements.in six==1.10.0 # via cryptography, protobuf, pyopenssl urllib3==1.24.3 # via -r requirements.in, requests -wheel==0.34.2 # via -r requirements.in +wheel==0.33.6 # via -r requirements.in wrapt==1.11.2 # via deprecated # The following packages are considered to be unsafe in a requirements file: From bf4aaaa5a99bd75cb21de103ef312510f9ec66ca Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 12:45:34 +0100 Subject: [PATCH 14/24] SDK-1390: Remove coveralls step --- .travis.yml | 13 +------------ README.md | 1 - 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 07e16563..a246197d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,18 +38,7 @@ jobs: python: "3.8-dev" - <<: *test python: "3.8" - - <<: *test - stage: Coverage - name: Coveralls - python: "3.7" - install: - - pip install -r requirements.txt - - pip install -e .[dev] - script: - - pytest --cov=yoti_python_sdk yoti_python_sdk/tests - if: type = pull_request OR branch = master - after_success: - - coveralls + - stage: Analyze name: Sonarcloud dist: trusty diff --git a/README.md b/README.md index fc7a206f..956065e4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Yoti Python SDK # [![Build Status](https://travis-ci.com/getyoti/yoti-python-sdk.svg?branch=master)](https://travis-ci.com/getyoti/yoti-python-sdk) -[![Coverage Status](https://coveralls.io/repos/github/getyoti/yoti-python-sdk/badge.svg?branch=master)](https://coveralls.io/github/getyoti/yoti-python-sdk?branch=master) Welcome to the Yoti Python SDK. This repo contains the tools and step by step instructions you need to quickly integrate your Python back-end with Yoti so that your users can share their identity details with your application in a secure and trusted way. From 03dfe78ca36664e9eeedddb21349062cb3ccc18b Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 12:45:54 +0100 Subject: [PATCH 15/24] SDK-1390: Add sonarcloud badges --- .travis.yml | 2 +- README.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a246197d..0fc2d951 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,7 @@ jobs: - stage: Analyze name: Sonarcloud dist: trusty - python: "3.6.1" + python: "3.8" addons: sonarcloud: organization: "getyoti" diff --git a/README.md b/README.md index 956065e4..317f6b1c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ # Yoti Python SDK # [![Build Status](https://travis-ci.com/getyoti/yoti-python-sdk.svg?branch=master)](https://travis-ci.com/getyoti/yoti-python-sdk) +[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=getyoti%3Apython&metric=coverage)](https://sonarcloud.io/dashboard?id=getyoti%3Apython) +[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=getyoti%3Apython&metric=bugs)](https://sonarcloud.io/dashboard?id=getyoti%3Apython) +[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=getyoti%3Apython&metric=code_smells)](https://sonarcloud.io/dashboard?id=getyoti%3Apython) +[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=getyoti%3Apython&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=getyoti%3Apython) Welcome to the Yoti Python SDK. This repo contains the tools and step by step instructions you need to quickly integrate your Python back-end with Yoti so that your users can share their identity details with your application in a secure and trusted way. From e8e840998e160fedb5a34c373bb02656261d8f38 Mon Sep 17 00:00:00 2001 From: Ed Harrod Date: Wed, 17 Jun 2020 14:31:58 +0100 Subject: [PATCH 16/24] SDK-1390: Don't use trusty dist for Travis Sonar --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0fc2d951..51d2c9d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,7 +41,6 @@ jobs: - stage: Analyze name: Sonarcloud - dist: trusty python: "3.8" addons: sonarcloud: From 7631975214b71ad5234bfdbe9333ff04679106b3 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2020 09:56:06 +0000 Subject: [PATCH 17/24] Update Dependabot config file --- .dependabot/config.yml | 13 --------- .github/dependabot.yml | 60 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 13 deletions(-) delete mode 100644 .dependabot/config.yml create mode 100644 .github/dependabot.yml diff --git a/.dependabot/config.yml b/.dependabot/config.yml deleted file mode 100644 index c36f00d1..00000000 --- a/.dependabot/config.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: 1 -update_configs: - - package_manager: "python" - directory: "/" - update_schedule: "live" - target_branch: "development" - - default_reviewers: - - "echarrod" - - "davidgrayston" - - "MrBurtyyy" - - default_assignees: ["echarrod"] diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..629c5ecb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,60 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 3 + target-branch: development + reviewers: + - echarrod + - davidgrayston + - MrBurtyyy + assignees: + - echarrod + ignore: + - dependency-name: coverage + versions: + - "> 4.5.4" + - dependency-name: cryptography + versions: + - "> 2.8" + - dependency-name: itsdangerous + versions: + - ">= 1.a, < 2" + - dependency-name: mock + versions: + - "> 2.0.0" + - dependency-name: pbr + versions: + - ">= 3.a, < 4" + - dependency-name: pbr + versions: + - ">= 4.a, < 5" + - dependency-name: pbr + versions: + - ">= 5.a, < 6" + - dependency-name: pre-commit + versions: + - ">= 2.a, < 3" + - dependency-name: pylint + versions: + - "> 1.9.4" + - dependency-name: pyopenssl + versions: + - "> 18.0.0" + - dependency-name: pytz + versions: + - ">= 2019.a, < 2020" + - dependency-name: pyyaml + versions: + - "> 5.2" + - dependency-name: requests + versions: + - "> 2.21.0" + - dependency-name: virtualenv + versions: + - "> 20.0.13, < 20.1" + - dependency-name: wheel + versions: + - "> 0.24.0, < 1" From a3176df77eebc2f38dcbf23d799d34bdec1a24de Mon Sep 17 00:00:00 2001 From: Ed Harrod Date: Wed, 17 Jun 2020 21:02:20 +0100 Subject: [PATCH 18/24] Remove dependabot "ignore"s, update reviewers --- .github/dependabot.yml | 47 ------------------------------------------ 1 file changed, 47 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 629c5ecb..466e6d29 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,52 +9,5 @@ updates: reviewers: - echarrod - davidgrayston - - MrBurtyyy assignees: - echarrod - ignore: - - dependency-name: coverage - versions: - - "> 4.5.4" - - dependency-name: cryptography - versions: - - "> 2.8" - - dependency-name: itsdangerous - versions: - - ">= 1.a, < 2" - - dependency-name: mock - versions: - - "> 2.0.0" - - dependency-name: pbr - versions: - - ">= 3.a, < 4" - - dependency-name: pbr - versions: - - ">= 4.a, < 5" - - dependency-name: pbr - versions: - - ">= 5.a, < 6" - - dependency-name: pre-commit - versions: - - ">= 2.a, < 3" - - dependency-name: pylint - versions: - - "> 1.9.4" - - dependency-name: pyopenssl - versions: - - "> 18.0.0" - - dependency-name: pytz - versions: - - ">= 2019.a, < 2020" - - dependency-name: pyyaml - versions: - - "> 5.2" - - dependency-name: requests - versions: - - "> 2.21.0" - - dependency-name: virtualenv - versions: - - "> 20.0.13, < 20.1" - - dependency-name: wheel - versions: - - "> 0.24.0, < 1" From ced4bff4a4e2f50bf3821e66a269f181e50aaa41 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2020 10:47:04 +0000 Subject: [PATCH 19/24] Update packages --- examples/aml/requirements.txt | 2 +- examples/doc_scan/requirements.in | 4 ++-- examples/doc_scan/requirements.txt | 2 +- examples/yoti_example_django/requirements.in | 8 +++---- examples/yoti_example_django/requirements.txt | 23 ++++++++++-------- examples/yoti_example_flask/requirements.in | 7 +++--- examples/yoti_example_flask/requirements.txt | 24 ++++++++++--------- requirements.in | 2 +- requirements.txt | 2 +- setup.py | 8 +++---- 10 files changed, 44 insertions(+), 38 deletions(-) diff --git a/examples/aml/requirements.txt b/examples/aml/requirements.txt index d7e69aa0..c9c68e0f 100644 --- a/examples/aml/requirements.txt +++ b/examples/aml/requirements.txt @@ -1,2 +1,2 @@ -yoti>=2.9.0 +yoti>=2.12.1 python-dotenv>=0.7.1 diff --git a/examples/doc_scan/requirements.in b/examples/doc_scan/requirements.in index d42ad858..b492310f 100644 --- a/examples/doc_scan/requirements.in +++ b/examples/doc_scan/requirements.in @@ -1,5 +1,5 @@ flask>=1.1.2 python-dotenv>=0.13.0 -yoti>=2.11.2 +yoti>=2.12.1 filetype>=1.0.7 -pyopenssl>=19.1.0 \ No newline at end of file +pyopenssl>=19.1.0 diff --git a/examples/doc_scan/requirements.txt b/examples/doc_scan/requirements.txt index 052d6cf6..429a56a7 100644 --- a/examples/doc_scan/requirements.txt +++ b/examples/doc_scan/requirements.txt @@ -28,7 +28,7 @@ six==1.14.0 # via cryptography, protobuf, pyopenssl urllib3==1.25.9 # via requests werkzeug==1.0.1 # via flask wrapt==1.12.1 # via deprecated -yoti==2.11.2 # via -r requirements.in +yoti==2.12.1 # via -r requirements.in # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/examples/yoti_example_django/requirements.in b/examples/yoti_example_django/requirements.in index f94b8554..f0440793 100644 --- a/examples/yoti_example_django/requirements.in +++ b/examples/yoti_example_django/requirements.in @@ -1,7 +1,7 @@ -cryptography>=2.3 -Django==2.2.8 -django-sslserver>=0.2.0 +cryptography>=2.9.2 +django>=3.0.7 +django-sslserver>=0.22.0 python-dotenv>=0.7.1 requests>=2.20.0 urllib3>=1.24.2 -yoti>=2.9.0 +yoti>=2.12.1 diff --git a/examples/yoti_example_django/requirements.txt b/examples/yoti_example_django/requirements.txt index 581cb3a9..e9d86d02 100644 --- a/examples/yoti_example_django/requirements.txt +++ b/examples/yoti_example_django/requirements.txt @@ -4,26 +4,29 @@ # # pip-compile --output-file=requirements.txt requirements.in # +asgiref==3.2.9 # via django asn1==2.2.0 # via yoti -asn1crypto==0.24.0 # via cryptography certifi==2018.4.16 # via requests -cffi==1.11.5 # via cryptography +cffi==1.14.0 # via cryptography chardet==3.0.4 # via requests -cryptography==2.5 -django-sslserver==0.20 -django==2.2.8 +cryptography==2.9.2 # via -r requirements.in, pyopenssl, yoti +deprecated==1.2.6 # via yoti +django-sslserver==0.22 # via -r requirements.in +django==3.0.7 # via -r requirements.in, django-sslserver future==0.16.0 # via yoti idna==2.7 # via requests +iso8601==0.1.12 # via yoti protobuf==3.6.0 # via yoti pycparser==2.18 # via cffi pyopenssl==18.0.0 # via yoti -python-dotenv==0.8.2 +python-dotenv==0.8.2 # via -r requirements.in pytz==2018.4 # via django -requests==2.21.0 +requests==2.21.0 # via -r requirements.in, yoti six==1.11.0 # via cryptography, protobuf, pyopenssl sqlparse==0.3.0 # via django -urllib3==1.24.2 -yoti==2.9.0 +urllib3==1.24.2 # via -r requirements.in, requests +wrapt==1.12.1 # via deprecated +yoti==2.12.1 # via -r requirements.in # The following packages are considered to be unsafe in a requirements file: -# setuptools==41.2.0 # via django-sslserver, protobuf +# setuptools diff --git a/examples/yoti_example_flask/requirements.in b/examples/yoti_example_flask/requirements.in index cdfdf9b1..da3a26df 100644 --- a/examples/yoti_example_flask/requirements.in +++ b/examples/yoti_example_flask/requirements.in @@ -1,8 +1,9 @@ -cryptography>=2.3 -Flask>=1.0.4 +cryptography>=2.9.2 +flask>=1.0.4 jinja2>=2.8.1 pyopenssl>=19.0.0 python-dotenv>=0.7.1 requests>=2.20.0 urllib3>=1.24.2 -yoti>=2.9.0 +yoti>=2.12.1 +werkzeug>=1.0.1 diff --git a/examples/yoti_example_flask/requirements.txt b/examples/yoti_example_flask/requirements.txt index 066cc3eb..86b2bdea 100644 --- a/examples/yoti_example_flask/requirements.txt +++ b/examples/yoti_example_flask/requirements.txt @@ -5,27 +5,29 @@ # pip-compile --output-file=requirements.txt requirements.in # asn1==2.2.0 # via yoti -asn1crypto==0.24.0 # via cryptography certifi==2018.4.16 # via requests cffi==1.11.5 # via cryptography chardet==3.0.4 # via requests click==6.7 # via flask -cryptography==2.5 -flask==1.1.1 +cryptography==2.9.2 # via -r requirements.in, pyopenssl, yoti +deprecated==1.2.6 # via yoti +flask==1.1.1 # via -r requirements.in future==0.16.0 # via yoti idna==2.7 # via requests +iso8601==0.1.12 # via yoti itsdangerous==0.24 # via flask -jinja2==2.10.1 +jinja2==2.10.1 # via -r requirements.in, flask markupsafe==1.0 # via jinja2 protobuf==3.6.0 # via yoti pycparser==2.18 # via cffi -pyopenssl==19.0.0 -python-dotenv==0.8.2 -requests==2.21.0 +pyopenssl==19.0.0 # via -r requirements.in, yoti +python-dotenv==0.8.2 # via -r requirements.in +requests==2.21.0 # via -r requirements.in, yoti six==1.11.0 # via cryptography, protobuf, pyopenssl -urllib3==1.24.2 -werkzeug==0.15.5 # via flask -yoti==2.9.0 +urllib3==1.24.2 # via -r requirements.in, requests +werkzeug==1.0.1 # via -r requirements.in, flask +wrapt==1.12.1 # via deprecated +yoti==2.12.1 # via -r requirements.in # The following packages are considered to be unsafe in a requirements file: -# setuptools==41.2.0 # via protobuf +# setuptools diff --git a/requirements.in b/requirements.in index 8ecf073b..557134cb 100644 --- a/requirements.in +++ b/requirements.in @@ -1,5 +1,5 @@ asn1==2.3.1 -cryptography>=2.8.0 +cryptography>=2.9.2 cffi>=1.14.0 future==0.18.2 itsdangerous==0.24 diff --git a/requirements.txt b/requirements.txt index ecfcf738..8676faa3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ asn1==2.3.1 # via -r requirements.in certifi==2018.11.29 # via requests cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests -cryptography==2.8 # via -r requirements.in, pyopenssl +cryptography==2.9.2 # via -r requirements.in, pyopenssl deprecated==1.2.10 # via -r requirements.in enum34==1.1.10 # via asn1 future==0.18.2 # via -r requirements.in diff --git a/setup.py b/setup.py index c3c18614..02a18e42 100644 --- a/setup.py +++ b/setup.py @@ -29,11 +29,11 @@ ], extras_require={ "examples": [ - "Django>1.11.16", - "Flask>=0.10", + "Django>=3.0.7", + "Flask>=1.0.4", "python-dotenv>=0.7.1", - "django-sslserver>=0.2", - "Werkzeug==0.15.3", + "django-sslserver>=0.22.0", + "Werkzeug==1.0.1", ], "dev": [ "pre-commit==1.17.0", From 51f950390909356a8b9fca9c449b28474592350d Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 18:44:09 +0100 Subject: [PATCH 20/24] SDK-1619: Add example checking to Travis --- .travis.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.travis.yml b/.travis.yml index 51d2c9d4..ab63218b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,28 @@ jobs: - <<: *test python: "3.8" + - stage: Check Examples + name: AML + python: "3.8" + script: + - cd ./examples/aml + - pip install -r requirements.txt + - name: Django + python: "3.8" + script: + - cd ./examples/yoti_example_django + - pip install -r requirements.txt + - name: Flask + python: "3.8" + script: + - cd ./examples/yoti_example_flask + - pip install -r requirements.txt + - name: Doc Scan + python: "3.8" + script: + - cd ./examples/doc_scan + - pip install -r requirements.txt + - stage: Analyze name: Sonarcloud python: "3.8" From 03d4ce4481abfafd4f7f66e9ad06f4d7bdc89fee Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 18:46:35 +0100 Subject: [PATCH 21/24] Use cryptography 2.8.0 - last one compatible with Python 3.4 --- examples/yoti_example_django/requirements.in | 1 - examples/yoti_example_django/requirements.txt | 2 +- examples/yoti_example_flask/requirements.in | 1 - examples/yoti_example_flask/requirements.txt | 2 +- requirements.in | 2 +- requirements.txt | 2 +- 6 files changed, 4 insertions(+), 6 deletions(-) diff --git a/examples/yoti_example_django/requirements.in b/examples/yoti_example_django/requirements.in index f0440793..51255998 100644 --- a/examples/yoti_example_django/requirements.in +++ b/examples/yoti_example_django/requirements.in @@ -1,4 +1,3 @@ -cryptography>=2.9.2 django>=3.0.7 django-sslserver>=0.22.0 python-dotenv>=0.7.1 diff --git a/examples/yoti_example_django/requirements.txt b/examples/yoti_example_django/requirements.txt index e9d86d02..d1341e17 100644 --- a/examples/yoti_example_django/requirements.txt +++ b/examples/yoti_example_django/requirements.txt @@ -9,7 +9,7 @@ asn1==2.2.0 # via yoti certifi==2018.4.16 # via requests cffi==1.14.0 # via cryptography chardet==3.0.4 # via requests -cryptography==2.9.2 # via -r requirements.in, pyopenssl, yoti +cryptography==2.9.2 # via pyopenssl, yoti deprecated==1.2.6 # via yoti django-sslserver==0.22 # via -r requirements.in django==3.0.7 # via -r requirements.in, django-sslserver diff --git a/examples/yoti_example_flask/requirements.in b/examples/yoti_example_flask/requirements.in index da3a26df..b4d84755 100644 --- a/examples/yoti_example_flask/requirements.in +++ b/examples/yoti_example_flask/requirements.in @@ -1,4 +1,3 @@ -cryptography>=2.9.2 flask>=1.0.4 jinja2>=2.8.1 pyopenssl>=19.0.0 diff --git a/examples/yoti_example_flask/requirements.txt b/examples/yoti_example_flask/requirements.txt index 86b2bdea..ca281d3f 100644 --- a/examples/yoti_example_flask/requirements.txt +++ b/examples/yoti_example_flask/requirements.txt @@ -9,7 +9,7 @@ certifi==2018.4.16 # via requests cffi==1.11.5 # via cryptography chardet==3.0.4 # via requests click==6.7 # via flask -cryptography==2.9.2 # via -r requirements.in, pyopenssl, yoti +cryptography==2.9.2 # via pyopenssl, yoti deprecated==1.2.6 # via yoti flask==1.1.1 # via -r requirements.in future==0.16.0 # via yoti diff --git a/requirements.in b/requirements.in index 557134cb..29173531 100644 --- a/requirements.in +++ b/requirements.in @@ -1,5 +1,5 @@ asn1==2.3.1 -cryptography>=2.9.2 +cryptography==2.8.0 cffi>=1.14.0 future==0.18.2 itsdangerous==0.24 diff --git a/requirements.txt b/requirements.txt index 8676faa3..ecfcf738 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ asn1==2.3.1 # via -r requirements.in certifi==2018.11.29 # via requests cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests -cryptography==2.9.2 # via -r requirements.in, pyopenssl +cryptography==2.8 # via -r requirements.in, pyopenssl deprecated==1.2.10 # via -r requirements.in enum34==1.1.10 # via asn1 future==0.18.2 # via -r requirements.in From dd337165e63a7e429e1a4552fa9effc6c2c9da05 Mon Sep 17 00:00:00 2001 From: echarrod Date: Wed, 17 Jun 2020 19:11:16 +0100 Subject: [PATCH 22/24] Specify cffi>=1.1.4.0 for flask example --- examples/yoti_example_flask/requirements.in | 1 + examples/yoti_example_flask/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/yoti_example_flask/requirements.in b/examples/yoti_example_flask/requirements.in index b4d84755..d0683554 100644 --- a/examples/yoti_example_flask/requirements.in +++ b/examples/yoti_example_flask/requirements.in @@ -1,3 +1,4 @@ +cffi>=1.14.0 flask>=1.0.4 jinja2>=2.8.1 pyopenssl>=19.0.0 diff --git a/examples/yoti_example_flask/requirements.txt b/examples/yoti_example_flask/requirements.txt index ca281d3f..bbc8b7b6 100644 --- a/examples/yoti_example_flask/requirements.txt +++ b/examples/yoti_example_flask/requirements.txt @@ -6,7 +6,7 @@ # asn1==2.2.0 # via yoti certifi==2018.4.16 # via requests -cffi==1.11.5 # via cryptography +cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests click==6.7 # via flask cryptography==2.9.2 # via pyopenssl, yoti From 4ae45aca8d08954c134cb34ea15264fc60e99925 Mon Sep 17 00:00:00 2001 From: echarrod Date: Thu, 18 Jun 2020 11:02:14 +0100 Subject: [PATCH 23/24] Revert to asn1 2.2.0 to avoid using enum34 --- requirements.in | 2 +- requirements.txt | 3 +-- setup.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/requirements.in b/requirements.in index 29173531..2385c225 100644 --- a/requirements.in +++ b/requirements.in @@ -1,4 +1,4 @@ -asn1==2.3.1 +asn1==2.2.0 # asn1 2.3.0 introduces enum34 as a dependency, which causes problems on some envs cryptography==2.8.0 cffi>=1.14.0 future==0.18.2 diff --git a/requirements.txt b/requirements.txt index ecfcf738..99048eea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,13 +4,12 @@ # # pip-compile --output-file=requirements.txt requirements.in # -asn1==2.3.1 # via -r requirements.in +asn1==2.2.0 # via -r requirements.in certifi==2018.11.29 # via requests cffi==1.14.0 # via -r requirements.in, cryptography chardet==3.0.4 # via requests cryptography==2.8 # via -r requirements.in, pyopenssl deprecated==1.2.10 # via -r requirements.in -enum34==1.1.10 # via asn1 future==0.18.2 # via -r requirements.in idna==2.7 # via requests iso8601==0.1.12 # via -r requirements.in diff --git a/setup.py b/setup.py index 02a18e42..46d38602 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ "protobuf>=3.1.0", "requests>=2.11.1", "future>=0.11.0", - "asn1==2.3.1", + "asn1==2.2.0", "pyopenssl>=18.0.0", "iso8601==0.1.12", ], From 7e8a6de0da5c885e97cdb368705a8ca09c08091c Mon Sep 17 00:00:00 2001 From: echarrod Date: Thu, 18 Jun 2020 16:07:08 +0100 Subject: [PATCH 24/24] Update version -> 2.12.2 --- sonar-project.properties | 2 +- yoti_python_sdk/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sonar-project.properties b/sonar-project.properties index 491aea13..543119da 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,7 +2,7 @@ sonar.host.url = https://sonarcloud.io sonar.organization = getyoti sonar.projectKey = getyoti:python sonar.projectName = Python SDK -sonar.projectVersion = 2.12.1 +sonar.projectVersion = 2.12.2 sonar.exclusions = yoti_python_sdk/tests/**,examples/**,yoti_python_sdk/protobuf/**/* sonar.python.pylint.reportPath = coverage.out diff --git a/yoti_python_sdk/version.py b/yoti_python_sdk/version.py index ad24c607..953079f5 100644 --- a/yoti_python_sdk/version.py +++ b/yoti_python_sdk/version.py @@ -1,2 +1,2 @@ # -*- coding: utf-8 -*- -__version__ = "2.12.1" +__version__ = "2.12.2"