scalable-pypeline 2.1.16__py2.py3-none-any.whl → 2.1.18__py2.py3-none-any.whl

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.
pypeline/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.1.16"
1
+ __version__ = "2.1.18"
@@ -1,3 +1,5 @@
1
+ from datetime import date
2
+
1
3
  from marshmallow import Schema, fields, validate, ValidationError, validates_schema, INCLUDE
2
4
 
3
5
 
@@ -34,6 +36,7 @@ def create_pipeline_settings_schema(pipeline_settings_schema_data):
34
36
  "datetime": fields.DateTime,
35
37
  "array": fields.List,
36
38
  "object": fields.Nested,
39
+ "date": fields.Date,
37
40
  }.get(data_type)
38
41
 
39
42
  if not field_type:
@@ -50,6 +53,7 @@ def create_pipeline_settings_schema(pipeline_settings_schema_data):
50
53
  "float": fields.Float,
51
54
  "boolean": fields.Boolean,
52
55
  "datetime": fields.DateTime,
56
+ "date": fields.Date,
53
57
  }.get(element_type)
54
58
  if not field_args["cls_or_instance"]:
55
59
  raise ValidationError(
@@ -119,6 +123,7 @@ def create_pipeline_settings_schema(pipeline_settings_schema_data):
119
123
  "float": fields.Float,
120
124
  "boolean": fields.Boolean,
121
125
  "datetime": fields.DateTime,
126
+ "date": fields.Date,
122
127
  "array": fields.List,
123
128
  "object": fields.Nested,
124
129
  }.get(data_type)
@@ -137,6 +142,7 @@ def create_pipeline_settings_schema(pipeline_settings_schema_data):
137
142
  "float": fields.Float,
138
143
  "boolean": fields.Boolean,
139
144
  "datetime": fields.DateTime,
145
+ "date": fields.Date,
140
146
  }.get(element_type)
141
147
  if not field_args["cls_or_instance"]:
142
148
  raise ValidationError(
@@ -229,7 +235,7 @@ class SettingSchema(Schema):
229
235
  dataType = fields.String(
230
236
  required=True,
231
237
  validate=validate.OneOf(
232
- ["string", "int", "float", "boolean", "datetime", "array", "object"]
238
+ ["string", "int", "float", "boolean", "datetime", "array", "object", "date"]
233
239
  ),
234
240
  metadata={"description": "The underlying data type of the setting"},
235
241
  )
@@ -317,6 +323,13 @@ class SettingSchema(Schema):
317
323
  raise ValidationError(
318
324
  f"Option value `{value}` must be an ISO 8601 string for `datetime`."
319
325
  )
326
+ elif data_type == "date":
327
+ try:
328
+ date.fromisoformat(value)
329
+ except Exception:
330
+ raise ValidationError(
331
+ f"Option value `{value}` must be an ISO 8601 string for `date`."
332
+ )
320
333
 
321
334
  @validates_schema
322
335
  def validate_search_endpoint(self, data, **kwargs):
@@ -93,10 +93,6 @@ class PypelineMiddleware(Middleware):
93
93
 
94
94
  if locking_parallel_barrier.task_exists():
95
95
  remaining_tasks = locking_parallel_barrier.get_task_count()
96
- else:
97
- raise Exception(
98
- f"Parent task {ancestor} barrier lock not found"
99
- )
100
96
  finally:
101
97
  locking_parallel_barrier.release_lock()
102
98
  if remaining_tasks is None or remaining_tasks >= 1:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.1.16
3
+ Version: 2.1.18
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,10 +1,10 @@
1
- pypeline/__init__.py,sha256=PUbyHN5ixal0BffZXLS2fU7ojPZOahFVrPT578Lb1Sg,23
1
+ pypeline/__init__.py,sha256=Hc95NdHPIFrDSqp8_iblHu8tL5yscXH7JDPIvIVi8oI,23
2
2
  pypeline/barrier.py,sha256=oO964l9qOCOibweOHyNivmAvufdXOke9nz2tdgclouo,1172
3
3
  pypeline/constants.py,sha256=EGSuLq4KhZ4bxrbtnUgKclELRyya5ipvv0WeybCzNAs,3049
4
4
  pypeline/dramatiq.py,sha256=D-E6_oJc9he-F2rvze-DCq4eBVY3Hq7V0pSC5crHrrU,13703
5
5
  pypeline/extensions.py,sha256=BzOTnXhNxap3N7uIUUh_hO6dDwx08Vc_RJDE93_K0Lo,610
6
6
  pypeline/pipeline_config_schema.py,sha256=kprvmfPfmNVP5MOqtWzDm4ON5NJWIKQC8GWbIy5EIuk,11183
7
- pypeline/pipeline_settings_schema.py,sha256=VgbMvTxQSqnvLX593RNoD9gTsZnJwzCc4wGpczV5CEI,20403
7
+ pypeline/pipeline_settings_schema.py,sha256=B_Jzh4rUKLYBRSBT2vYgeXMYdFiYRdt3_sX6t125Hkk,20899
8
8
  pypeline/pypeline_yaml.py,sha256=Og08sUKwOjq7JYPnkg-NIcGbHravYCkC5Arz22rZEtA,16981
9
9
  pypeline/schedule_config_schema.py,sha256=vtZV-5wpGcAiYcXxdBPRkrjsbR6x_9E-1PC2elrKKbE,3611
10
10
  pypeline/flask/__init__.py,sha256=AdljRh0lMiS8ExgDmgzObwVs8jW7hqQuf83Ml8kn8GQ,491
@@ -22,7 +22,7 @@ pypeline/pipelines/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
22
22
  pypeline/pipelines/middleware/get_active_worker_id_middleware.py,sha256=X4ZfRk3L8MD00DTsGHth7oOdy-W7LQV96T8vu5UC42A,755
23
23
  pypeline/pipelines/middleware/graceful_shutdown_middleware.py,sha256=k37zmFk9dOye05BoQP7KcB9MEQgvodI16kOJyYhRyAc,1764
24
24
  pypeline/pipelines/middleware/parallel_pipeline_middleware.py,sha256=kTp6niYoe2nXIiN6EGRfdpxrJyioo0GPxDkfefbGlEk,2821
25
- pypeline/pipelines/middleware/pypeline_middleware.py,sha256=ciXZD2rLMCLGI9wP5zB8g_5_zazt08LetQXuTJkedms,9147
25
+ pypeline/pipelines/middleware/pypeline_middleware.py,sha256=AGQCRmqXcYNyCxinwtGZplHwltrmZ_sH73CVRLu_0EE,8961
26
26
  pypeline/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  pypeline/utils/config_utils.py,sha256=rAIATyoW7kGETZ_Z2DqiXtGd7bJp5uPfcLtfNPOYsNs,2167
28
28
  pypeline/utils/dramatiq_utils.py,sha256=DUdgVywm1182A4i69XzH9EIh1EJ9zAHmJLtOaVSW7pw,3844
@@ -31,9 +31,9 @@ pypeline/utils/module_utils.py,sha256=-yEJIukDCoXnmlZVXB6Dww25tH6GdPE5SoFqv6pfdV
31
31
  pypeline/utils/pipeline_utils.py,sha256=kGP1QwCJikGC5QNRtzRXCDVewyRMpWIqERTNnxGLlSY,4795
32
32
  pypeline/utils/schema_utils.py,sha256=Fgl0y9Cuo_TZeEx_S3gaSVnLjn6467LTkjb2ek7Ms98,851
33
33
  tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- scalable_pypeline-2.1.16.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
35
- scalable_pypeline-2.1.16.dist-info/METADATA,sha256=nHdyiW06DjIJ2iTZQzj9ncVIxlZ0ZovdhthG3dOdFhI,5982
36
- scalable_pypeline-2.1.16.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
37
- scalable_pypeline-2.1.16.dist-info/entry_points.txt,sha256=uWs10ODfHSBKo2Cx_QaUjPHQTpZ3e77j9VlAdRRmMyg,119
38
- scalable_pypeline-2.1.16.dist-info/top_level.txt,sha256=C7dpkEOc_-nnsAQb28BfQknjD6XHRyS9ZrvVeoIbV7s,15
39
- scalable_pypeline-2.1.16.dist-info/RECORD,,
34
+ scalable_pypeline-2.1.18.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
35
+ scalable_pypeline-2.1.18.dist-info/METADATA,sha256=GaWesZImz-Dc7QAypUT-8qi3GKte69QSQakBEOITY2c,5982
36
+ scalable_pypeline-2.1.18.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
37
+ scalable_pypeline-2.1.18.dist-info/entry_points.txt,sha256=uWs10ODfHSBKo2Cx_QaUjPHQTpZ3e77j9VlAdRRmMyg,119
38
+ scalable_pypeline-2.1.18.dist-info/top_level.txt,sha256=C7dpkEOc_-nnsAQb28BfQknjD6XHRyS9ZrvVeoIbV7s,15
39
+ scalable_pypeline-2.1.18.dist-info/RECORD,,