iii-sdk 0.21.8.dev2__tar.gz → 0.21.8.dev4__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.
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/PKG-INFO +2 -2
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/pyproject.toml +2 -2
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/iii.py +4 -4
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/.gitignore +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/README.md +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/__init__.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/channel.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/channels.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/engine.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/errors.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/format_utils.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/helpers.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/iii_constants.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/iii_types.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/internal.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/otel_worker_gauges.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/protocol.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/runtime.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/state.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/stream.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/trigger.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/triggers.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/types.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/utils.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/src/iii/worker_metrics.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/conftest.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_api_triggers.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_async_api.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_baggage_span_processor.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_bridge.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_channel_close_delay.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_channel_submodule.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_connection_state_listener.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_context_propagation.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_data_channels.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_engine_constants.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_errors.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_format_utils.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_healthcheck.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_helpers.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_hold_process.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_http_external_functions_integration.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_iii_registration_dedup.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_init_api.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_invocation_exception.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_invocation_metadata.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_logger_function_ids.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_logger_otel.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_middleware.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_payload.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_pubsub.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_rbac_workers.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_reconnect_sends_reattach.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_reconnect_survives_handshake_eof.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_register_function_args.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_runtime_submodule.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_span_ops.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_state.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_stream_models.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_stream_types.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_streams.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_streams_runtime_annotations.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_sync_api.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_telemetry.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_telemetry_exporters.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_telemetry_types.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_trace_helpers.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_trigger_action.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_trigger_metadata.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_trigger_registration_error.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_trigger_submodule.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_trigger_type_lifecycle.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_utils.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_worker_metadata.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_worker_metrics.py +0 -0
- {iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iii-sdk
|
|
3
|
-
Version: 0.21.8.
|
|
3
|
+
Version: 0.21.8.dev4
|
|
4
4
|
Summary: III SDK for Python
|
|
5
5
|
Project-URL: Homepage, https://github.com/iii-hq/iii
|
|
6
6
|
Project-URL: Repository, https://github.com/iii-hq/iii
|
|
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
16
|
Requires-Python: >=3.10
|
|
17
|
-
Requires-Dist: iii-helpers==0.21.8.
|
|
17
|
+
Requires-Dist: iii-helpers==0.21.8.dev4
|
|
18
18
|
Requires-Dist: opentelemetry-api>=1.25
|
|
19
19
|
Requires-Dist: pydantic>=2.0
|
|
20
20
|
Requires-Dist: websockets>=12.0
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "iii-sdk"
|
|
7
|
-
version = "0.21.8.
|
|
7
|
+
version = "0.21.8.dev4"
|
|
8
8
|
description = "III SDK for Python"
|
|
9
9
|
authors = [{ name = "III" }]
|
|
10
10
|
license = { text = "Apache-2.0" }
|
|
@@ -23,7 +23,7 @@ dependencies = [
|
|
|
23
23
|
"websockets>=12.0",
|
|
24
24
|
"pydantic>=2.0",
|
|
25
25
|
"opentelemetry-api>=1.25",
|
|
26
|
-
"iii-helpers==0.21.8.
|
|
26
|
+
"iii-helpers==0.21.8.dev4",
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
[project.urls]
|
|
@@ -350,7 +350,7 @@ class III:
|
|
|
350
350
|
except Exception as e:
|
|
351
351
|
# Catch everything: a connect-time failure must never kill the
|
|
352
352
|
# reconnect loop. Enumerating exception types here has failed
|
|
353
|
-
# twice
|
|
353
|
+
# twice: ConnectionError/OSError missed websockets'
|
|
354
354
|
# InvalidHandshake (MOT-3931), and that in turn missed
|
|
355
355
|
# InvalidMessage, raised when the engine-boot listener race
|
|
356
356
|
# surfaces through iii-network's accept-then-dial as an EOF
|
|
@@ -860,7 +860,7 @@ class III:
|
|
|
860
860
|
caller's thread), then once per transition. Transitions fire on the
|
|
861
861
|
SDK's background event-loop thread: keep handlers fast and do not
|
|
862
862
|
call sync SDK methods from them (they would raise ``RuntimeError``).
|
|
863
|
-
Treat calls as state notifications, not edges
|
|
863
|
+
Treat calls as state notifications, not edges. A state may rarely
|
|
864
864
|
be observed twice around subscription. Registering the same handler
|
|
865
865
|
twice fires it twice. Returns an idempotent unsubscribe function
|
|
866
866
|
that removes only its own registration.
|
|
@@ -1476,7 +1476,7 @@ class TriggerAction:
|
|
|
1476
1476
|
|
|
1477
1477
|
Examples:
|
|
1478
1478
|
>>> from iii import TriggerAction
|
|
1479
|
-
>>> # The queue must be declared in the
|
|
1479
|
+
>>> # The queue must be declared in the queue worker's queue_configs.
|
|
1480
1480
|
>>> worker.trigger({'function_id': 'process', 'payload': {}, 'action': TriggerAction.Enqueue(queue='jobs')})
|
|
1481
1481
|
>>> worker.trigger({'function_id': 'notify', 'payload': {}, 'action': TriggerAction.Void()})
|
|
1482
1482
|
"""
|
|
@@ -1501,7 +1501,7 @@ def register_worker(address: str, options: InitOptions | None = None) -> III:
|
|
|
1501
1501
|
|
|
1502
1502
|
Blocks up to 30 seconds for the WebSocket connection to be established.
|
|
1503
1503
|
If the engine is not reachable in time, a warning is logged and the
|
|
1504
|
-
client is returned anyway
|
|
1504
|
+
client is returned anyway; it keeps retrying in the background and
|
|
1505
1505
|
flushes registrations once connected. Use
|
|
1506
1506
|
``add_connection_state_listener`` to observe the actual transition.
|
|
1507
1507
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iii_sdk-0.21.8.dev2 → iii_sdk-0.21.8.dev4}/tests/test_http_external_functions_integration.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|