scalable-pypeline 2.1.10__tar.gz → 2.1.12__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 (45) hide show
  1. {scalable-pypeline-2.1.10/scalable_pypeline.egg-info → scalable-pypeline-2.1.12}/PKG-INFO +1 -1
  2. scalable-pypeline-2.1.12/pypeline/__init__.py +1 -0
  3. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipeline_config_schema.py +4 -4
  4. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipeline_settings_schema.py +4 -1
  5. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/middleware/pypeline_middleware.py +8 -6
  6. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12/scalable_pypeline.egg-info}/PKG-INFO +1 -1
  7. scalable-pypeline-2.1.10/pypeline/__init__.py +0 -1
  8. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/LICENSE +0 -0
  9. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/MANIFEST.in +0 -0
  10. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/README.md +0 -0
  11. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/barrier.py +0 -0
  12. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/constants.py +0 -0
  13. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/dramatiq.py +0 -0
  14. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/extensions.py +0 -0
  15. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/flask/__init__.py +0 -0
  16. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/flask/api/__init__.py +0 -0
  17. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/flask/api/pipelines.py +0 -0
  18. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/flask/api/schedules.py +0 -0
  19. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/flask/decorators.py +0 -0
  20. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/flask/flask_pypeline.py +0 -0
  21. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/__init__.py +0 -0
  22. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/composition/__init__.py +0 -0
  23. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/composition/parallel_pipeline_composition.py +0 -0
  24. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/composition/pypeline_composition.py +0 -0
  25. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/factory.py +0 -0
  26. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/middleware/__init__.py +0 -0
  27. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/middleware/get_active_worker_id_middleware.py +0 -0
  28. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pipelines/middleware/parallel_pipeline_middleware.py +0 -0
  29. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/pypeline_yaml.py +0 -0
  30. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/schedule_config_schema.py +0 -0
  31. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/utils/__init__.py +0 -0
  32. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/utils/config_utils.py +0 -0
  33. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/utils/dramatiq_utils.py +0 -0
  34. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/utils/module_utils.py +0 -0
  35. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/utils/pipeline_utils.py +0 -0
  36. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/pypeline/utils/schema_utils.py +0 -0
  37. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/requirements.txt +0 -0
  38. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/scalable_pypeline.egg-info/SOURCES.txt +0 -0
  39. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/scalable_pypeline.egg-info/dependency_links.txt +0 -0
  40. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/scalable_pypeline.egg-info/entry_points.txt +0 -0
  41. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/scalable_pypeline.egg-info/requires.txt +0 -0
  42. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/scalable_pypeline.egg-info/top_level.txt +0 -0
  43. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/setup.cfg +0 -0
  44. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/setup.py +0 -0
  45. {scalable-pypeline-2.1.10 → scalable-pypeline-2.1.12}/tests/fixtures/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.1.10
3
+ Version: 2.1.12
4
4
  Summary: PypeLine - Python pipelines for the Real World
5
5
  Home-page: https://gitlab.com/bravos2/pypeline
6
6
  Author: Bravos Power Corporation
@@ -0,0 +1 @@
1
+ __version__ = "2.1.12"
@@ -120,8 +120,8 @@ class TaskDefinitionsSchemaV1(ExcludeUnknownSchema):
120
120
  serverType = fields.String(
121
121
  required=False,
122
122
  validate=OneOf(
123
- ["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
124
- error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl'.",
123
+ ["xs", "s", "m", "l", "xl", "xxl", "xxxl", "cpu-xl"],
124
+ error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl', 'cpu-xl'.",
125
125
  ),
126
126
  )
127
127
 
@@ -152,8 +152,8 @@ class TaskDefinitionsSchemaV2(ExcludeUnknownSchema):
152
152
  serverType = fields.String(
153
153
  required=False,
154
154
  validate=OneOf(
155
- ["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
156
- error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl'.",
155
+ ["xs", "s", "m", "l", "xl", "xxl", "xxxl", "cpu-xl"],
156
+ error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl', 'cpu-xl'.",
157
157
  ),
158
158
  )
159
159
 
@@ -1,4 +1,4 @@
1
- from marshmallow import Schema, fields, validate, ValidationError, validates_schema
1
+ from marshmallow import Schema, fields, validate, ValidationError, validates_schema, INCLUDE
2
2
 
3
3
 
4
4
  class MissingSettingsException(Exception):
@@ -178,6 +178,9 @@ def create_pipeline_settings_schema(pipeline_settings_schema_data):
178
178
  else:
179
179
  schema_fields[key] = field_type(**field_args)
180
180
 
181
+ schema_fields["Meta"] = type(
182
+ "Meta", (), {"unknown": INCLUDE}
183
+ )
181
184
  # Dynamically create a schema class with the generated fields
182
185
  DynamicPipelineSettingsSchema = type(
183
186
  "DynamicPipelineSettingsSchema", (Schema,), schema_fields
@@ -48,16 +48,16 @@ class PypelineMiddleware(Middleware):
48
48
 
49
49
  messages = []
50
50
  for child in children_tasks:
51
- child_ancestors = sorted(nx.ancestors(graph, child))
51
+ child_ancestors = sorted(graph.predecessors(child))
52
52
 
53
53
  ancestor_tasks_complete = True
54
54
 
55
55
  for ancestor in child_ancestors:
56
- task_key = f"{execution_id}-{ancestor}"
56
+ ancestor_task_key = f"{execution_id}-{ancestor}"
57
57
 
58
58
  locking_parallel_barrier = LockingParallelBarrier(
59
59
  self.redis_url,
60
- task_key=task_key,
60
+ task_key=ancestor_task_key,
61
61
  lock_key=f"{message.options['base_case_execution_id']}-lock",
62
62
  )
63
63
  try:
@@ -75,12 +75,14 @@ class PypelineMiddleware(Middleware):
75
75
  # If the lock didn't exist for the current tasks execution id then it would indicate
76
76
  # that this is the start of a new scenario. Therefore we need to find the ancestor
77
77
  # that is executed in the base case execution id and make sure it has completed
78
- if not remaining_tasks:
79
- task_key = f"{message.options['base_case_execution_id']}-{ancestor}"
78
+ if remaining_tasks is None:
79
+ ancestor_task_key = (
80
+ f"{message.options['base_case_execution_id']}-{ancestor}"
81
+ )
80
82
 
81
83
  locking_parallel_barrier = LockingParallelBarrier(
82
84
  self.redis_url,
83
- task_key=task_key,
85
+ task_key=ancestor_task_key,
84
86
  lock_key=f"{message.options['base_case_execution_id']}-lock",
85
87
  )
86
88
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.1.10
3
+ Version: 2.1.12
4
4
  Summary: PypeLine - Python pipelines for the Real World
5
5
  Home-page: https://gitlab.com/bravos2/pypeline
6
6
  Author: Bravos Power Corporation
@@ -1 +0,0 @@
1
- __version__ = "2.1.10"