rp_python_sdk 1.3.1__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/PKG-INFO +14 -6
  2. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/README.md +8 -0
  3. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/pyproject.toml +8 -8
  4. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/retrieve_tokens.py +2 -1
  5. rp_python_sdk-1.4.1/rp_python_sdk/endpoints/util/version_info.py +2 -0
  6. rp_python_sdk-1.3.1/rp_python_sdk/endpoints/util/version_info.py +0 -2
  7. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/__init__.py +0 -0
  8. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/cache/__init__.py +0 -0
  9. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/cache/http_cache.py +0 -0
  10. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/get_participants.py +0 -0
  11. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/pushed_authorisation_request.py +0 -0
  12. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/user_info.py +0 -0
  13. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/util/fapi.py +0 -0
  14. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/util/mapping.py +0 -0
  15. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/util/system_info.py +0 -0
  16. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/endpoints/util/user_agent.py +0 -0
  17. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/filters/participant_filters.py +0 -0
  18. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/model.py +0 -0
  19. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/relying_party_client_sdk.py +0 -0
  20. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/relying_party_client_sdk_exception.py +0 -0
  21. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/sdk_config.py +0 -0
  22. {rp_python_sdk-1.3.1 → rp_python_sdk-1.4.1}/rp_python_sdk/setup_logger.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rp_python_sdk
3
- Version: 1.3.1
3
+ Version: 1.4.1
4
4
  Summary: Python SDK for Relying Parties to enable simple integration with the Digital Identity ecosystem
5
5
  License: Proprietary
6
6
  Author: Erik Pragt
@@ -11,12 +11,12 @@ Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
13
  Classifier: Programming Language :: Python :: 3.14
14
- Requires-Dist: authlib (>=1.6.6,<2.0.0)
14
+ Requires-Dist: authlib (>=1.7.2,<2.0.0)
15
15
  Requires-Dist: cffi (>=2.0.0,<3.0.0)
16
- Requires-Dist: cryptography (>=46.0.5,<47.0.0)
17
- Requires-Dist: joserfc (>=1.6.3,<2.0.0)
18
- Requires-Dist: requests (>=2.32.5,<3.0.0)
19
- Requires-Dist: urllib3 (>=2.6.3,<3.0.0)
16
+ Requires-Dist: cryptography (>=50.0.0)
17
+ Requires-Dist: joserfc (>=1.6.8,<2.0.0)
18
+ Requires-Dist: requests (>=2.34.2,<3.0.0)
19
+ Requires-Dist: urllib3 (>=2.7.0,<3.0.0)
20
20
  Description-Content-Type: text/markdown
21
21
 
22
22
  # Python SDK for Relying Parties
@@ -451,6 +451,14 @@ poetry publish
451
451
 
452
452
  ## Release Notes
453
453
 
454
+ ### 1.4.1 (Aug 4, 2026)
455
+ - Security: require cryptography 50.0.0 or newer to address CVE-2026-69247 and CVE-2026-69249
456
+ - Removed the cryptography major-version ceiling so consumers can adopt future security releases without waiting for an SDK release
457
+
458
+ ### 1.4.0 (May 27, 2026)
459
+ - Fixed key selection bug: JWKs with missing `use` field are now accepted (per RFC 7517)
460
+ - Updated dependencies: authlib 1.7.2, cryptography 48, joserfc 1.6.8, requests 2.34.2, urllib3 2.7.0, black 26.5.1, mypy 2
461
+
454
462
  ### 1.3.1 (May 4, 2026)
455
463
  - Updated dependencies
456
464
 
@@ -430,6 +430,14 @@ poetry publish
430
430
 
431
431
  ## Release Notes
432
432
 
433
+ ### 1.4.1 (Aug 4, 2026)
434
+ - Security: require cryptography 50.0.0 or newer to address CVE-2026-69247 and CVE-2026-69249
435
+ - Removed the cryptography major-version ceiling so consumers can adopt future security releases without waiting for an SDK release
436
+
437
+ ### 1.4.0 (May 27, 2026)
438
+ - Fixed key selection bug: JWKs with missing `use` field are now accepted (per RFC 7517)
439
+ - Updated dependencies: authlib 1.7.2, cryptography 48, joserfc 1.6.8, requests 2.34.2, urllib3 2.7.0, black 26.5.1, mypy 2
440
+
433
441
  ### 1.3.1 (May 4, 2026)
434
442
  - Updated dependencies
435
443
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "rp_python_sdk"
3
- version = "1.3.1"
3
+ version = "1.4.1"
4
4
  description = "Python SDK for Relying Parties to enable simple integration with the Digital Identity ecosystem"
5
5
  authors = ["Erik Pragt <erik.pragt@connectid.com.au>"]
6
6
  license = "Proprietary"
@@ -8,12 +8,12 @@ readme = "README.md"
8
8
 
9
9
  [tool.poetry.dependencies]
10
10
  python = "^3.12"
11
- requests = "^2.32.5"
12
- authlib = "^1.6.6"
13
- cryptography = "^46.0.5"
14
- joserfc = "^1.6.3"
11
+ requests = "^2.34.2"
12
+ authlib = "^1.7.2"
13
+ cryptography = ">=50.0.0"
14
+ joserfc = "^1.6.8"
15
15
  cffi = "^2.0.0"
16
- urllib3 = "^2.6.3"
16
+ urllib3 = "^2.7.0"
17
17
 
18
18
  [tool.poetry.group.test.dependencies]
19
19
  pytest = "^9.0.0"
@@ -21,9 +21,9 @@ httpx = "^0.28.1"
21
21
  toml = "^0.10.2"
22
22
 
23
23
  [tool.poetry.group.dev.dependencies]
24
- black = "^26.3.1"
24
+ black = "^26.5.1"
25
25
  pre-commit = "^4.5.1"
26
- mypy = "^1.19.1"
26
+ mypy = "^2.0.0"
27
27
  requests-mock = "^1.12.1"
28
28
  freezegun = "^1.4.0"
29
29
  flake8 = "^7.3.0"
@@ -265,7 +265,8 @@ def _validate_signature(issuer: str, audience: str, allowed_alg: list, id_token:
265
265
 
266
266
 
267
267
  def _matching_use(key_element: dict) -> bool:
268
- return key_element.get('use') == "sig"
268
+ use = key_element.get('use')
269
+ return use is None or use == "sig"
269
270
 
270
271
 
271
272
  def _matching_kid(kid: str, key_element: dict) -> bool:
@@ -0,0 +1,2 @@
1
+ def get_version_info() -> str:
2
+ return "1.4.1" # Version number
@@ -1,2 +0,0 @@
1
- def get_version_info() -> str:
2
- return "1.3.1" # Version number