threadify-sdk 0.2.0__tar.gz → 0.2.2__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 (28) hide show
  1. {threadify_sdk-0.2.0/threadify_sdk.egg-info → threadify_sdk-0.2.2}/PKG-INFO +9 -8
  2. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/README.md +7 -6
  3. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/pyproject.toml +2 -2
  4. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/models.py +2 -1
  5. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/otel_exporter.py +1 -1
  6. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/thread.py +1 -1
  7. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2/threadify_sdk.egg-info}/PKG-INFO +9 -8
  8. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/CHANGELOG.md +0 -0
  9. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/LICENSE +0 -0
  10. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/MANIFEST.in +0 -0
  11. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/setup.cfg +0 -0
  12. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_client.py +0 -0
  13. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_connection.py +0 -0
  14. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_data_retriever.py +0 -0
  15. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_models.py +0 -0
  16. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_notification.py +0 -0
  17. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_step.py +0 -0
  18. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/tests/test_thread.py +0 -0
  19. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/__init__.py +0 -0
  20. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/client.py +0 -0
  21. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/connection.py +0 -0
  22. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/data_retriever.py +0 -0
  23. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/notification.py +0 -0
  24. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify/step.py +0 -0
  25. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify_sdk.egg-info/SOURCES.txt +0 -0
  26. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify_sdk.egg-info/dependency_links.txt +0 -0
  27. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify_sdk.egg-info/requires.txt +0 -0
  28. {threadify_sdk-0.2.0 → threadify_sdk-0.2.2}/threadify_sdk.egg-info/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: threadify-sdk
3
- Version: 0.2.0
4
- Summary: Python SDK for the Threadify Engine workflow orchestration via WebSocket and GraphQL
3
+ Version: 0.2.2
4
+ Summary: Python SDK for Threadify — service-delivery intelligence. Track every customer request from start to finish across every system, team, and partner. Visit: https://threadify.dev
5
5
  Author-email: Threadify Team <team@threadify.dev>
6
6
  License: MIT
7
7
  Keywords: threadify,workflow,orchestration,websocket,graphql
@@ -27,7 +27,10 @@ Dynamic: license-file
27
27
 
28
28
  # Threadify Python SDK
29
29
 
30
- Python SDK for connecting to the Threadify Engine over WebSocket and querying archived data over GraphQL.
30
+ Python SDK for [Threadify](https://threadify.dev) service-delivery intelligence that tracks every customer request from start to finish across every system, team, and partner.
31
+
32
+ - **Documentation:** [https://docs.threadify.dev](https://docs.threadify.dev)
33
+ - **Create an account:** [https://threadify.dev](https://threadify.dev)
31
34
 
32
35
  ## Installation
33
36
 
@@ -54,14 +57,13 @@ async def main():
54
57
  conn = await Threadify.connect(
55
58
  "your-api-key",
56
59
  service_name="orders-service",
57
- ws_url="wss://eng.threadify.dev/threads",
58
60
  )
59
61
  except Exception as e:
60
62
  logging.error(f"Failed to connect: {e}")
61
63
  return
62
64
 
63
65
  try:
64
- thread = await conn.start(contract_name="order_flow")
66
+ thread = await conn.start("Order-123")
65
67
 
66
68
  # Easy chaining!
67
69
  await (
@@ -79,7 +81,7 @@ if __name__ == "__main__":
79
81
  asyncio.run(main())
80
82
  ```
81
83
 
82
- `ws_url` is required. The SDK no longer uses a hardcoded default URL.
84
+ `ws_url` defaults to `wss://eng.threadify.dev/threads`. Override it if you are using a self-hosted or regional endpoint.
83
85
 
84
86
  ## Configuration
85
87
 
@@ -88,7 +90,7 @@ if __name__ == "__main__":
88
90
  Use keyword arguments with `Threadify.connect(...)`:
89
91
 
90
92
  - `service_name`
91
- - `ws_url` (required)
93
+ - `ws_url` (optional, defaults to production)
92
94
  - `graphql_url`
93
95
  - `debug`
94
96
  - `max_in_flight`
@@ -102,7 +104,6 @@ from threadify import Threadify
102
104
  conn = await Threadify.connect(
103
105
  "your-api-key",
104
106
  service_name="inventory-service",
105
- ws_url="wss://eng.threadify.dev/threads",
106
107
  debug=True,
107
108
  )
108
109
  ```
@@ -1,6 +1,9 @@
1
1
  # Threadify Python SDK
2
2
 
3
- Python SDK for connecting to the Threadify Engine over WebSocket and querying archived data over GraphQL.
3
+ Python SDK for [Threadify](https://threadify.dev) service-delivery intelligence that tracks every customer request from start to finish across every system, team, and partner.
4
+
5
+ - **Documentation:** [https://docs.threadify.dev](https://docs.threadify.dev)
6
+ - **Create an account:** [https://threadify.dev](https://threadify.dev)
4
7
 
5
8
  ## Installation
6
9
 
@@ -27,14 +30,13 @@ async def main():
27
30
  conn = await Threadify.connect(
28
31
  "your-api-key",
29
32
  service_name="orders-service",
30
- ws_url="wss://eng.threadify.dev/threads",
31
33
  )
32
34
  except Exception as e:
33
35
  logging.error(f"Failed to connect: {e}")
34
36
  return
35
37
 
36
38
  try:
37
- thread = await conn.start(contract_name="order_flow")
39
+ thread = await conn.start("Order-123")
38
40
 
39
41
  # Easy chaining!
40
42
  await (
@@ -52,7 +54,7 @@ if __name__ == "__main__":
52
54
  asyncio.run(main())
53
55
  ```
54
56
 
55
- `ws_url` is required. The SDK no longer uses a hardcoded default URL.
57
+ `ws_url` defaults to `wss://eng.threadify.dev/threads`. Override it if you are using a self-hosted or regional endpoint.
56
58
 
57
59
  ## Configuration
58
60
 
@@ -61,7 +63,7 @@ if __name__ == "__main__":
61
63
  Use keyword arguments with `Threadify.connect(...)`:
62
64
 
63
65
  - `service_name`
64
- - `ws_url` (required)
66
+ - `ws_url` (optional, defaults to production)
65
67
  - `graphql_url`
66
68
  - `debug`
67
69
  - `max_in_flight`
@@ -75,7 +77,6 @@ from threadify import Threadify
75
77
  conn = await Threadify.connect(
76
78
  "your-api-key",
77
79
  service_name="inventory-service",
78
- ws_url="wss://eng.threadify.dev/threads",
79
80
  debug=True,
80
81
  )
81
82
  ```
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "threadify-sdk"
7
- version = "0.2.0"
8
- description = "Python SDK for the Threadify Engine workflow orchestration via WebSocket and GraphQL"
7
+ version = "0.2.2"
8
+ description = "Python SDK for Threadify — service-delivery intelligence. Track every customer request from start to finish across every system, team, and partner. Visit: https://threadify.dev"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  license = {text = "MIT"}
@@ -7,6 +7,7 @@ from typing import Any
7
7
  # --- Constants ---
8
8
 
9
9
  DEFAULT_CONNECT_TIMEOUT = 10.0 # seconds
10
+ DEFAULT_WS_URL = "wss://eng.threadify.dev/threads"
10
11
  DEFAULT_REQUEST_TIMEOUT = 10.0
11
12
  DEFAULT_WAIT_TIMEOUT = 5.0
12
13
  DEFAULT_MAX_IN_FLIGHT = 10
@@ -113,7 +114,7 @@ class ConnectOptions:
113
114
  """Configuration for connecting to the Threadify Engine."""
114
115
 
115
116
  service_name: str = ""
116
- ws_url: str = ""
117
+ ws_url: str = DEFAULT_WS_URL
117
118
  graphql_url: str = ""
118
119
  debug: bool = False
119
120
  max_in_flight: int = DEFAULT_MAX_IN_FLIGHT
@@ -50,7 +50,7 @@ class ThreadifySpanExporter(_SpanExporterBase):
50
50
  from threadify import Threadify
51
51
 
52
52
  conn = await Threadify.connect("api-key", service_name="my-service", ...)
53
- thread = await conn.start(contract_name="order_flow")
53
+ thread = await conn.start("Order-123")
54
54
 
55
55
  exporter = thread.create_span_exporter(options={"refs": ["orderId"]})
56
56
 
@@ -50,7 +50,7 @@ class ThreadInstance:
50
50
 
51
51
  Usage::
52
52
 
53
- thread = await conn.start(contract_name="order_flow")
53
+ thread = await conn.start("Order-123")
54
54
  step = thread.step("order_placed")
55
55
  result = await step.add_context({"orderId": "ORD-123"}).success("Order received")
56
56
  await thread.complete("All done")
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: threadify-sdk
3
- Version: 0.2.0
4
- Summary: Python SDK for the Threadify Engine workflow orchestration via WebSocket and GraphQL
3
+ Version: 0.2.2
4
+ Summary: Python SDK for Threadify — service-delivery intelligence. Track every customer request from start to finish across every system, team, and partner. Visit: https://threadify.dev
5
5
  Author-email: Threadify Team <team@threadify.dev>
6
6
  License: MIT
7
7
  Keywords: threadify,workflow,orchestration,websocket,graphql
@@ -27,7 +27,10 @@ Dynamic: license-file
27
27
 
28
28
  # Threadify Python SDK
29
29
 
30
- Python SDK for connecting to the Threadify Engine over WebSocket and querying archived data over GraphQL.
30
+ Python SDK for [Threadify](https://threadify.dev) service-delivery intelligence that tracks every customer request from start to finish across every system, team, and partner.
31
+
32
+ - **Documentation:** [https://docs.threadify.dev](https://docs.threadify.dev)
33
+ - **Create an account:** [https://threadify.dev](https://threadify.dev)
31
34
 
32
35
  ## Installation
33
36
 
@@ -54,14 +57,13 @@ async def main():
54
57
  conn = await Threadify.connect(
55
58
  "your-api-key",
56
59
  service_name="orders-service",
57
- ws_url="wss://eng.threadify.dev/threads",
58
60
  )
59
61
  except Exception as e:
60
62
  logging.error(f"Failed to connect: {e}")
61
63
  return
62
64
 
63
65
  try:
64
- thread = await conn.start(contract_name="order_flow")
66
+ thread = await conn.start("Order-123")
65
67
 
66
68
  # Easy chaining!
67
69
  await (
@@ -79,7 +81,7 @@ if __name__ == "__main__":
79
81
  asyncio.run(main())
80
82
  ```
81
83
 
82
- `ws_url` is required. The SDK no longer uses a hardcoded default URL.
84
+ `ws_url` defaults to `wss://eng.threadify.dev/threads`. Override it if you are using a self-hosted or regional endpoint.
83
85
 
84
86
  ## Configuration
85
87
 
@@ -88,7 +90,7 @@ if __name__ == "__main__":
88
90
  Use keyword arguments with `Threadify.connect(...)`:
89
91
 
90
92
  - `service_name`
91
- - `ws_url` (required)
93
+ - `ws_url` (optional, defaults to production)
92
94
  - `graphql_url`
93
95
  - `debug`
94
96
  - `max_in_flight`
@@ -102,7 +104,6 @@ from threadify import Threadify
102
104
  conn = await Threadify.connect(
103
105
  "your-api-key",
104
106
  service_name="inventory-service",
105
- ws_url="wss://eng.threadify.dev/threads",
106
107
  debug=True,
107
108
  )
108
109
  ```
File without changes
File without changes
File without changes