iii-sdk 0.21.5.dev1__tar.gz → 0.21.6.dev1__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.5.dev1 → iii_sdk-0.21.6.dev1}/PKG-INFO +2 -2
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/pyproject.toml +2 -2
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/iii.py +9 -1
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_worker_metadata.py +30 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/.gitignore +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/README.md +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/__init__.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/channel.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/channels.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/engine.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/errors.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/format_utils.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/helpers.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/iii_constants.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/iii_types.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/internal.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/otel_worker_gauges.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/protocol.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/runtime.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/state.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/stream.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/trigger.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/triggers.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/types.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/utils.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/worker_metrics.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/conftest.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_api_triggers.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_async_api.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_baggage_span_processor.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_bridge.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_channel_close_delay.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_channel_submodule.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_context_propagation.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_data_channels.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_engine_constants.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_errors.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_format_utils.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_healthcheck.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_helpers.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_hold_process.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_http_external_functions_integration.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_iii_registration_dedup.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_init_api.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_invocation_exception.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_invocation_metadata.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_logger_function_ids.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_logger_otel.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_middleware.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_payload.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_pubsub.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_rbac_workers.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_register_function_args.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_runtime_submodule.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_span_ops.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_state.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_stream_models.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_stream_types.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_streams.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_streams_runtime_annotations.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_sync_api.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_telemetry.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_telemetry_exporters.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_telemetry_types.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trace_helpers.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_action.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_metadata.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_registration_error.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_submodule.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_type_lifecycle.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_utils.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_worker_metrics.py +0 -0
- {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iii-sdk
|
|
3
|
-
Version: 0.21.
|
|
3
|
+
Version: 0.21.6.dev1
|
|
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.
|
|
17
|
+
Requires-Dist: iii-helpers==0.21.6.dev1
|
|
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.
|
|
7
|
+
version = "0.21.6.dev1"
|
|
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.
|
|
26
|
+
"iii-helpers==0.21.6.dev1",
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
[project.urls]
|
|
@@ -1283,7 +1283,15 @@ class III:
|
|
|
1283
1283
|
except Exception:
|
|
1284
1284
|
sdk_version = "unknown"
|
|
1285
1285
|
|
|
1286
|
-
|
|
1286
|
+
# III_WORKER_NAME carries the config.yaml entry name for managed
|
|
1287
|
+
# workers (set by iii-worker at spawn). Engine truth (`iii worker
|
|
1288
|
+
# status`/`list`) matches connections by name, so the managed identity
|
|
1289
|
+
# must win over the hostname:pid fallback.
|
|
1290
|
+
worker_name = (
|
|
1291
|
+
self._options.worker_name
|
|
1292
|
+
or os.environ.get("III_WORKER_NAME")
|
|
1293
|
+
or f"{platform.node()}:{os.getpid()}"
|
|
1294
|
+
)
|
|
1287
1295
|
|
|
1288
1296
|
telemetry_opts = self._options.telemetry
|
|
1289
1297
|
language = (
|
|
@@ -47,6 +47,36 @@ def test_get_worker_metadata_forwards_iii_isolation_env_var(
|
|
|
47
47
|
assert metadata["isolation"] == "docker"
|
|
48
48
|
|
|
49
49
|
|
|
50
|
+
def test_get_worker_metadata_name_defaults_from_iii_worker_name_env(
|
|
51
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
52
|
+
) -> None:
|
|
53
|
+
monkeypatch.setenv("III_WORKER_NAME", "managed-worker")
|
|
54
|
+
|
|
55
|
+
metadata = _call_metadata_method()
|
|
56
|
+
|
|
57
|
+
assert metadata["name"] == "managed-worker"
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def test_get_worker_metadata_explicit_worker_name_wins_over_env(
|
|
61
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
62
|
+
) -> None:
|
|
63
|
+
monkeypatch.setenv("III_WORKER_NAME", "managed-worker")
|
|
64
|
+
|
|
65
|
+
metadata = _call_metadata_method(InitOptions(worker_name="explicit-name"))
|
|
66
|
+
|
|
67
|
+
assert metadata["name"] == "explicit-name"
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def test_get_worker_metadata_name_falls_back_to_hostname_pid(
|
|
71
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
72
|
+
) -> None:
|
|
73
|
+
monkeypatch.delenv("III_WORKER_NAME", raising=False)
|
|
74
|
+
|
|
75
|
+
metadata = _call_metadata_method()
|
|
76
|
+
|
|
77
|
+
assert metadata["name"].endswith(f":{os.getpid()}")
|
|
78
|
+
|
|
79
|
+
|
|
50
80
|
def test_get_worker_metadata_omits_description_when_unset() -> None:
|
|
51
81
|
metadata = _call_metadata_method()
|
|
52
82
|
|
|
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.5.dev1 → iii_sdk-0.21.6.dev1}/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
|