iii-sdk 0.11.5.dev1__tar.gz → 0.11.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 (58) hide show
  1. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/PKG-INFO +13 -20
  2. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/README.md +12 -19
  3. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/pyproject.toml +1 -1
  4. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/.gitignore +0 -0
  5. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/__init__.py +0 -0
  6. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/channels.py +0 -0
  7. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/errors.py +0 -0
  8. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/format_utils.py +0 -0
  9. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/iii.py +0 -0
  10. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/iii_constants.py +0 -0
  11. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/iii_types.py +0 -0
  12. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/logger.py +0 -0
  13. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/otel_worker_gauges.py +0 -0
  14. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/state.py +0 -0
  15. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/stream.py +0 -0
  16. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/telemetry.py +0 -0
  17. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/telemetry_exporters.py +0 -0
  18. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/telemetry_types.py +0 -0
  19. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/triggers.py +0 -0
  20. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/types.py +0 -0
  21. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/utils.py +0 -0
  22. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/worker_metrics.py +0 -0
  23. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/conftest.py +0 -0
  24. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_api_triggers.py +0 -0
  25. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_async_api.py +0 -0
  26. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_bridge.py +0 -0
  27. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_channel_close_delay.py +0 -0
  28. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_context_propagation.py +0 -0
  29. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_data_channels.py +0 -0
  30. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_errors.py +0 -0
  31. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_format_utils.py +0 -0
  32. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_healthcheck.py +0 -0
  33. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_hold_process.py +0 -0
  34. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_http_external_functions_integration.py +0 -0
  35. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_iii_registration_dedup.py +0 -0
  36. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_init_api.py +0 -0
  37. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_invocation_exception.py +0 -0
  38. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_logger_function_ids.py +0 -0
  39. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_logger_otel.py +0 -0
  40. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_middleware.py +0 -0
  41. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_pubsub.py +0 -0
  42. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_queue_integration.py +0 -0
  43. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_rbac_workers.py +0 -0
  44. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_register_function_args.py +0 -0
  45. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_state.py +0 -0
  46. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_stream_models.py +0 -0
  47. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_streams.py +0 -0
  48. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_streams_runtime_annotations.py +0 -0
  49. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_sync_api.py +0 -0
  50. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_telemetry.py +0 -0
  51. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_telemetry_exporters.py +0 -0
  52. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_telemetry_types.py +0 -0
  53. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_trace_helpers.py +0 -0
  54. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_trigger_metadata.py +0 -0
  55. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_utils.py +0 -0
  56. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_worker_metadata.py +0 -0
  57. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_worker_metrics.py +0 -0
  58. {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iii-sdk
3
- Version: 0.11.5.dev1
3
+ Version: 0.11.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
@@ -53,30 +53,31 @@ iii = register_worker("ws://localhost:49134")
53
53
  def greet(data):
54
54
  return {"message": f"Hello, {data['name']}!"}
55
55
 
56
- iii.register_function("greet", greet)
56
+ iii.register_function("hello::greet", greet)
57
57
 
58
58
  iii.register_trigger({
59
59
  "type": "http",
60
- "function_id": "greet",
60
+ "function_id": "hello::greet",
61
61
  "config": {"api_path": "/greet", "http_method": "POST"},
62
62
  })
63
63
 
64
64
  iii.connect()
65
65
 
66
- result = iii.trigger({"function_id": "greet", "payload": {"name": "world"}})
66
+ result = iii.trigger({"function_id": "hello::greet", "payload": {"name": "world"}})
67
67
  print(result) # {"message": "Hello, world!"}
68
68
  ```
69
69
 
70
70
  ## API
71
71
 
72
- | Operation | Signature | Description |
73
- | ------------------------ | ------------------------------------------------- | ------------------------------------------------------ |
74
- | Initialize | `register_worker(url, options?)` | Create an SDK instance and auto-connect |
75
- | Register function | `iii.register_function(id, handler)` | Register a function that can be invoked by name |
76
- | Register trigger | `iii.register_trigger({"type": ..., "function_id": ..., "config": ...})` | Bind a trigger (HTTP, cron, queue, etc.) to a function |
77
- | Invoke (await result) | `iii.trigger({"function_id": id, "payload": data})` | Invoke a function and wait for the result |
78
- | Invoke (fire-and-forget) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Void()})` | Fire-and-forget |
79
- | Shutdown | `iii.shutdown()` | Disconnect and stop background thread |
72
+ | Operation | Signature | Description |
73
+ | ------------------------ | -------------------------------------------------------------------------------------- | ------------------------------------------------------ |
74
+ | Initialize | `register_worker(url, options?)` | Create an SDK instance and auto-connect |
75
+ | Register function | `iii.register_function(id, handler)` | Register a function that can be invoked by name |
76
+ | Register trigger | `iii.register_trigger({"type": ..., "function_id": ..., "config": ...})` | Bind a trigger (HTTP, cron, queue, etc.) to a function |
77
+ | Invoke (await result) | `iii.trigger({"function_id": id, "payload": data})` | Invoke a function and wait for the result |
78
+ | Invoke (fire-and-forget) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Void()})` | Fire-and-forget |
79
+ | Invoke (enqueue) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Enqueue(queue="name")})` | Route invocation through a named queue |
80
+ | Shutdown | `iii.shutdown()` | Disconnect and stop background thread |
80
81
 
81
82
  `register_worker()` creates the SDK instance and auto-connects to the engine.
82
83
 
@@ -105,14 +106,6 @@ iii.register_trigger({
105
106
  result = iii.trigger({"function_id": "orders::create", "payload": {"body": {"item": "widget"}}})
106
107
  ```
107
108
 
108
- ## Modules
109
-
110
- | Import | What it provides |
111
- | --------------- | --------------------------------- |
112
- | `iii` | Core SDK (`III`, types) |
113
- | `iii.stream` | Stream client for real-time state |
114
- | `iii.telemetry` | OpenTelemetry integration |
115
-
116
109
  ## Development
117
110
 
118
111
  ### Install in development mode
@@ -22,30 +22,31 @@ iii = register_worker("ws://localhost:49134")
22
22
  def greet(data):
23
23
  return {"message": f"Hello, {data['name']}!"}
24
24
 
25
- iii.register_function("greet", greet)
25
+ iii.register_function("hello::greet", greet)
26
26
 
27
27
  iii.register_trigger({
28
28
  "type": "http",
29
- "function_id": "greet",
29
+ "function_id": "hello::greet",
30
30
  "config": {"api_path": "/greet", "http_method": "POST"},
31
31
  })
32
32
 
33
33
  iii.connect()
34
34
 
35
- result = iii.trigger({"function_id": "greet", "payload": {"name": "world"}})
35
+ result = iii.trigger({"function_id": "hello::greet", "payload": {"name": "world"}})
36
36
  print(result) # {"message": "Hello, world!"}
37
37
  ```
38
38
 
39
39
  ## API
40
40
 
41
- | Operation | Signature | Description |
42
- | ------------------------ | ------------------------------------------------- | ------------------------------------------------------ |
43
- | Initialize | `register_worker(url, options?)` | Create an SDK instance and auto-connect |
44
- | Register function | `iii.register_function(id, handler)` | Register a function that can be invoked by name |
45
- | Register trigger | `iii.register_trigger({"type": ..., "function_id": ..., "config": ...})` | Bind a trigger (HTTP, cron, queue, etc.) to a function |
46
- | Invoke (await result) | `iii.trigger({"function_id": id, "payload": data})` | Invoke a function and wait for the result |
47
- | Invoke (fire-and-forget) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Void()})` | Fire-and-forget |
48
- | Shutdown | `iii.shutdown()` | Disconnect and stop background thread |
41
+ | Operation | Signature | Description |
42
+ | ------------------------ | -------------------------------------------------------------------------------------- | ------------------------------------------------------ |
43
+ | Initialize | `register_worker(url, options?)` | Create an SDK instance and auto-connect |
44
+ | Register function | `iii.register_function(id, handler)` | Register a function that can be invoked by name |
45
+ | Register trigger | `iii.register_trigger({"type": ..., "function_id": ..., "config": ...})` | Bind a trigger (HTTP, cron, queue, etc.) to a function |
46
+ | Invoke (await result) | `iii.trigger({"function_id": id, "payload": data})` | Invoke a function and wait for the result |
47
+ | Invoke (fire-and-forget) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Void()})` | Fire-and-forget |
48
+ | Invoke (enqueue) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Enqueue(queue="name")})` | Route invocation through a named queue |
49
+ | Shutdown | `iii.shutdown()` | Disconnect and stop background thread |
49
50
 
50
51
  `register_worker()` creates the SDK instance and auto-connects to the engine.
51
52
 
@@ -74,14 +75,6 @@ iii.register_trigger({
74
75
  result = iii.trigger({"function_id": "orders::create", "payload": {"body": {"item": "widget"}}})
75
76
  ```
76
77
 
77
- ## Modules
78
-
79
- | Import | What it provides |
80
- | --------------- | --------------------------------- |
81
- | `iii` | Core SDK (`III`, types) |
82
- | `iii.stream` | Stream client for real-time state |
83
- | `iii.telemetry` | OpenTelemetry integration |
84
-
85
78
  ## Development
86
79
 
87
80
  ### Install in development mode
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "iii-sdk"
7
- version = "0.11.5.dev1"
7
+ version = "0.11.6.dev1"
8
8
  description = "III SDK for Python"
9
9
  authors = [{ name = "III" }]
10
10
  license = { text = "Apache-2.0" }
File without changes
File without changes