deltafi 2.0rc1728671284198__tar.gz → 2.0rc1729598262285__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.

Potentially problematic release.


This version of deltafi might be problematic. Click here for more details.

Files changed (23) hide show
  1. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/PKG-INFO +2 -1
  2. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/action.py +1 -1
  3. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/domain.py +0 -6
  4. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/metric.py +1 -1
  5. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/plugin.py +13 -2
  6. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/result.py +3 -4
  7. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/framework.py +0 -1
  8. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/pyproject.toml +1 -1
  9. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/README.md +0 -0
  10. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/__init__.py +0 -0
  11. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/actioneventqueue.py +0 -0
  12. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/actiontype.py +0 -0
  13. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/exception.py +0 -0
  14. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/genericmodel.py +0 -0
  15. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/input.py +0 -0
  16. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/logger.py +0 -0
  17. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/storage.py +0 -0
  18. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/__init__.py +0 -0
  19. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/assertions.py +0 -0
  20. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/compare_helpers.py +0 -0
  21. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/constants.py +0 -0
  22. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/egress.py +0 -0
  23. {deltafi-2.0rc1728671284198 → deltafi-2.0rc1729598262285}/deltafi/test_kit/transform.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deltafi
3
- Version: 2.0rc1728671284198
3
+ Version: 2.0rc1729598262285
4
4
  Summary: SDK for DeltaFi plugins and actions
5
5
  License: Apache License, Version 2.0
6
6
  Keywords: deltafi
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3.9
17
17
  Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
20
21
  Classifier: Topic :: Software Development
21
22
  Requires-Dist: deepdiff (==6.7.1)
22
23
  Requires-Dist: json-logging (==1.3.0)
@@ -130,7 +130,7 @@ class TransformAction(Action, ABC):
130
130
  return TransformInput(content=delta_file_message.content_list, metadata=delta_file_message.metadata)
131
131
 
132
132
  def execute_join_action(self, event):
133
- if (isinstance(self, Join)):
133
+ if isinstance(self, Join):
134
134
  return self.execute(
135
135
  event.context,
136
136
  self.join([self.build_input(event.context, delta_file_message)
@@ -45,7 +45,6 @@ class Context(NamedTuple):
45
45
  flow_name: str
46
46
  flow_id: str
47
47
  action_name: str
48
- action_id: str
49
48
  action_version: str
50
49
  hostname: str
51
50
  system_name: str
@@ -79,10 +78,6 @@ class Context(NamedTuple):
79
78
  action_name = context['actionName']
80
79
  else:
81
80
  action_name = None
82
- if 'actionId' in context:
83
- action_id = context['actionId']
84
- else:
85
- action_id = None
86
81
  if 'actionVersion' in context:
87
82
  action_version = context['actionVersion']
88
83
  else:
@@ -114,7 +109,6 @@ class Context(NamedTuple):
114
109
  flow_name=flow_name,
115
110
  flow_id=flow_id,
116
111
  action_name=action_name,
117
- action_id=action_id,
118
112
  action_version=action_version,
119
113
  hostname=hostname,
120
114
  system_name=system_name,
@@ -22,7 +22,7 @@ from typing import Dict, NamedTuple
22
22
  class Metric(NamedTuple):
23
23
  name: str
24
24
  value: int
25
- tags: Dict[str, str]
25
+ tags: Dict[str, str] = {}
26
26
 
27
27
  def json(self):
28
28
  return {
@@ -159,13 +159,25 @@ class Plugin(object):
159
159
  def action_name(self, action):
160
160
  return f"{self.coordinates.group_id}.{action.__class__.__name__}"
161
161
 
162
+ def _load_action_docs(self, action):
163
+ docs_path = str(Path(os.path.dirname(os.path.abspath(sys.argv[0]))) / 'docs')
164
+ if not isdir(docs_path):
165
+ return None
166
+
167
+ action_docs_file = join(docs_path, action.__class__.__name__ + '.md')
168
+ if not isfile(action_docs_file):
169
+ return None
170
+
171
+ return open(action_docs_file).read()
172
+
162
173
  def _action_json(self, action):
163
174
  return {
164
175
  'name': self.action_name(action),
165
176
  'description': action.description,
166
177
  'type': action.action_type.name,
167
178
  'supportsJoin': isinstance(action, Join),
168
- 'schema': action.param_class().model_json_schema()
179
+ 'schema': action.param_class().model_json_schema(),
180
+ 'docsMarkdown': self._load_action_docs(action)
169
181
  }
170
182
 
171
183
  def registration_json(self):
@@ -263,7 +275,6 @@ class Plugin(object):
263
275
  'flowName': event.context.flow_name,
264
276
  'flowId': event.context.flow_id,
265
277
  'actionName': event.context.action_name,
266
- 'actionId': event.context.action_id,
267
278
  'start': start_time,
268
279
  'stop': stop_time,
269
280
  'type': result.result_type,
@@ -24,7 +24,6 @@ from typing import NamedTuple
24
24
  from deltafi.domain import Content, Context
25
25
  from deltafi.metric import Metric
26
26
 
27
- ENDPOINT_TAG = "endpoint"
28
27
  FILES_OUT = "files_out"
29
28
  BYTES_OUT = "bytes_out"
30
29
 
@@ -48,10 +47,10 @@ class Result:
48
47
 
49
48
 
50
49
  class EgressResult(Result):
51
- def __init__(self, context: Context, destination: str, bytes_egressed: int):
50
+ def __init__(self, context: Context, bytes_egressed: int):
52
51
  super().__init__(None, 'EGRESS', context)
53
- self.add_metric(Metric(FILES_OUT, 1, {ENDPOINT_TAG: destination}))
54
- self.add_metric(Metric(BYTES_OUT, bytes_egressed, {ENDPOINT_TAG: destination}))
52
+ self.add_metric(Metric(FILES_OUT, 1))
53
+ self.add_metric(Metric(BYTES_OUT, bytes_egressed))
55
54
 
56
55
  def response(self):
57
56
  return None
@@ -274,7 +274,6 @@ class ActionTest(ABC):
274
274
  flow_name=INGRESS_FLOW,
275
275
  flow_id="FLOWID",
276
276
  action_name=action_name,
277
- action_id="ACTIONID",
278
277
  action_version="1.0",
279
278
  hostname=HOSTNAME,
280
279
  system_name=SYSTEM,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "deltafi"
3
- version = "2.0rc1728671284198"
3
+ version = "2.0rc1729598262285"
4
4
  description = "SDK for DeltaFi plugins and actions"
5
5
  authors = ["DeltaFi <deltafi@systolic.com>"]
6
6
  license = "Apache License, Version 2.0"