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.
- rp_python_sdk-1.5.4/ConnectID SDK Licence Terms v1.0_291122.pdf +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/PKG-INFO +10 -4
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/README.md +6 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/pyproject.toml +9 -5
- rp_python_sdk-1.5.4/rp_python_sdk/endpoints/util/version_info.py +2 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_session.py +6 -1
- rp_python_sdk-1.5.2/rp_python_sdk/endpoints/util/version_info.py +0 -2
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/__init__.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/cache/__init__.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/cache/http_cache.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/get_participants.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/pushed_authorisation_request.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/retrieve_tokens.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/user_info.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/client_assertion.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/fapi.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/mapping.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/system_info.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/user_agent.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/filters/participant_filters.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/model.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/relying_party_client_sdk.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/relying_party_client_sdk_exception.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/sdk_config.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/setup_logger.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/__init__.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/async_telemetry_sender.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/sync_telemetry_sender.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_config.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_context.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_dispatcher.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_event.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_event_factory.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_sender.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_session_pool.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_token_provider.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_transport.py +0 -0
- {rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_url_resolver.py +0 -0
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rp_python_sdk
|
|
3
|
-
Version: 1.5.
|
|
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.
|
|
16
|
-
Requires-Dist: certifi (>=2026.
|
|
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.
|
|
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.
|
|
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.
|
|
14
|
+
authlib = "^1.9.1"
|
|
13
15
|
cryptography = ">=50.0.0"
|
|
14
|
-
joserfc = "^1.
|
|
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.
|
|
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.
|
|
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"]
|
|
@@ -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=
|
|
56
|
+
max_retries=retry)
|
|
52
57
|
session.mount("https://", adapter)
|
|
53
58
|
session.adapters.pop("http://", None)
|
|
54
59
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/pushed_authorisation_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/endpoints/util/client_assertion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/relying_party_client_sdk_exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/async_telemetry_sender.py
RENAMED
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/sync_telemetry_sender.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_event_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_session_pool.py
RENAMED
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_token_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
{rp_python_sdk-1.5.2 → rp_python_sdk-1.5.4}/rp_python_sdk/telemetry/telemetry_url_resolver.py
RENAMED
|
File without changes
|