rp_python_sdk 1.5.2__tar.gz → 1.5.4__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 (38) hide show
  1. rp_python_sdk-1.5.4/ConnectID SDK Licence Terms v1.0_291122.pdf +0 -0
  2. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/PKG-INFO +10 -4
  3. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/README.md +6 -0
  4. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/pyproject.toml +9 -5
  5. rp_python_sdk-1.5.4/rp_python_sdk/endpoints/util/version_info.py +2 -0
  6. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_session.py +6 -1
  7. rp_python_sdk-1.5.2/rp_python_sdk/endpoints/util/version_info.py +0 -2
  8. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/__init__.py +0 -0
  9. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/cache/__init__.py +0 -0
  10. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/cache/http_cache.py +0 -0
  11. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/get_participants.py +0 -0
  12. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/pushed_authorisation_request.py +0 -0
  13. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/retrieve_tokens.py +0 -0
  14. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/user_info.py +0 -0
  15. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/client_assertion.py +0 -0
  16. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/fapi.py +0 -0
  17. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/mapping.py +0 -0
  18. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/system_info.py +0 -0
  19. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/user_agent.py +0 -0
  20. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/filters/participant_filters.py +0 -0
  21. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/model.py +0 -0
  22. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/relying_party_client_sdk.py +0 -0
  23. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/relying_party_client_sdk_exception.py +0 -0
  24. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/sdk_config.py +0 -0
  25. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/setup_logger.py +0 -0
  26. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/__init__.py +0 -0
  27. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/async_telemetry_sender.py +0 -0
  28. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/sync_telemetry_sender.py +0 -0
  29. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_config.py +0 -0
  30. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_context.py +0 -0
  31. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_dispatcher.py +0 -0
  32. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_event.py +0 -0
  33. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_event_factory.py +0 -0
  34. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_sender.py +0 -0
  35. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_session_pool.py +0 -0
  36. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_token_provider.py +0 -0
  37. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_transport.py +0 -0
  38. {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_url_resolver.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rp_python_sdk
3
- Version: 1.5.2
3
+ Version: 1.5.4
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
@@ -12,11 +12,11 @@ Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
13
  Classifier: Programming Language :: Python :: 3.14
14
14
  Classifier: Programming Language :: Python :: 3.15
15
- Requires-Dist: authlib (>=1.7.2,<2.0.0)
16
- Requires-Dist: certifi (>=2026.4.22,<2027.0.0)
15
+ Requires-Dist: authlib (>=1.9.1,<2.0.0)
16
+ Requires-Dist: certifi (>=2026.10.18,<2027.0.0)
17
17
  Requires-Dist: cffi (>=2.0.0,<3.0.0)
18
18
  Requires-Dist: cryptography (>=50.0.0)
19
- Requires-Dist: joserfc (>=1.6.8,<2.0.0)
19
+ Requires-Dist: joserfc (>=1.7.5,<2.0.0)
20
20
  Requires-Dist: requests (>=2.34.2,<3.0.0)
21
21
  Requires-Dist: urllib3 (>=2.7.0,<3.0.0)
22
22
  Description-Content-Type: text/markdown
@@ -602,6 +602,12 @@ poetry publish
602
602
 
603
603
  ## Release Notes
604
604
 
605
+ ### 1.5.4 (Nov 4, 2026)
606
+ - Updated dependencies
607
+
608
+ ### 1.5.3 (Oct 6, 2026)
609
+ - **Telemetry connection resilience**: Added a single retry on stale pooled connections in the telemetry session, preventing transient failures when a keep-alive connection is closed by the server between requests.
610
+
605
611
  ### 1.5.2 (Sep 30, 2026)
606
612
  - **Telemetry re-enabled by default**: Telemetry is now enabled by default again after the concurrency and shutdown bugfixes below. Opt out with `TelemetryConfig(enabled=False)`.
607
613
  - **Concurrent telemetry session isolation**: Fixed a race condition where overlapping SDK operations could share or corrupt telemetry session state.
@@ -579,6 +579,12 @@ poetry publish
579
579
 
580
580
  ## Release Notes
581
581
 
582
+ ### 1.5.4 (Nov 4, 2026)
583
+ - Updated dependencies
584
+
585
+ ### 1.5.3 (Oct 6, 2026)
586
+ - **Telemetry connection resilience**: Added a single retry on stale pooled connections in the telemetry session, preventing transient failures when a keep-alive connection is closed by the server between requests.
587
+
582
588
  ### 1.5.2 (Sep 30, 2026)
583
589
  - **Telemetry re-enabled by default**: Telemetry is now enabled by default again after the concurrency and shutdown bugfixes below. Opt out with `TelemetryConfig(enabled=False)`.
584
590
  - **Concurrent telemetry session isolation**: Fixed a race condition where overlapping SDK operations could share or corrupt telemetry session state.
@@ -1,22 +1,24 @@
1
1
  [tool.poetry]
2
2
  name = "rp_python_sdk"
3
- version = "1.5.2"
3
+ version = "1.5.4"
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"
7
7
  readme = "README.md"
8
8
 
9
+ include = [{ path = "ConnectID SDK Licence Terms v1.0_291122.pdf", format = ["sdist", "wheel"] }]
10
+
9
11
  [tool.poetry.dependencies]
10
12
  python = "^3.12"
11
13
  requests = "^2.34.2"
12
- authlib = "^1.7.2"
14
+ authlib = "^1.9.1"
13
15
  cryptography = ">=50.0.0"
14
- joserfc = "^1.6.8"
16
+ joserfc = "^1.7.5"
15
17
  cffi = "^2.0.0"
16
18
  urllib3 = "^2.7.0"
17
19
  # Already present transitively via requests; declared explicitly because the telemetry TLS
18
20
  # context imports it directly to trust the public roots that sign the Registry endpoints.
19
- certifi = "^2026.4.22"
21
+ certifi = "^2026.10.18"
20
22
 
21
23
  [tool.poetry.group.test.dependencies]
22
24
  pytest = "^9.0.0"
@@ -25,12 +27,14 @@ toml = "^0.10.2"
25
27
  jsonschema = { extras = ["format-nongpl"], version = "^4.25.1" }
26
28
 
27
29
  [tool.poetry.group.dev.dependencies]
28
- black = "^26.5.1"
30
+ black = "^26.10.1"
29
31
  pre-commit = "^4.5.1"
30
32
  mypy = "^2.0.0"
31
33
  requests-mock = "^1.12.1"
32
34
  freezegun = "^1.4.0"
33
35
  flake8 = "^7.3.0"
36
+ virtualenv = "^21.14.9"
37
+ filelock = "^4.2.1"
34
38
 
35
39
  [build-system]
36
40
  requires = ["poetry-core"]
@@ -0,0 +1,2 @@
1
+ def get_version_info() -> str:
2
+ return "1.5.4" # Version number
@@ -5,6 +5,7 @@ import certifi
5
5
  import requests
6
6
  from requests.adapters import HTTPAdapter
7
7
  from urllib3.poolmanager import PoolManager
8
+ from urllib3.util.retry import Retry
8
9
 
9
10
  from rp_python_sdk.sdk_config import SdkConfig
10
11
 
@@ -44,11 +45,15 @@ def create_telemetry_session(config: SdkConfig, pool_size: int) -> requests.Sess
44
45
  session.cert = (config.transport_pem, config.transport_key)
45
46
  session.verify = config.ca_pem
46
47
 
48
+ retry = Retry(total=1, connect=1, read=1, status=0, other=0,
49
+ allowed_methods=frozenset({"GET", "POST"}),
50
+ raise_on_status=False)
51
+
47
52
  adapter = _Tls12MinimumAdapter(ssl_context=_build_tls_context(config.ca_pem),
48
53
  pool_connections=1,
49
54
  pool_maxsize=pool_size,
50
55
  pool_block=False,
51
- max_retries=0)
56
+ max_retries=retry)
52
57
  session.mount("https://", adapter)
53
58
  session.adapters.pop("http://", None)
54
59
 
@@ -1,2 +0,0 @@
1
- def get_version_info() -> str:
2
- return "1.5.2" # Version number