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.
Files changed (73) hide show
  1. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/PKG-INFO +2 -2
  2. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/pyproject.toml +2 -2
  3. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/iii.py +9 -1
  4. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_worker_metadata.py +30 -0
  5. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/.gitignore +0 -0
  6. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/README.md +0 -0
  7. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/__init__.py +0 -0
  8. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/channel.py +0 -0
  9. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/channels.py +0 -0
  10. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/engine.py +0 -0
  11. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/errors.py +0 -0
  12. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/format_utils.py +0 -0
  13. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/helpers.py +0 -0
  14. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/iii_constants.py +0 -0
  15. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/iii_types.py +0 -0
  16. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/internal.py +0 -0
  17. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/otel_worker_gauges.py +0 -0
  18. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/protocol.py +0 -0
  19. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/runtime.py +0 -0
  20. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/state.py +0 -0
  21. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/stream.py +0 -0
  22. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/trigger.py +0 -0
  23. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/triggers.py +0 -0
  24. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/types.py +0 -0
  25. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/utils.py +0 -0
  26. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/src/iii/worker_metrics.py +0 -0
  27. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/conftest.py +0 -0
  28. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_api_triggers.py +0 -0
  29. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_async_api.py +0 -0
  30. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_baggage_span_processor.py +0 -0
  31. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_bridge.py +0 -0
  32. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_channel_close_delay.py +0 -0
  33. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_channel_submodule.py +0 -0
  34. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_context_propagation.py +0 -0
  35. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_data_channels.py +0 -0
  36. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_engine_constants.py +0 -0
  37. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_errors.py +0 -0
  38. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_format_utils.py +0 -0
  39. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_healthcheck.py +0 -0
  40. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_helpers.py +0 -0
  41. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_hold_process.py +0 -0
  42. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_http_external_functions_integration.py +0 -0
  43. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_iii_registration_dedup.py +0 -0
  44. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_init_api.py +0 -0
  45. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_invocation_exception.py +0 -0
  46. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_invocation_metadata.py +0 -0
  47. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_logger_function_ids.py +0 -0
  48. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_logger_otel.py +0 -0
  49. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_middleware.py +0 -0
  50. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_payload.py +0 -0
  51. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_pubsub.py +0 -0
  52. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_rbac_workers.py +0 -0
  53. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_register_function_args.py +0 -0
  54. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_runtime_submodule.py +0 -0
  55. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_span_ops.py +0 -0
  56. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_state.py +0 -0
  57. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_stream_models.py +0 -0
  58. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_stream_types.py +0 -0
  59. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_streams.py +0 -0
  60. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_streams_runtime_annotations.py +0 -0
  61. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_sync_api.py +0 -0
  62. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_telemetry.py +0 -0
  63. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_telemetry_exporters.py +0 -0
  64. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_telemetry_types.py +0 -0
  65. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trace_helpers.py +0 -0
  66. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_action.py +0 -0
  67. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_metadata.py +0 -0
  68. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_registration_error.py +0 -0
  69. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_submodule.py +0 -0
  70. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_trigger_type_lifecycle.py +0 -0
  71. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_utils.py +0 -0
  72. {iii_sdk-0.21.5.dev1 → iii_sdk-0.21.6.dev1}/tests/test_worker_metrics.py +0 -0
  73. {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.5.dev1
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.5.dev1
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.5.dev1"
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.5.dev1",
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
- worker_name = self._options.worker_name or f"{platform.node()}:{os.getpid()}"
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