cornflow 1.1.1a1__py3-none-any.whl → 1.1.4__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.
Files changed (35) hide show
  1. cornflow/app.py +0 -4
  2. cornflow/cli/utils.py +1 -1
  3. cornflow/config.py +2 -10
  4. cornflow/endpoints/__init__.py +0 -14
  5. cornflow/endpoints/execution.py +1 -1
  6. cornflow/endpoints/login.py +1 -8
  7. cornflow/models/__init__.py +0 -2
  8. cornflow/models/execution.py +0 -8
  9. cornflow/models/meta_models.py +12 -23
  10. cornflow/schemas/execution.py +0 -3
  11. cornflow/shared/const.py +0 -21
  12. cornflow/shared/exceptions.py +9 -20
  13. cornflow/tests/const.py +0 -7
  14. cornflow/tests/{custom_live_server.py → custom_liveServer.py} +1 -3
  15. cornflow/tests/custom_test_case.py +3 -2
  16. cornflow/tests/integration/test_commands.py +1 -1
  17. cornflow/tests/integration/test_cornflowclient.py +28 -116
  18. cornflow/tests/unit/test_alarms.py +9 -22
  19. cornflow/tests/unit/test_cli.py +5 -10
  20. cornflow/tests/unit/test_commands.py +2 -6
  21. cornflow/tests/unit/test_executions.py +0 -5
  22. cornflow/tests/unit/test_main_alarms.py +0 -8
  23. cornflow/tests/unit/test_users.py +2 -5
  24. {cornflow-1.1.1a1.dist-info → cornflow-1.1.4.dist-info}/METADATA +7 -7
  25. {cornflow-1.1.1a1.dist-info → cornflow-1.1.4.dist-info}/RECORD +28 -35
  26. {cornflow-1.1.1a1.dist-info → cornflow-1.1.4.dist-info}/WHEEL +1 -1
  27. cornflow/endpoints/reports.py +0 -283
  28. cornflow/migrations/versions/83164be03c23_.py +0 -40
  29. cornflow/migrations/versions/96f00d0961d1_reports_table.py +0 -50
  30. cornflow/models/reports.py +0 -119
  31. cornflow/schemas/reports.py +0 -48
  32. cornflow/static/v1.json +0 -3854
  33. cornflow/tests/unit/test_reports.py +0 -308
  34. {cornflow-1.1.1a1.dist-info → cornflow-1.1.4.dist-info}/entry_points.txt +0 -0
  35. {cornflow-1.1.1a1.dist-info → cornflow-1.1.4.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,6 @@
1
1
  """
2
2
 
3
3
  """
4
-
5
- import unittest
6
- import os
7
-
8
4
  # Imports from internal modules
9
5
  from cornflow.models import AlarmsModel
10
6
  from cornflow.tests.const import ALARMS_URL
@@ -19,34 +15,25 @@ class TestAlarmsEndpoint(CustomTestCase):
19
15
  self.response_items = {"id", "name", "description", "criticality", "schema"}
20
16
  self.items_to_check = ["name", "description", "schema", "criticality"]
21
17
 
22
- @unittest.skipUnless(
23
- int(os.getenv("CF_ALARMS_ENDPOINT")) == 1, "No alarms implemented"
24
- )
25
18
  def test_post_alarm(self):
26
- payload = {
27
- "name": "Alarm 1",
28
- "description": "Description Alarm 1",
29
- "criticality": 1,
30
- }
19
+ payload = {"name": "Alarm 1", "description": "Description Alarm 1", "criticality": 1}
31
20
  self.create_new_row(self.url, self.model, payload)
32
21
 
33
- @unittest.skipUnless(
34
- int(os.getenv("CF_ALARMS_ENDPOINT")) == 1, "No alarms implemented"
35
- )
36
22
  def test_get_alarms(self):
37
23
  data = [
38
24
  {"name": "Alarm 1", "description": "Description Alarm 1", "criticality": 1},
39
- {
40
- "name": "Alarm 2",
41
- "description": "Description Alarm 2",
42
- "criticality": 2,
43
- "schema": "solve_model_dag",
44
- },
25
+ {"name": "Alarm 2", "description": "Description Alarm 2", "criticality": 2, "schema": "solve_model_dag"},
45
26
  ]
46
- rows = self.get_rows(self.url, data, check_data=False)
27
+ rows = self.get_rows(
28
+ self.url,
29
+ data,
30
+ check_data=False
31
+ )
47
32
  rows_data = list(rows.json)
48
33
  for i in range(len(data)):
49
34
  for key in self.get_keys_to_check(data[i]):
50
35
  self.assertIn(key, rows_data[i])
51
36
  if key in data[i]:
52
37
  self.assertEqual(rows_data[i][key], data[i][key])
38
+
39
+
@@ -20,11 +20,6 @@ from cornflow.shared.exceptions import NoPermission, ObjectDoesNotExist
20
20
  class CLITests(TestCase):
21
21
  def setUp(self):
22
22
  db.create_all()
23
- self.number_of_views = 52
24
- self.number_of_permissions = 574
25
- if int(os.getenv("CF_ALARMS_ENDPOINT", 0)) != 1:
26
- self.number_of_views = 50
27
- self.number_of_permissions = 519
28
23
 
29
24
  def tearDown(self):
30
25
  db.session.remove()
@@ -136,7 +131,7 @@ class CLITests(TestCase):
136
131
  result = runner.invoke(cli, ["views", "init", "-v"])
137
132
  self.assertEqual(result.exit_code, 0)
138
133
  views = ViewModel.get_all_objects().all()
139
- self.assertEqual(len(views), self.number_of_views)
134
+ self.assertEqual(len(views), 49)
140
135
 
141
136
  def test_permissions_entrypoint(self):
142
137
  runner = CliRunner()
@@ -160,8 +155,8 @@ class CLITests(TestCase):
160
155
  permissions = PermissionViewRoleModel.get_all_objects().all()
161
156
  self.assertEqual(len(actions), 5)
162
157
  self.assertEqual(len(roles), 4)
163
- self.assertEqual(len(views), self.number_of_views)
164
- self.assertEqual(len(permissions), self.number_of_permissions)
158
+ self.assertEqual(len(views), 49)
159
+ self.assertEqual(len(permissions), 546)
165
160
 
166
161
  def test_permissions_base_command(self):
167
162
  runner = CliRunner()
@@ -176,8 +171,8 @@ class CLITests(TestCase):
176
171
  permissions = PermissionViewRoleModel.get_all_objects().all()
177
172
  self.assertEqual(len(actions), 5)
178
173
  self.assertEqual(len(roles), 4)
179
- self.assertEqual(len(views), self.number_of_views)
180
- self.assertEqual(len(permissions), self.number_of_permissions)
174
+ self.assertEqual(len(views), 49)
175
+ self.assertEqual(len(permissions), 546)
181
176
 
182
177
  def test_service_entrypoint(self):
183
178
  runner = CliRunner()
@@ -1,5 +1,5 @@
1
1
  import json
2
- import os
2
+
3
3
  from flask_testing import TestCase
4
4
 
5
5
  from cornflow.app import (
@@ -48,11 +48,7 @@ class TestCommands(TestCase):
48
48
  "email": "testemail@test.org",
49
49
  "password": "Testpassword1!",
50
50
  }
51
-
52
- if int(os.getenv("CF_ALARMS_ENDPOINT")) == 1:
53
- self.resources = resources + alarms_resources
54
- else:
55
- self.resources = resources
51
+ self.resources = resources + alarms_resources
56
52
  self.runner = self.create_app().test_cli_runner()
57
53
  self.runner.invoke(register_roles, ["-v"])
58
54
 
@@ -57,7 +57,6 @@ class TestExecutionsListEndpoint(BaseTestCases.ListFilters):
57
57
  "instance_id",
58
58
  "name",
59
59
  "indicators",
60
- "reports",
61
60
  ]
62
61
 
63
62
  def test_new_execution(self):
@@ -261,7 +260,6 @@ class TestExecutionsDetailEndpointMock(CustomTestCase):
261
260
  "schema",
262
261
  "user_id",
263
262
  "indicators",
264
- "reports",
265
263
  }
266
264
  # we only check the following because this endpoint does not return data
267
265
  self.items_to_check = ["name", "description"]
@@ -305,7 +303,6 @@ class TestExecutionsDetailEndpoint(
305
303
  "name",
306
304
  "created_at",
307
305
  "state",
308
- "reports",
309
306
  ]
310
307
  execution = self.get_one_row(
311
308
  self.url + idx,
@@ -411,7 +408,6 @@ class TestExecutionsDataEndpoint(TestExecutionsDetailEndpointMock):
411
408
  "state",
412
409
  "name",
413
410
  "id",
414
- "reports",
415
411
  ]
416
412
 
417
413
  def test_get_one_execution(self):
@@ -454,7 +450,6 @@ class TestExecutionsLogEndpoint(TestExecutionsDetailEndpointMock):
454
450
  "user_id",
455
451
  "config",
456
452
  "indicators",
457
- "reports",
458
453
  ]
459
454
 
460
455
  def test_get_one_execution(self):
@@ -2,8 +2,6 @@
2
2
 
3
3
  """
4
4
 
5
- import unittest
6
- import os
7
5
  import json
8
6
 
9
7
  # Imports from internal modules
@@ -31,9 +29,6 @@ class TestMainAlarmsEndpoint(CustomTestCase):
31
29
  headers=self.get_header_with_auth(self.token),
32
30
  ).json["id"]
33
31
 
34
- @unittest.skipUnless(
35
- int(os.getenv("CF_ALARMS_ENDPOINT")) == 1, "No alarms implemented"
36
- )
37
32
  def test_post_main_alarm(self):
38
33
  payload = {
39
34
  "message": "Message Main Alarm 1",
@@ -42,9 +37,6 @@ class TestMainAlarmsEndpoint(CustomTestCase):
42
37
  }
43
38
  self.create_new_row(self.url, self.model, payload)
44
39
 
45
- @unittest.skipUnless(
46
- int(os.getenv("CF_ALARMS_ENDPOINT")) == 1, "No alarms implemented"
47
- )
48
40
  def test_get_main_alarms(self):
49
41
  data = [
50
42
  {
@@ -363,11 +363,7 @@ class TestUserEndpoint(TestCase):
363
363
 
364
364
  def test_change_password_rotation(self):
365
365
  current_app.config["PWD_ROTATION_TIME"] = 1 # in days
366
- payload = {
367
- "pwd_last_change": (datetime.utcnow() - timedelta(days=2)).strftime(
368
- "%Y-%m-%dT%H:%M:%SZ"
369
- )
370
- }
366
+ payload = {"pwd_last_change": (datetime.utcnow() - timedelta(days=2)).strftime("%Y-%m-%dT%H:%M:%SZ")}
371
367
  self.modify_info(self.planner, self.planner, payload)
372
368
  response = self.log_in(self.planner)
373
369
  self.assertEqual(True, response.json["change_password"])
@@ -375,6 +371,7 @@ class TestUserEndpoint(TestCase):
375
371
  payload = {"password": "Newtestpassword1!"}
376
372
  self.modify_info(self.planner, self.planner, payload)
377
373
  self.planner.update(payload)
374
+ print(self.planner)
378
375
  response = self.log_in(self.planner)
379
376
  self.assertEqual(False, response.json["change_password"])
380
377
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cornflow
3
- Version: 1.1.1a1
3
+ Version: 1.1.4
4
4
  Summary: Cornflow is an open source multi-solver optimization server with a REST API built using flask.
5
5
  Home-page: https://github.com/baobabsoluciones/cornflow
6
6
  Author: baobab soluciones
@@ -15,14 +15,14 @@ Requires-Python: >=3.8
15
15
  Requires-Dist: alembic==1.9.2
16
16
  Requires-Dist: apispec<=6.2.0
17
17
  Requires-Dist: click<=8.1.3
18
- Requires-Dist: cornflow-client==1.1.1a1
18
+ Requires-Dist: cornflow-client>=1.1.0
19
19
  Requires-Dist: cryptography<=42.0.5
20
20
  Requires-Dist: disposable-email-domains>=0.0.86
21
21
  Requires-Dist: Flask==2.3.2
22
22
  Requires-Dist: flask-apispec<=0.11.4
23
23
  Requires-Dist: Flask-Bcrypt<=1.0.1
24
24
  Requires-Dist: Flask-Compress<=1.13
25
- Requires-Dist: flask-cors<=4.0.1
25
+ Requires-Dist: flask-cors>=4.0.2
26
26
  Requires-Dist: flask-inflate<=0.3
27
27
  Requires-Dist: Flask-Migrate<=4.0.4
28
28
  Requires-Dist: Flask-RESTful<=0.3.9
@@ -32,14 +32,14 @@ Requires-Dist: gunicorn<=22.0.0
32
32
  Requires-Dist: jsonpatch<=1.32
33
33
  Requires-Dist: ldap3<=2.9.1
34
34
  Requires-Dist: marshmallow<=3.19.0
35
- Requires-Dist: PuLP<=2.7.0
35
+ Requires-Dist: PuLP<=2.9.0
36
36
  Requires-Dist: psycopg2<=2.95
37
- Requires-Dist: PyJWT<=2.6.0,>=2.0.0
37
+ Requires-Dist: PyJWT<=2.6.0
38
38
  Requires-Dist: pytups>=0.86.2
39
- Requires-Dist: requests<=2.31.0
39
+ Requires-Dist: requests<=2.32.3
40
40
  Requires-Dist: SQLAlchemy==1.3.21
41
41
  Requires-Dist: webargs<=8.2.0
42
- Requires-Dist: Werkzeug<=3.0.3
42
+ Requires-Dist: Werkzeug==3.0.6
43
43
  Requires-Dist: greenlet<=2.0.2; python_version < "3.11"
44
44
  Requires-Dist: greenlet==3.0.0; python_version >= "3.11"
45
45
 
@@ -5,8 +5,8 @@ airflow_config/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
5
5
  airflow_config/plugins/XCom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  airflow_config/plugins/XCom/gce_xcom_backend.py,sha256=vCGvF2jbfZt5bOv-pk5Q_kUR6LomFUojIymimSJmj3o,1795
7
7
  cornflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- cornflow/app.py,sha256=9WV1wrH_6EzaCgBGgpbHu6C8-n0MX_crJI2FxBwR85I,7090
9
- cornflow/config.py,sha256=MqRw-yQM60BVzU7rC9Ui63_f0VfFIuXceq2mw5WlBNs,5106
8
+ cornflow/app.py,sha256=3tj9aMOLFzBGS4QFPD0Zt2A7N0C5lssvy8NZ-G4sU9E,6997
9
+ cornflow/config.py,sha256=CGG2BMn8l1gCB0Okk-8IRrtqiRIUK09fq3xO397ZHig,4738
10
10
  cornflow/gunicorn.py,sha256=uO-Yk7w7nvQSWh12iDxsVvlG-_2BiKIIjm2UiTk4P9E,480
11
11
  cornflow/cli/__init__.py,sha256=5jBmSMpaE1S9rDaQjS8VHJ6x4FfJG8MhKzMzfw7G4Zc,743
12
12
  cornflow/cli/actions.py,sha256=BdTFucT6gZ0QJqo96Zu0C2G9acZ578tLkktKSfTybJ8,414
@@ -18,7 +18,7 @@ cornflow/cli/roles.py,sha256=NFG__qrlyOT0h4L4nwo9FSV4DKjGtMVh3gwiJxwM37w,411
18
18
  cornflow/cli/schemas.py,sha256=sxuJOZf12SBZAXDiAYNPB-n9LSxzSwkB3xyhgS_4K9A,6086
19
19
  cornflow/cli/service.py,sha256=7_va2Gv1qySldWtTHLL0b_Tg6tuYzAVduyeKmoiBgVs,9292
20
20
  cornflow/cli/users.py,sha256=nPnu8rQNLtwmeXLwYtJ_hjlsa_24XOnQLgBJRBP9bJw,2104
21
- cornflow/cli/utils.py,sha256=2BbC0fVuCXQKAH0j-fltSFtaXxOZHFKwGoU2XDMG65Q,708
21
+ cornflow/cli/utils.py,sha256=0tF41gTt6LL9XGOizTQg2GXuOXbqLg6gapCr-HWjJ0Q,733
22
22
  cornflow/cli/views.py,sha256=Xyx2l-Sm7panxQEfR3qksCIUoqF7woMKsYgZALkxUXM,636
23
23
  cornflow/cli/tools/__init__.py,sha256=JtyhYfUfirw78BV1mCsdeY0W25fDPWTmZhNBWdDh0wA,19
24
24
  cornflow/cli/tools/api_generator.py,sha256=7ZEEGBdL9Anbj5gnPm3m_eHQm0ehz7Y7YaD952mGh58,16344
@@ -37,7 +37,7 @@ cornflow/commands/roles.py,sha256=Oux-UkswkQ74zqaMEJYIEsZpQZGBcGaSahVzx9feAHU,15
37
37
  cornflow/commands/schemas.py,sha256=QjLXLw5So3f8ZqTg5_uvXxwpo4vE0dMT4_gFMKZHGvQ,1828
38
38
  cornflow/commands/users.py,sha256=MEfqMm2ujso0NQgdUm-crOet-G0M43GNqVCx2Ls-2HY,2591
39
39
  cornflow/commands/views.py,sha256=K2Ld1-l1ZKn9m6e2W1LCxmN44QokwR-8u8rIrviiEf8,2276
40
- cornflow/endpoints/__init__.py,sha256=Haon-F6Zve6eDAQw6TQH6CS4INHYT2CnTerP4cys8SE,7829
40
+ cornflow/endpoints/__init__.py,sha256=RI-cNRxYFCuYELPdM0kDDgJhopMMX88HJe-ArTTilNM,7346
41
41
  cornflow/endpoints/action.py,sha256=ksHK3F919cjkONLcFV2tUIbG-eZw5XbYkqVjYx9iq5I,1359
42
42
  cornflow/endpoints/alarms.py,sha256=3FN7mosBFP_DcJQxfg1h5_phy755FYESXyQ62XpvFbs,1956
43
43
  cornflow/endpoints/apiview.py,sha256=cpxZFkWy6yrRHiAq2tseyVAK1r8uvjnFuOgJjGT0rKI,1370
@@ -45,15 +45,14 @@ cornflow/endpoints/case.py,sha256=80Fpv9p8mwIXzjQFuyq1PnPTz3RaOUk932sCUfw7yGA,18
45
45
  cornflow/endpoints/dag.py,sha256=MRthA2pnZCAFfoPbHCLDW2j1BsQ3WdjRGC17Szl4b28,10390
46
46
  cornflow/endpoints/data_check.py,sha256=ZyYR84IT9snjXxUrQfrlv_RzOec_AYeTsijuHYdLAcA,16496
47
47
  cornflow/endpoints/example_data.py,sha256=1_qAtZfp51N9sU8WCFDZCXOQiOlxCKJjWbXxDOFZ0C8,4372
48
- cornflow/endpoints/execution.py,sha256=cPIqt0MQId5ugl3HC82iOSbLY-vRjK_Obe8U1-1TL1I,27999
48
+ cornflow/endpoints/execution.py,sha256=5SWwgbxBUj_gDU6Yb7Z-iKNakr9vr3g5qU82Bw9y5wQ,27998
49
49
  cornflow/endpoints/health.py,sha256=TWmWjKdQOoDzpqwcfksuaAGOLIb2idxzPQcGMWrdkCY,1610
50
50
  cornflow/endpoints/instance.py,sha256=WAnloocXFxSW4vunBJo3CIHx4NzC_0GPJh5bj3ETd9U,11615
51
51
  cornflow/endpoints/licenses.py,sha256=82hHWGYvVIiyw9mlwGtMwJMDJ-ShHOi9rvuM6KvfE4U,873
52
- cornflow/endpoints/login.py,sha256=eVZHo7T-YD080ofUckbPNv0Yhtcp4SaumlVsZb2mOxg,8402
52
+ cornflow/endpoints/login.py,sha256=Gaqhlrno6XGcZ0z3uVqPM61r2DUP_xGlfY62R-MDRqA,8033
53
53
  cornflow/endpoints/main_alarms.py,sha256=GUB-UdnvEFi7n6FGFKO9VtZeZb4Ox3NvBMhB7rdqNyI,2006
54
54
  cornflow/endpoints/meta_resource.py,sha256=eqC6U8IpY65Cbk2WpdphRtE6o5kes2lB4LhezfUB7xI,8471
55
55
  cornflow/endpoints/permission.py,sha256=FpEBIucfUl89UaJ80SC0VR6pFAdqdSsS43SdNkcXWtI,3751
56
- cornflow/endpoints/reports.py,sha256=ESYIvG23muEeaRr-plnnVralfeyg7SS68izbxShY4Vg,10198
57
56
  cornflow/endpoints/roles.py,sha256=54ra4MQ9JmrHDsiGczDAVqHgAT4zwhdTA1dLBOy66v8,6105
58
57
  cornflow/endpoints/schemas.py,sha256=lHyvSpPj0x7zVYDlEeRrz_Qqyp6WNimibs5gK4BHpKI,2933
59
58
  cornflow/endpoints/signup.py,sha256=4Xle2aTd6fiblb2pFcTaBP3ykXSuXsrc7qD0JjpqeZY,3513
@@ -69,8 +68,6 @@ cornflow/migrations/versions/00757b557b02_.py,sha256=PtFD0nIRBHjpDiCrhudxReI6ej6
69
68
  cornflow/migrations/versions/1af47a419bbd_.py,sha256=F6XOkxhojBbOSv3EGiWJvvncSMNAUPy2h5-NV2Gd5ak,1926
70
69
  cornflow/migrations/versions/4aac5e0c6e66_.py,sha256=ecWq38w_1vWpbLqsEkTsPw1tGv88OMt9L8JNZHlu7LI,2200
71
70
  cornflow/migrations/versions/7c3ea5ab5501_.py,sha256=TX9Are_ELRweHeGOo3tV4XAB9cFIVH6LAooCvoNfJxU,1569
72
- cornflow/migrations/versions/83164be03c23_.py,sha256=Ed21NOt_sEdsfdO6MqwkiEjrQu-FQHBwEI1ArA6CGok,1170
73
- cornflow/migrations/versions/96f00d0961d1_reports_table.py,sha256=nWcJ9wPeQTsbrYGdBoMzQb3dmmPCJgKGw5oSlpAfsMM,1464
74
71
  cornflow/migrations/versions/991b98e24225_.py,sha256=oNDQKQw6SfMdAB9HYV9Vb-haz5dJQo9lp3uJR-K9xYk,834
75
72
  cornflow/migrations/versions/a472b5ad50b7_.py,sha256=RpaLV-eTZmOS4BN53F_o0yG6ZGfmfKIJjrn2x2M6THw,1370
76
73
  cornflow/migrations/versions/c2db9409cb5f_.py,sha256=M6udQ0vaIJXEsGpb31ZqAdU_eDwvbHPvWLvNsGQx7yY,1812
@@ -82,19 +79,18 @@ cornflow/migrations/versions/e1a50dae1ac9_.py,sha256=NIRKFg1hvo4F-YqMdsYoX9VwzKl
82
79
  cornflow/migrations/versions/e937a5234ce4_.py,sha256=460JyCKPN6XL5DDcJfC51WKr9V342ovVhuo8F7fwuo0,710
83
80
  cornflow/migrations/versions/ebdd955fcc5e_.py,sha256=MzLbzmiwMWWVkJWJ8EMmmBnCIOzvlwXKGFWxELnOQpE,1848
84
81
  cornflow/migrations/versions/f3bee20314a2_.py,sha256=pgfAeiPvFvPJXhWlFHq6Y7bjYFGvapsfHEFXXX8UJlE,1782
85
- cornflow/models/__init__.py,sha256=pbHTYGk7k-HbQYjB8SpC4KFdM1fp838PbdnaPPxiL6M,534
82
+ cornflow/models/__init__.py,sha256=hvUe_9Xep1gl8hPKcWxCZN9sORH0Opskj_DnNs3bn24,500
86
83
  cornflow/models/action.py,sha256=8MYzQ2qX5bG0zk28OufypzThkR7AU1J1el-5ABoTurg,1200
87
84
  cornflow/models/alarms.py,sha256=R_g3tkWNSJaAG4gSvthgJlyrueY9VDuIZPoVHk5lDvU,1682
88
85
  cornflow/models/base_data_model.py,sha256=mVMHJpEoJeH6Wly_ZIfzLfTPd39nSYpCgmtA_ft2VPs,5577
89
86
  cornflow/models/case.py,sha256=GEs-xeo0bJ5qJETDnIur-2q2IyR3NSj1K0jP3Arz4Xs,9572
90
87
  cornflow/models/dag.py,sha256=DhHpBqJXrLzPoVSyrS_rYI7BotdzITopJDKsql3mQnQ,2930
91
88
  cornflow/models/dag_permissions.py,sha256=QkhPxSLKxH5elIMdf-rnRtV_CEZBQDFFKUOWv15RgwI,1716
92
- cornflow/models/execution.py,sha256=UUrQk0w5ZbaM82ZiLA7vJqKS71ZZcgPMSYR3UrEldmk,6275
89
+ cornflow/models/execution.py,sha256=9sq_GXSAgFgTpDX3kbJGwsHwNQGXH9E_gfNYIfNtDOk,6022
93
90
  cornflow/models/instance.py,sha256=2E9kBKv1a8soaEAvG8X4qXQ4BVC-IWYD5WQcPmZQw00,3979
94
91
  cornflow/models/main_alarms.py,sha256=9S-Ohr2kYFFWB0HomrpSdDIoUr85Eu1rt90Om_Pa8VY,1748
95
- cornflow/models/meta_models.py,sha256=cCYYWfB-Xm5nh-1bJCFeE8i1vrGElhpO-DQucJ_z8hA,12313
92
+ cornflow/models/meta_models.py,sha256=qeliGdpw0_q0GCeZzansF-09Ay5pueaT-QQPVPZ5aj4,12000
96
93
  cornflow/models/permissions.py,sha256=vPHa0A40e18YLzQEzKk9BrqsDQWfguIlsfrSufmW9dY,2804
97
- cornflow/models/reports.py,sha256=hZmwd2whHFQYMI2csMzIXqA3iBWhJzfHDjFkmkYBq4w,4568
98
94
  cornflow/models/role.py,sha256=dEASPw8-aLbRRkoyId2zk7lFTq1twpRPMTkwb0zEOIE,2052
99
95
  cornflow/models/user.py,sha256=podqU5Emhe52ytsUnrBcKShk_jSH_0Em0UXZEAmWgjI,8755
100
96
  cornflow/models/user_role.py,sha256=rr-0S4sV5l6xDQIwd94c3bPepDA50NdStwd3MSzRJbU,4974
@@ -106,7 +102,7 @@ cornflow/schemas/case.py,sha256=OXRsDi_sdB47MQJ59S_1eMjDmLlpUtG7kTFNInV2-cI,2909
106
102
  cornflow/schemas/common.py,sha256=QYuxWcOl4smXFZr_vL07OVgH9H50ZywCrXxycVNr1qA,473
107
103
  cornflow/schemas/dag.py,sha256=0ENA75X9L8YqjJW6ZO1Sb4zE8OxB15_O49_nwA6eAVw,901
108
104
  cornflow/schemas/example_data.py,sha256=hbE8TJakFqOweHXiA3mduNETM6FCX6xLTiQuH3EkSTc,281
109
- cornflow/schemas/execution.py,sha256=tPqRYFs7KB9-t_vffd9zlM6uIzPOoktvg4mfN3dzQy8,4853
105
+ cornflow/schemas/execution.py,sha256=GSRHzikVPlhxMdiKrGnTuGfen8_Lf4wSfheJwvcavTs,4718
110
106
  cornflow/schemas/health.py,sha256=D2NsP9i6nA1hLema-bvegrrdH4JY7pZlYxPcqRJOvao,141
111
107
  cornflow/schemas/instance.py,sha256=qr4km0AlAhoNf9G1Il-pfHphT_vAiiLDpv7A9S3FKAw,1870
112
108
  cornflow/schemas/main_alarms.py,sha256=cC1_Vb1dmo_vdZpZQrA7jH-hRCjVtLRy6Z2JFBlTrlo,604
@@ -114,7 +110,6 @@ cornflow/schemas/model_json.py,sha256=qUsdd1XmxhcsAmb1JB0xAsvucZoAeQhAQD_3wiY-rV
114
110
  cornflow/schemas/patch.py,sha256=nB6vhmscusfC8tSl4Ded0UwQIbGjGF5_Nwx0kxygKWk,260
115
111
  cornflow/schemas/permissions.py,sha256=dgHKXLDyB1-q-Ii7cuHLpovlFPthtEV3mNxRgTe42ac,1270
116
112
  cornflow/schemas/query.py,sha256=lQ6lMy0O6RRQLA-9JtQ95p70yd7vra4cGIbLrYO74GE,984
117
- cornflow/schemas/reports.py,sha256=jqsmTXZwg4ZBEozY54XvAvAPZ7T05D0OM-51WF8hiIg,1255
118
113
  cornflow/schemas/role.py,sha256=lZYoLpA0weuDiFgpk3PWrHYJdljvZ3HEIOS-ISNLcCg,469
119
114
  cornflow/schemas/schemas.py,sha256=vNyOwrchuTT3TMR9Jj07pauSr2sFTM-rfIfiKUycOjo,433
120
115
  cornflow/schemas/solution_log.py,sha256=jSutvj0-2RJIqzn7ANLFanAD4jrSDvtgqf6DF6UZBhs,2255
@@ -124,9 +119,9 @@ cornflow/schemas/user_role.py,sha256=e5y6RgdZZtLqD-h2B3sa5WokI5-pT78tWw85IG34I74
124
119
  cornflow/schemas/view.py,sha256=ctq9Y1TmjrWdyOqgDYeEx7qbbuNLKfSiNOlFTlXmpaw,429
125
120
  cornflow/shared/__init__.py,sha256=1ahcBwWOsSjGI4FEm77JBQjitBdBszOncKcEMjzwGYE,29
126
121
  cornflow/shared/compress.py,sha256=pohQaGs1xbH8CN6URIH6BAHA--pFq7Hmjz8oI3c3B5c,1347
127
- cornflow/shared/const.py,sha256=tEe41Ptw_GTsHpKu9cASn5eNIydXtcES_uDjo-4Fmmw,4005
122
+ cornflow/shared/const.py,sha256=nRZElCjbuJIpjzVlCfZjTN4mAbqDTXIyAbSMlkNL3n8,3440
128
123
  cornflow/shared/email.py,sha256=QNDDMv86LZObkevSCyUbLQeR2UD3zWScPIr82NDzYHQ,3437
129
- cornflow/shared/exceptions.py,sha256=btAKuZelxHAwkwCPJZiYeipj4VfHd2cdsYPwLjd0Zv8,7173
124
+ cornflow/shared/exceptions.py,sha256=BNbC5hzAoC9vDQ3NLM9uLqI14nwCEP1AT3UjeFghnY0,6979
130
125
  cornflow/shared/licenses.py,sha256=Lc71Jw2NxVTFWtoXdQ9wJX_o3BDfYg1xVoehDXvnCkQ,1328
131
126
  cornflow/shared/log_config.py,sha256=FM2ajjp2MB4BlFbUHklnWInT7-LLjtrqQ0mo3k_HRmE,621
132
127
  cornflow/shared/query_tools.py,sha256=6yGLCWjv-I2a_ZU4A0IymyJq67fZPZdRcCGOGQQpSXg,1199
@@ -137,46 +132,44 @@ cornflow/shared/authentication/__init__.py,sha256=cJIChk5X6hbA_16usEvfHr8g4JDFI6
137
132
  cornflow/shared/authentication/auth.py,sha256=aQ8oUq9nC3FMbCivPFr2aWQXqP_cDeP6f7ljDhTm-wM,18664
138
133
  cornflow/shared/authentication/decorators.py,sha256=_QpwOU1kYzpaK85Dl0Btdj5hG8Ps47PFgySp_gqhlgk,1276
139
134
  cornflow/shared/authentication/ldap.py,sha256=QfdC2X_ZMcIJabKC5pYWDGMhS5pIOJJvdZXuuiruq-M,4853
140
- cornflow/static/v1.json,sha256=muwt8Rq63woLy50-wIFKAcq1hTbjnz_tS0jMhhkvfFg,84586
141
135
  cornflow/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
- cornflow/tests/const.py,sha256=B7Pc6LIEEogjnxXq-tBXzNRIMf0WktrdJgA4SqaVhXo,2810
143
- cornflow/tests/custom_live_server.py,sha256=BtSPT9FVtqxf2oHL1kbPnkBNJdCi0aAhnHh3TQrfQMU,3149
144
- cornflow/tests/custom_test_case.py,sha256=83WvsjxnLRB8FYpbLpz338GGLFqzZKAXoYUod1jcYNY,25144
136
+ cornflow/tests/const.py,sha256=_5BYFGN42Xg0PXMR8UU5DBL6dYmYn5rgRBgPyptrKso,2499
137
+ cornflow/tests/custom_liveServer.py,sha256=I_0YNrcKIwVmRov3zCQMWwcCWkMe5V246Hpa4gS8AZE,3079
138
+ cornflow/tests/custom_test_case.py,sha256=EeAPnI0F5_0ZAQW0_ku0NdTzYxc8se6fi1FtYNdtLTc,25147
145
139
  cornflow/tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- cornflow/tests/integration/test_commands.py,sha256=3vLjSK3ji7LYE5ZADJzBHkXRrtxwW_uYVqxcDef749w,696
147
- cornflow/tests/integration/test_cornflowclient.py,sha256=EZ508fLfO0YC06tzw60zXq9Mxr8MrDFRWWWkzLK4xCE,23894
140
+ cornflow/tests/integration/test_commands.py,sha256=FZcoEM-05D4MBMe0L0V-0sxk_L0zMbzQxb9UCd7iBe0,695
141
+ cornflow/tests/integration/test_cornflowclient.py,sha256=ioAQmQKWW6mXVJhdF4LECZcGIOa_N0xPkFaGWGtxOO8,20963
148
142
  cornflow/tests/ldap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
143
  cornflow/tests/ldap/test_ldap_authentication.py,sha256=6Gu1WkF7MQmcV_10IJkpo2qEloZZ9zjpV18ANDD0HRw,4286
150
144
  cornflow/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
145
  cornflow/tests/unit/test_actions.py,sha256=Fg33PyzNTK4B4NjARelMxLQpQl9nE9JppolkkIY9UEo,1755
152
- cornflow/tests/unit/test_alarms.py,sha256=rzh9RBLrGWG6la5acnC1OFJ2wuEWIXbk64fH7oiu8gY,1663
146
+ cornflow/tests/unit/test_alarms.py,sha256=J4Hp2xIZqpFrojx_RvQCSU1ilDk-iC0vm2z8wZNXwIw,1343
153
147
  cornflow/tests/unit/test_apiview.py,sha256=G5DpUPaKVXgbCOaXXTCjBAeGeCtfR8niltp7B0NNB6o,2107
154
148
  cornflow/tests/unit/test_cases.py,sha256=lXLgvHbNGw8qUoCtYUwwXE_O2AWSmSXxLVlxE-hc9Oc,25974
155
- cornflow/tests/unit/test_cli.py,sha256=8x2Bnpp9gfalqxRw0iVXFf3MdPoVz088zwpN01zENLA,12893
156
- cornflow/tests/unit/test_commands.py,sha256=WTPjcbvJ_66lWtVUsYPcYFcChgO1kXnNw4hzCo3PyDc,8897
149
+ cornflow/tests/unit/test_cli.py,sha256=qYcMGAdLIOhTgWV4q0rGu0bv5Bs7JUIsyRd5qt6pcOI,12578
150
+ cornflow/tests/unit/test_commands.py,sha256=QwGHTOxBOwiIYYQg8wcmSR11lKQk0I8Ltr3sbFERufw,8776
157
151
  cornflow/tests/unit/test_dags.py,sha256=5lTJW_fgh7XXE11Zo9yVsQ7wsmbCPxCCRwna2vkPEuA,10350
158
152
  cornflow/tests/unit/test_data_checks.py,sha256=VjB3AAQOHlqnaRT2jI9L2mNLDAcda6llpiZWkW7nnkk,5471
159
153
  cornflow/tests/unit/test_example_data.py,sha256=D-Tgnqw7NZlnBXaDcUU0reNhAca5JlJP2Sdn3KdS4Sw,4127
160
- cornflow/tests/unit/test_executions.py,sha256=a6W20kd6Rk22lCnfA6uAsRr-Hhh37GHUg30G_Fa4z7k,17616
154
+ cornflow/tests/unit/test_executions.py,sha256=_hIaiZri7Blyx4DYhBDHh-0peU1HQh66RSPqQJFveE8,17501
161
155
  cornflow/tests/unit/test_generate_from_schema.py,sha256=L1EdnASbDJ8SjrX1V4WnUKKwV0sRTwVnNYnxSpyeSeQ,15376
162
156
  cornflow/tests/unit/test_health.py,sha256=0E0HXMb63_Z8drbLZdxnJwtTbQyaZS9ZEHut6qsDbh8,1033
163
157
  cornflow/tests/unit/test_instances.py,sha256=RaD9Tue2HODKThBNhciu6krdIvrauDLxOq4Y6a_z8DU,10573
164
158
  cornflow/tests/unit/test_instances_file.py,sha256=zXxSlOM_MMkFvpWNX-iatD40xoIAOGQkinCLf1txb0M,1986
165
159
  cornflow/tests/unit/test_licenses.py,sha256=jgnfE4UMFooGn44HK_KspJXIpmLjUpK_WgsBBeTO5eI,1534
166
160
  cornflow/tests/unit/test_log_in.py,sha256=zwVCNO0sGQhpVcUaJnh8cVv2z-qPEYCdI98y61CNyfE,979
167
- cornflow/tests/unit/test_main_alarms.py,sha256=kWQcsy9tBbUu5ox5cmDGgaXov8bRAY1_ru1K4h7U-4E,2300
161
+ cornflow/tests/unit/test_main_alarms.py,sha256=y--A4Ap2X38TCCRgbimzaZ-QvnTqZY8KHCv7C8kTTwc,2060
168
162
  cornflow/tests/unit/test_permissions.py,sha256=4mLj3GI0Bvhy927eXu_RyAmK8i2XD7raYc6W8lyAO04,8782
169
- cornflow/tests/unit/test_reports.py,sha256=gL_1gQMAi4tMzJtWjC8jOVy9NRjwRo3H6FBbMWn7N0Q,9805
170
163
  cornflow/tests/unit/test_roles.py,sha256=xZ3TohL_sv1ZBPvHv_nnYSsKEhBlrzIchx9soaTb5Ow,16581
171
164
  cornflow/tests/unit/test_schema_from_models.py,sha256=7IfycOGO3U06baX8I-OPJfu-3ZAn5cv8RCdj9wvalMk,4421
172
165
  cornflow/tests/unit/test_schemas.py,sha256=6SpkeYsS3oWntUZEF3GldLqmNa-hpxg-WrKJVTgc-B4,7468
173
166
  cornflow/tests/unit/test_sign_up.py,sha256=-i6VO9z1FwqRHFvaSrpWAzOZx6qa8mHUEmmsjuMXjn8,3481
174
167
  cornflow/tests/unit/test_tables.py,sha256=dY55YgaCkyqwJnqn0LbZHNeXBoL4ZxXWwKkCoTF4WVE,8947
175
168
  cornflow/tests/unit/test_token.py,sha256=OEVPgG8swSMkUbuGJGfGF5Z27utMLICn1eIyma1cM9E,3760
176
- cornflow/tests/unit/test_users.py,sha256=uxKoPqNtpiPh6JADh6kXLTmLSxNMYw44hsA3JTmo1Fw,22454
169
+ cornflow/tests/unit/test_users.py,sha256=WfaMcybPpR7rspXyvzHGgw25p751hMPAV0DOp_caSPM,22430
177
170
  cornflow/tests/unit/tools.py,sha256=ag3sWv2WLi498R1GL5AOUnXqSsszD3UugzLZLC5NqAw,585
178
- cornflow-1.1.1a1.dist-info/METADATA,sha256=ujrEhaExOsV11jZVIhl7t1qmEf9VUfkvfmkk7cYFVZw,9378
179
- cornflow-1.1.1a1.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
180
- cornflow-1.1.1a1.dist-info/entry_points.txt,sha256=r5wKLHpuyVLMUIZ5I29_tpqYf-RuP-3w_8DhFi8_blQ,47
181
- cornflow-1.1.1a1.dist-info/top_level.txt,sha256=Qj9kLFJW1PLb-ZV2s_aCkQ-Wi5W6KC6fFR-LTBrx-rU,24
182
- cornflow-1.1.1a1.dist-info/RECORD,,
171
+ cornflow-1.1.4.dist-info/METADATA,sha256=Ot3twWFOpS17sPtCpCSSe5zaMyInewnCTZlMYtwxatA,9366
172
+ cornflow-1.1.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
173
+ cornflow-1.1.4.dist-info/entry_points.txt,sha256=r5wKLHpuyVLMUIZ5I29_tpqYf-RuP-3w_8DhFi8_blQ,47
174
+ cornflow-1.1.4.dist-info/top_level.txt,sha256=Qj9kLFJW1PLb-ZV2s_aCkQ-Wi5W6KC6fFR-LTBrx-rU,24
175
+ cornflow-1.1.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.44.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5