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.
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/PKG-INFO +13 -20
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/README.md +12 -19
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/pyproject.toml +1 -1
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/.gitignore +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/__init__.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/channels.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/errors.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/format_utils.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/iii.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/iii_constants.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/iii_types.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/logger.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/otel_worker_gauges.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/state.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/stream.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/telemetry.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/telemetry_exporters.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/telemetry_types.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/triggers.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/types.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/utils.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/src/iii/worker_metrics.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/conftest.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_api_triggers.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_async_api.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_bridge.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_channel_close_delay.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_context_propagation.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_data_channels.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_errors.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_format_utils.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_healthcheck.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_hold_process.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_http_external_functions_integration.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_iii_registration_dedup.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_init_api.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_invocation_exception.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_logger_function_ids.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_logger_otel.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_middleware.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_pubsub.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_queue_integration.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_rbac_workers.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_register_function_args.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_state.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_stream_models.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_streams.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_streams_runtime_annotations.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_sync_api.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_telemetry.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_telemetry_exporters.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_telemetry_types.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_trace_helpers.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_trigger_metadata.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_utils.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_worker_metadata.py +0 -0
- {iii_sdk-0.11.5.dev1 → iii_sdk-0.11.6.dev1}/tests/test_worker_metrics.py +0 -0
- {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.
|
|
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
|
|
73
|
-
| ------------------------ |
|
|
74
|
-
| Initialize | `register_worker(url, options?)`
|
|
75
|
-
| Register function | `iii.register_function(id, handler)`
|
|
76
|
-
| Register trigger | `iii.register_trigger({"type": ..., "function_id": ..., "config": ...})`
|
|
77
|
-
| Invoke (await result) | `iii.trigger({"function_id": id, "payload": data})`
|
|
78
|
-
| Invoke (fire-and-forget) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Void()})`
|
|
79
|
-
|
|
|
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
|
|
42
|
-
| ------------------------ |
|
|
43
|
-
| Initialize | `register_worker(url, options?)`
|
|
44
|
-
| Register function | `iii.register_function(id, handler)`
|
|
45
|
-
| Register trigger | `iii.register_trigger({"type": ..., "function_id": ..., "config": ...})`
|
|
46
|
-
| Invoke (await result) | `iii.trigger({"function_id": id, "payload": data})`
|
|
47
|
-
| Invoke (fire-and-forget) | `iii.trigger({"function_id": id, ..., "action": TriggerAction.Void()})`
|
|
48
|
-
|
|
|
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
|
|
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.11.5.dev1 → iii_sdk-0.11.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
|