processcube-etw-library 2026.1.30.154257__tar.gz → 2026.2.3.94459b0__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 (67) hide show
  1. {processcube_etw_library-2026.1.30.154257/src/processcube_etw_library.egg-info → processcube_etw_library-2026.2.3.94459b0}/PKG-INFO +2 -1
  2. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/pyproject.toml +1 -0
  3. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/base_client.py +18 -20
  4. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0/src/processcube_etw_library.egg-info}/PKG-INFO +2 -1
  5. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library.egg-info/requires.txt +1 -0
  6. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/uv.lock +484 -0
  7. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/.github/workflows/build_and_publish.yml +0 -0
  8. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/.gitignore +0 -0
  9. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/.python-version +0 -0
  10. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/README.md +0 -0
  11. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/setup.cfg +0 -0
  12. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/__init__.py +0 -0
  13. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/create_external_task_client.py +0 -0
  14. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/etw_app.py +0 -0
  15. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/__init__.py +0 -0
  16. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/built_in.py +0 -0
  17. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/check.py +0 -0
  18. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/handlers.py +0 -0
  19. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/models.py +0 -0
  20. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/registry.py +0 -0
  21. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/health/routes.py +0 -0
  22. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/identity_provider.py +0 -0
  23. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/__init__.py +0 -0
  24. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/app_info/__init__.py +0 -0
  25. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/app_info/app_info_client.py +0 -0
  26. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/client_factory.py +0 -0
  27. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/__init__.py +0 -0
  28. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/__init__.py +0 -0
  29. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/base_client.py +0 -0
  30. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/client.py +0 -0
  31. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/__init__.py +0 -0
  32. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/application_info.py +0 -0
  33. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/data_object_instances.py +0 -0
  34. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/empty_tasks.py +0 -0
  35. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/events.py +0 -0
  36. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/external_tasks.py +0 -0
  37. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/flow_node_instances.py +0 -0
  38. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/manual_tasks.py +0 -0
  39. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/process_definitions.py +0 -0
  40. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/process_instances.py +0 -0
  41. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/process_models.py +0 -0
  42. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/api/helpers/user_tasks.py +0 -0
  43. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/core/loop_helper.py +0 -0
  44. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/event/__init__.py +0 -0
  45. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/event/event_client.py +0 -0
  46. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/external_task/__init__.py +0 -0
  47. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/external_task/client_wrapper.py +0 -0
  48. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/external_task/external_task_client.py +0 -0
  49. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/external_task/external_task_worker.py +0 -0
  50. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/external_task/functional_error.py +0 -0
  51. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/flow_node_instance/__init__.py +0 -0
  52. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/flow_node_instance/flow_node_instance_client.py +0 -0
  53. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/notification/__init__.py +0 -0
  54. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/notification/notification_client.py +0 -0
  55. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/process_definition/__init__.py +0 -0
  56. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/process_definition/process_definition_client.py +0 -0
  57. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/process_definition/start_callback_type.py +0 -0
  58. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/process_instance/__init__.py +0 -0
  59. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/process_instance/process_instance_client.py +0 -0
  60. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/user_task/__init__.py +0 -0
  61. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/processcube_client/user_task/user_task_client.py +0 -0
  62. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/server_config.py +0 -0
  63. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/settings.py +0 -0
  64. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library/typed_handler.py +0 -0
  65. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library.egg-info/SOURCES.txt +0 -0
  66. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library.egg-info/dependency_links.txt +0 -0
  67. {processcube_etw_library-2026.1.30.154257 → processcube_etw_library-2026.2.3.94459b0}/src/processcube_etw_library.egg-info/top_level.txt +0 -0
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: processcube-etw-library
3
- Version: 2026.1.30.154257
3
+ Version: 2026.2.3.94459b0
4
4
  Summary: A library to create ETW apps with the ProcessCube platform.
5
5
  Author-email: Jeremy Hill <jeremy.hill@profection.de>
6
6
  License: MIT
7
7
  Requires-Python: >=3.12
8
8
  Description-Content-Type: text/markdown
9
+ Requires-Dist: aiohttp>=3.13.3
9
10
  Requires-Dist: async-lru>=2.1.0
10
11
  Requires-Dist: dataclasses-json>=0.6.7
11
12
  Requires-Dist: fastapi[standard]>=0.128.0
@@ -11,6 +11,7 @@ authors = [{ name = "Jeremy Hill", email = "jeremy.hill@profection.de" }]
11
11
  license = { text = "MIT" }
12
12
  requires-python = ">=3.12"
13
13
  dependencies = [
14
+ "aiohttp>=3.13.3",
14
15
  "async-lru>=2.1.0",
15
16
  "dataclasses-json>=0.6.7",
16
17
  "fastapi[standard]>=0.128.0",
@@ -1,6 +1,5 @@
1
1
  import asyncio
2
2
  import aiohttp
3
- import json
4
3
  import logging
5
4
 
6
5
  logger = logging.getLogger(__name__)
@@ -38,6 +37,7 @@ def run_async_in_sync_context(coro):
38
37
  # Loop is running but we're not in it - this can happen with nest_asyncio
39
38
  # In this case, we need to schedule the coroutine on the existing loop
40
39
  import concurrent.futures
40
+
41
41
  future = asyncio.run_coroutine_threadsafe(coro, loop)
42
42
  return future.result()
43
43
  except RuntimeError:
@@ -56,7 +56,6 @@ def run_async_in_sync_context(coro):
56
56
 
57
57
 
58
58
  class BaseClient:
59
-
60
59
  def __init__(self, url, session=None, identity=None):
61
60
  self._url = url
62
61
  self._session = session
@@ -70,7 +69,7 @@ class BaseClient:
70
69
  return self
71
70
 
72
71
  async def __aexit__(self, exception_type, exception_value, traceback):
73
- await self.close()
72
+ await self.close()
74
73
 
75
74
  async def close(self):
76
75
  if self._session:
@@ -78,13 +77,12 @@ class BaseClient:
78
77
 
79
78
  async def do_get(self, path, options={}):
80
79
  headers = self.__get_default_headers()
81
- headers.update(options.get('headers', {}))
80
+ headers.update(options.get("headers", {}))
82
81
  headers.update(self.__get_auth_headers())
83
82
 
84
83
  request_url = f"{self._url}{path}"
85
84
 
86
85
  async with aiohttp.ClientSession() as session:
87
-
88
86
  current_session = self._session if self._session else session
89
87
 
90
88
  async with current_session.get(request_url, headers=headers) as response:
@@ -94,13 +92,12 @@ class BaseClient:
94
92
 
95
93
  async def do_delete(self, path, options={}):
96
94
  headers = self.__get_default_headers()
97
- headers.update(options.get('headers', {}))
95
+ headers.update(options.get("headers", {}))
98
96
  headers.update(self.__get_auth_headers())
99
97
 
100
98
  request_url = f"{self._url}{path}"
101
99
 
102
100
  async with aiohttp.ClientSession() as session:
103
-
104
101
  current_session = self._session if self._session else session
105
102
 
106
103
  async with current_session.delete(request_url, headers=headers) as response:
@@ -110,7 +107,7 @@ class BaseClient:
110
107
 
111
108
  async def do_post(self, path, payload, options={}):
112
109
  headers = self.__get_default_headers()
113
- headers.update(options.get('headers', {}))
110
+ headers.update(options.get("headers", {}))
114
111
  headers.update(self.__get_auth_headers())
115
112
 
116
113
  request_url = f"{self._url}{path}"
@@ -118,10 +115,11 @@ class BaseClient:
118
115
  logger.debug(f"post request to {request_url} with json payload {payload}")
119
116
 
120
117
  async with aiohttp.ClientSession() as session:
121
-
122
118
  current_session = self._session if self._session else session
123
119
 
124
- async with current_session.post(request_url, json=payload, headers=headers) as response:
120
+ async with current_session.post(
121
+ request_url, json=payload, headers=headers
122
+ ) as response:
125
123
  logger.debug(f"handle response {response.status}")
126
124
  response.raise_for_status()
127
125
  if response.status in [200, 201, 202]:
@@ -130,10 +128,10 @@ class BaseClient:
130
128
  return ""
131
129
  else:
132
130
  raise Exception(f"TODO: need a better error {response.status}")
133
-
131
+
134
132
  async def do_put(self, path, payload, options={}):
135
133
  headers = self.__get_default_headers()
136
- headers.update(options.get('headers', {}))
134
+ headers.update(options.get("headers", {}))
137
135
  headers.update(self.__get_auth_headers())
138
136
 
139
137
  request_url = f"{self._url}{path}"
@@ -141,10 +139,11 @@ class BaseClient:
141
139
  logger.debug(f"put request to {request_url} with json payload {payload}")
142
140
 
143
141
  async with aiohttp.ClientSession() as session:
144
-
145
142
  current_session = self._session if self._session else session
146
143
 
147
- async with current_session.put(request_url, json=payload, headers=headers) as response:
144
+ async with current_session.put(
145
+ request_url, json=payload, headers=headers
146
+ ) as response:
148
147
  logger.debug(f"handle response {response.status}")
149
148
  response.raise_for_status()
150
149
  if response.status in [200, 201, 202]:
@@ -153,17 +152,17 @@ class BaseClient:
153
152
  return ""
154
153
  else:
155
154
  raise Exception(f"TODO: need a better error {response.status}")
156
-
155
+
157
156
  async def get_serverinfo(self):
158
- return await self.do_get('/atlas_engine/api/v1/info')
157
+ return await self.do_get("/atlas_engine/api/v1/info")
159
158
 
160
159
  def __get_auth_headers(self):
161
160
  identity = self.__get_identity()
162
- token = identity['token']
163
- return {'Authorization': 'Bearer {}'.format(token)}
161
+ token = identity["token"]
162
+ return {"Authorization": "Bearer {}".format(token)}
164
163
 
165
164
  def __get_default_headers(self):
166
- return {'Content-Type': 'application/json'}
165
+ return {"Content-Type": "application/json"}
167
166
 
168
167
  def __get_identity(self):
169
168
  identity = self._identity
@@ -172,4 +171,3 @@ class BaseClient:
172
171
  identity = self._identity()
173
172
 
174
173
  return identity
175
-
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: processcube-etw-library
3
- Version: 2026.1.30.154257
3
+ Version: 2026.2.3.94459b0
4
4
  Summary: A library to create ETW apps with the ProcessCube platform.
5
5
  Author-email: Jeremy Hill <jeremy.hill@profection.de>
6
6
  License: MIT
7
7
  Requires-Python: >=3.12
8
8
  Description-Content-Type: text/markdown
9
+ Requires-Dist: aiohttp>=3.13.3
9
10
  Requires-Dist: async-lru>=2.1.0
10
11
  Requires-Dist: dataclasses-json>=0.6.7
11
12
  Requires-Dist: fastapi[standard]>=0.128.0
@@ -1,3 +1,4 @@
1
+ aiohttp>=3.13.3
1
2
  async-lru>=2.1.0
2
3
  dataclasses-json>=0.6.7
3
4
  fastapi[standard]>=0.128.0