diff --git a/.github/workflows/sonar.yaml b/.github/workflows/sonar.yaml index f5055259..9d91c4b0 100644 --- a/.github/workflows/sonar.yaml +++ b/.github/workflows/sonar.yaml @@ -1,15 +1,10 @@ name: Sonar Scan -on: [push, pull_request_target] +on: [push, pull_request] jobs: sonar: name: Sonar Scan - runs-on: ubuntu-latest - # always run on push events - # only run on pull_request_target event when pull request pulls from fork repository - if: > - github.event_name == 'push' || - github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 9506b63c..589e42e8 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -1,19 +1,14 @@ name: Unit Tests -on: [push, pull_request_target] +on: [push, pull_request] jobs: test: name: Test (Python ${{ matrix.python-version }}) runs-on: ubuntu-latest - # always run on push events - # only run on pull_request_target event when pull request pulls from fork repository - if: > - github.event_name == 'push' || - github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository strategy: fail-fast: false matrix: - python-version: [3.7, 3.8, 3.9, "3.10"] + python-version: [3.9, "3.10","3.11","3.12"] steps: - uses: actions/checkout@v2 @@ -32,10 +27,7 @@ jobs: examples: name: Check Examples - runs-on: ubuntu-latest - if: > - github.event_name == 'push' || - github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/README.md b/README.md index d50a9736..e75e3377 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ timestamp = activity_details.timestamp base64_selfie_uri = activity_details.base64_selfie_uri ``` + You can retrieve the anchors, sources and verifiers for each attribute as follows: ```python given_names_attribute = profile.given_names @@ -238,3 +239,4 @@ set LIB=C:\OpenSSL-Win64\lib;%LIB% set INCLUDE=C:\OpenSSL-Win64\include;%INCLUDE% ``` Where `OpenSSL-Win64` is the location that you have installed OpenSSL to. See [here](https://cryptography.io/en/latest/installation/#building-cryptography-on-windows) for more information. + diff --git a/examples/doc_scan/requirements.in b/examples/doc_scan/requirements.in index 572ae2b7..da2d3332 100644 --- a/examples/doc_scan/requirements.in +++ b/examples/doc_scan/requirements.in @@ -1,6 +1,13 @@ -flask>=1.1.2 -python-dotenv>=0.13.0 -yoti>=2.14.0 +# Core requirements +flask>=2.2.0 +python-dotenv>=0.21.0 +yoti==2.14.0 filetype>=1.0.7 -pyopenssl>=19.1.0 -six>=1.16.0 \ No newline at end of file +pyopenssl==23.2.0 +click >=8.0 + +# Required for yoti compatibility +deprecated==1.2.10 +iso8601==0.1.13 +pytz==2020.4 + diff --git a/examples/doc_scan/requirements.txt b/examples/doc_scan/requirements.txt index f0dca95c..d5ce9bca 100644 --- a/examples/doc_scan/requirements.txt +++ b/examples/doc_scan/requirements.txt @@ -1,66 +1,81 @@ # -# This file is autogenerated by pip-compile with python 3.10 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile --output-file=requirements.txt requirements.in # asn1==2.2.0 # via yoti + +blinker==1.9.0 + # via flask certifi==2020.4.5.1 # via requests -cffi==1.14.0 +cffi==1.17.1 # via cryptography chardet==3.0.4 # via requests -click==7.1.2 - # via flask -cryptography==3.2 +click==8.1.8 + # via + # -r requirements.in + # flask +cryptography==41.0.7 + # via # pyopenssl # yoti deprecated==1.2.10 - # via yoti + + # via + # -r requirements.in + # yoti filetype==1.0.7 # via -r requirements.in -flask==1.1.2 +flask==3.1.0 # via -r requirements.in -future==0.18.2 +future==1.0.0 # via yoti idna==2.9 # via requests iso8601==0.1.13 - # via yoti -itsdangerous==1.1.0 + + # via + # -r requirements.in + # yoti +itsdangerous==2.2.0 # via flask -jinja2==2.11.2 +jinja2==3.1.6 # via flask -markupsafe==1.1.1 - # via jinja2 +markupsafe==3.0.2 + # via + # jinja2 + # werkzeug + protobuf==3.11.3 # via yoti pycparser==2.20 # via cffi -pyopenssl==19.1.0 + +pyopenssl==23.2.0 # via # -r requirements.in # yoti -python-dotenv==0.13.0 +python-dotenv==1.1.0 # via -r requirements.in pytz==2020.4 - # via yoti -requests==2.23.0 - # via yoti -six==1.16.0 # via # -r requirements.in - # cryptography - # protobuf - # pyopenssl + # yoti +requests==2.23.0 + # via yoti +six==1.14.0 + # via protobuf urllib3==1.25.9 # via requests -werkzeug==1.0.1 +werkzeug==3.1.3 # via flask -wrapt==1.12.1 +wrapt==1.17.2 + # via deprecated yoti==2.14.0 # via -r requirements.in diff --git a/requirements.in b/requirements.in index fc673ed6..5bdc7fe3 100644 --- a/requirements.in +++ b/requirements.in @@ -1,16 +1,16 @@ -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.15.0 -future==0.18.2 -itsdangerous==2.0.1 -pbr==1.10.0 -protobuf==3.19.4 -pyopenssl==19.1.0 -PyYAML==5.2 # PyYAML 5.3 does not support Python 3.4 -pytz==2021.3 -requests>=2.20.0 -urllib3>=1.24.3 -deprecated==1.2.13 -wheel==0.37.1 -iso8601==1.0.2 -six>=1.16.0 \ No newline at end of file +asn1==2.2.0 +cryptography>=41.0.7 +cffi>=1.16.0 +future>=0.18.3 +itsdangerous>=2.1.2 +pbr>=5.11.1 +protobuf==3.20.3 +pyopenssl>=24.0.0 +PyYAML>=6.0 +pytz>=2025.2 +requests>=2.31.0 +urllib3>=2.2.1 +deprecated>=1.2.14 +wheel>=0.41.0 +iso8601>=1.1.0 +wrapt>=1.15.0 diff --git a/requirements.txt b/requirements.txt index 090690a4..ab374aef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,8 @@ # -# This file is autogenerated by pip-compile with python 3.10 -# To update, run: + +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: + # # pip-compile --output-file=requirements.txt requirements.in # @@ -8,50 +10,63 @@ asn1==2.2.0 # via -r requirements.in certifi==2018.11.29 # via requests -cffi==1.15.0 + +cffi==1.17.1 # via # -r requirements.in # cryptography -chardet==3.0.4 +charset-normalizer==3.4.1 # via requests -cryptography==2.8 +cryptography==44.0.2 # via # -r requirements.in # pyopenssl -deprecated==1.2.13 + +deprecated==1.2.18 # via -r requirements.in -future==0.18.2 +future==1.0.0 # via -r requirements.in idna==2.7 # via requests -iso8601==1.0.2 + +iso8601==2.1.0 # via -r requirements.in -itsdangerous==2.0.1 +itsdangerous==2.2.0 + # via -r requirements.in -pbr==1.10.0 +pbr==6.1.1 # via -r requirements.in -protobuf==3.19.4 + +protobuf==3.20.3 + # via -r requirements.in pycparser==2.18 # via cffi -pyopenssl==19.1.0 +pyopenssl==25.0.0 # via -r requirements.in -pytz==2021.3 + +pytz==2025.2 + # via -r requirements.in -pyyaml==5.2 +pyyaml==6.0.2 # via -r requirements.in -requests==2.21.0 +requests==2.32.0 # via -r requirements.in -six==1.16.0 - # via - # -r requirements.in - # cryptography - # pyopenssl -urllib3==1.24.3 +typing-extensions==4.13.2 + # via pyopenssl +urllib3==2.4.0 # via # -r requirements.in # requests -wheel==0.37.1 +wheel==0.45.1 # via -r requirements.in -wrapt==1.11.2 - # via deprecated +wrapt==1.17.2 + # via + # -r requirements.in + # deprecated + +# The following packages are considered to be unsafe in a requirements file: +# setuptools + + + diff --git a/setup.py b/setup.py index 5a3982cd..4e9bfdf1 100644 --- a/setup.py +++ b/setup.py @@ -18,16 +18,16 @@ author="Yoti", author_email="websdk@yoti.com", install_requires=[ - "deprecated==1.2.13", - "cryptography>=2.2.1", - "protobuf==3.13.0", - "requests>=2.11.1", - "future>=0.18.2", - "asn1==2.2.0", - "pyopenssl>=18.0.0", - "iso8601==1.0.2", - "wheel==0.37.1", - "pytz==2022.1", + + "asn1==2.2.0", # still pinned due to enum34 issue + "cryptography>=42.0.0", + "protobuf==3.20.3", + "requests>=2.31.0", + "pyopenssl>=24.0.0", + "pytz>=2025.2", + "iso8601>=1.1.0", + "deprecated>=1.2.14", + ], extras_require={ "examples": [ @@ -44,7 +44,7 @@ "pylint==1.9.4", "pylint-exit>=1.1.0", "python-coveralls==2.9.3", - "coverage==4.5.4", + "coverage>=7.4.0", "mock==2.0.0", "virtualenv==20.15.1", "flake8==4.0.1", @@ -57,12 +57,12 @@ "Operating System :: OS Independent", "Intended Audience :: Developers", "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Software Development :: Libraries :: Python Modules", ], keywords="yoti sdk 2FA multifactor authentication verification identity login register verify 2Factor", diff --git a/sonar-project.properties b/sonar-project.properties index f77622f8..f9f4b359 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.15.0 +sonar.projectVersion = 2.14.3 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 f697b811..821f13ed 100644 --- a/yoti_python_sdk/version.py +++ b/yoti_python_sdk/version.py @@ -1,2 +1,2 @@ # -*- coding: utf-8 -*- -__version__ = "2.15.0" +__version__ = "2.14.3" \ No newline at end of file