fractal-server 2.14.0a6__py3-none-any.whl → 2.14.0a8__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 (31) hide show
  1. fractal_server/__init__.py +1 -1
  2. fractal_server/app/history/__init__.py +0 -4
  3. fractal_server/app/routes/api/v2/_aux_functions.py +35 -45
  4. fractal_server/app/routes/api/v2/_aux_functions_history.py +109 -0
  5. fractal_server/app/routes/api/v2/history.py +42 -71
  6. fractal_server/app/routes/api/v2/job.py +30 -0
  7. fractal_server/app/routes/api/v2/status_legacy.py +5 -5
  8. fractal_server/app/routes/api/v2/task.py +3 -10
  9. fractal_server/app/routes/api/v2/workflowtask.py +13 -2
  10. fractal_server/app/runner/executors/base_runner.py +53 -26
  11. fractal_server/app/runner/executors/local/runner.py +6 -5
  12. fractal_server/app/runner/executors/slurm_ssh/executor.py +3 -4
  13. fractal_server/app/runner/executors/slurm_sudo/runner.py +5 -60
  14. fractal_server/app/runner/v2/runner.py +68 -33
  15. fractal_server/app/runner/v2/runner_functions.py +256 -14
  16. fractal_server/app/schemas/v2/__init__.py +7 -1
  17. fractal_server/app/schemas/v2/dumps.py +20 -4
  18. fractal_server/app/schemas/v2/history.py +54 -0
  19. fractal_server/app/schemas/v2/manifest.py +11 -0
  20. fractal_server/app/schemas/v2/status_legacy.py +35 -0
  21. fractal_server/app/schemas/v2/task.py +32 -1
  22. fractal_server/app/schemas/v2/workflowtask.py +2 -21
  23. fractal_server/tasks/v2/utils_database.py +1 -16
  24. {fractal_server-2.14.0a6.dist-info → fractal_server-2.14.0a8.dist-info}/METADATA +2 -2
  25. {fractal_server-2.14.0a6.dist-info → fractal_server-2.14.0a8.dist-info}/RECORD +28 -29
  26. {fractal_server-2.14.0a6.dist-info → fractal_server-2.14.0a8.dist-info}/WHEEL +1 -1
  27. fractal_server/app/history/image_updates.py +0 -124
  28. fractal_server/app/history/status_enum.py +0 -16
  29. fractal_server/app/schemas/v2/status.py +0 -16
  30. {fractal_server-2.14.0a6.dist-info → fractal_server-2.14.0a8.dist-info}/LICENSE +0 -0
  31. {fractal_server-2.14.0a6.dist-info → fractal_server-2.14.0a8.dist-info}/entry_points.txt +0 -0
@@ -5,15 +5,6 @@ from fractal_server.app.models.v2 import TaskV2
5
5
  from fractal_server.app.schemas.v2 import TaskCreateV2
6
6
 
7
7
 
8
- def _get_task_type(task: TaskCreateV2) -> str:
9
- if task.command_non_parallel is None:
10
- return "parallel"
11
- elif task.command_parallel is None:
12
- return "non_parallel"
13
- else:
14
- return "compound"
15
-
16
-
17
8
  def create_db_tasks_and_update_task_group(
18
9
  *,
19
10
  task_group_id: int,
@@ -31,13 +22,7 @@ def create_db_tasks_and_update_task_group(
31
22
  Returns:
32
23
  Updated `TaskGroupV2` object.
33
24
  """
34
- actual_task_list = [
35
- TaskV2(
36
- **task.model_dump(),
37
- type=_get_task_type(task),
38
- )
39
- for task in task_list
40
- ]
25
+ actual_task_list = [TaskV2(**task.model_dump()) for task in task_list]
41
26
  task_group = db.get(TaskGroupV2, task_group_id)
42
27
  task_group.task_list = actual_task_list
43
28
  db.add(task_group)
@@ -1,8 +1,7 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fractal-server
3
- Version: 2.14.0a6
3
+ Version: 2.14.0a8
4
4
  Summary: Backend component of the Fractal analytics platform
5
- Home-page: https://github.com/fractal-analytics-platform/fractal-server
6
5
  License: BSD-3-Clause
7
6
  Author: Tommaso Comparin
8
7
  Author-email: tommaso.comparin@exact-lab.it
@@ -29,6 +28,7 @@ Requires-Dist: sqlmodel (==0.0.22)
29
28
  Requires-Dist: uvicorn (>=0.29.0,<0.35.0)
30
29
  Requires-Dist: uvicorn-worker (==0.3.0)
31
30
  Project-URL: Documentation, https://fractal-analytics-platform.github.io/fractal-server
31
+ Project-URL: Homepage, https://github.com/fractal-analytics-platform/fractal-server
32
32
  Project-URL: Repository, https://github.com/fractal-analytics-platform/fractal-server
33
33
  Project-URL: changelog, https://github.com/fractal-analytics-platform/fractal-server/blob/main/CHANGELOG.md
34
34
  Description-Content-Type: text/markdown
@@ -1,11 +1,9 @@
1
- fractal_server/__init__.py,sha256=AnugSNpe3C8nki8yFEbYV-Vn26Um07z3ucouM8Qt1BE,25
1
+ fractal_server/__init__.py,sha256=kGAQu3H-ucHD5NhKhR9WUJUdDh_6vyFTxQN6G9BnBpY,25
2
2
  fractal_server/__main__.py,sha256=rkM8xjY1KeS3l63irB8yCrlVobR-73uDapC4wvrIlxI,6957
3
3
  fractal_server/alembic.ini,sha256=MWwi7GzjzawI9cCAK1LW7NxIBQDUqD12-ptJoq5JpP0,3153
4
4
  fractal_server/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  fractal_server/app/db/__init__.py,sha256=wup2wcOkyOh8Vd0Xm76PZn_naxeMqaL4eF8DHHXTGlI,2889
6
- fractal_server/app/history/__init__.py,sha256=ZF-5wb_NH_7SJkUiVkYq2X0MJAy1fFnYBRpgPfEirjo,234
7
- fractal_server/app/history/image_updates.py,sha256=ToY3yENMM6OdWUuFPG5F7qsLefrsaPqyRDFHaimsaHI,4188
8
- fractal_server/app/history/status_enum.py,sha256=umznsG4-ZunCLz2ks3Gb-K_s1irwd4ibOJ8vJ2Z0C-M,235
6
+ fractal_server/app/history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
7
  fractal_server/app/models/__init__.py,sha256=xJWiGAwpXmCpnFMC4c_HTqoUCzMOXrakoGLUH_uMvdA,415
10
8
  fractal_server/app/models/linkusergroup.py,sha256=LWTUfhH2uAnn_4moK7QdRUIHWtpw-hPZuW-5jClv_OE,610
11
9
  fractal_server/app/models/linkuserproject.py,sha256=hvaxh3Lkiy2uUCwB8gvn8RorCpvxSSdzWdCS_U1GL7g,315
@@ -33,25 +31,25 @@ fractal_server/app/routes/admin/v2/task_group.py,sha256=XTjdqgABXZcx9EenaoqSmHh1
33
31
  fractal_server/app/routes/admin/v2/task_group_lifecycle.py,sha256=0e0ZJ_k75TVHaT2o8Xk33DPDSgh-eBhZf-y4y7t-Adg,9429
34
32
  fractal_server/app/routes/api/__init__.py,sha256=B8l6PSAhR10iZqHEiyTat-_0tkeKdrCigIE6DJGP5b8,638
35
33
  fractal_server/app/routes/api/v2/__init__.py,sha256=Q65mxJOfuexzj53m6IB5fNl9PDec-Asu97W0bBxrRMM,2324
36
- fractal_server/app/routes/api/v2/_aux_functions.py,sha256=pmYbsHjJexb5-zMCJQLNStmU_95ZfeEIBpoCJx4GFIY,13480
37
- fractal_server/app/routes/api/v2/_aux_functions_history.py,sha256=dGr9mhuE1kJPx8RNDwFplCWBunV1Zh0QxNQbssGAqMI,1341
34
+ fractal_server/app/routes/api/v2/_aux_functions.py,sha256=eE-TdEMI_UX3LBDUGwjG5NyUcihDVaHYlG15NlTJ9DI,12872
35
+ fractal_server/app/routes/api/v2/_aux_functions_history.py,sha256=nWO4jBoL3MWuMMwS-6TwxlTHzgRr8Xed30RSeetLvP8,4199
38
36
  fractal_server/app/routes/api/v2/_aux_functions_task_lifecycle.py,sha256=qdXCb6IP8-qPEAxGZKljtjIqNzIAyRaAsQSRi5VqFHM,6773
39
37
  fractal_server/app/routes/api/v2/_aux_functions_tasks.py,sha256=uhNSs-jcS7ndIUFKiOC1yrDiViw3uvKEXi9UL04BMks,11642
40
38
  fractal_server/app/routes/api/v2/dataset.py,sha256=osoWJIA5SZH4aAr-0TG6Uc3877wzsgCLB_Oek59hRjk,9230
41
- fractal_server/app/routes/api/v2/history.py,sha256=UInNe9u22GYmh4rCYQe_LrVBGNOFNCbETVgdmZsHKRw,13485
39
+ fractal_server/app/routes/api/v2/history.py,sha256=9oux9P_BloLLFs0t-bSiKfjaWEH1Al0kzQSr4wFUxac,13042
42
40
  fractal_server/app/routes/api/v2/images.py,sha256=wUhYomNLGtJTtu_pD2oQorcH2LISxo64Wxo6ogc4IXc,8185
43
- fractal_server/app/routes/api/v2/job.py,sha256=m89FTh9Px25oXCeWj2k2NdGWQaO2oxMh-6lZppcsJOY,5551
41
+ fractal_server/app/routes/api/v2/job.py,sha256=MU1sHIKk_89WrD0TD44d4ufzqnywot7On_W71KjyUbQ,6500
44
42
  fractal_server/app/routes/api/v2/project.py,sha256=hMvL9QLPUcAAiPGy6ta2LBLTVRozJsfvBPl5D06_MHg,6666
45
- fractal_server/app/routes/api/v2/status_legacy.py,sha256=sJLHGGHI9so_Sa4-8JuhMGBPeE6n4K2DmDuiw6IB4XY,6317
43
+ fractal_server/app/routes/api/v2/status_legacy.py,sha256=Q5ZWQNfeZKL8Xgtou2Xr80iaF1uO-r4oSKgq5H42V_8,6349
46
44
  fractal_server/app/routes/api/v2/submit.py,sha256=K4OjcSg476JXIeeMUaYdTDk8Qpj5IO5UULvfErI7Y5Y,8624
47
- fractal_server/app/routes/api/v2/task.py,sha256=z3_SxsXoKsbM9GGNJUdIiZisQwAJSBqvCc7thaJIOTU,7191
45
+ fractal_server/app/routes/api/v2/task.py,sha256=O7pquZhXIS4lRs5XqHvstiwe8BiCuS-B3ZKJI1g6EJU,6985
48
46
  fractal_server/app/routes/api/v2/task_collection.py,sha256=IDNF6sjDuU37HIQ0TuQA-TZIuf7nfHAQXUUNmkrlhLM,12706
49
47
  fractal_server/app/routes/api/v2/task_collection_custom.py,sha256=cctW61-C2QYF2KXluS15lLhZJS_kt30Ca6UGLFO32z0,6207
50
48
  fractal_server/app/routes/api/v2/task_group.py,sha256=j3zDvVZizB7NWEgVgZU42JCXETkaVkk2ImJPr0jS7BQ,8164
51
49
  fractal_server/app/routes/api/v2/task_group_lifecycle.py,sha256=3o9bCC8ubMwffQPPaxQZy-CjH9IB2RkIReIecI6L2_w,9300
52
50
  fractal_server/app/routes/api/v2/workflow.py,sha256=U3iZX5IiFAJ20-R8IjlYToOdm9gXsmtr1lW7ASEH9P8,11689
53
51
  fractal_server/app/routes/api/v2/workflow_import.py,sha256=INmnhlMEBJp-vHPR0f940DANPmIidts3OfcooeM_aNA,11205
54
- fractal_server/app/routes/api/v2/workflowtask.py,sha256=pi4oxWszNgWkDm6oQavanmq4_P5kpcgN3Dfjz9XAuV8,11063
52
+ fractal_server/app/routes/api/v2/workflowtask.py,sha256=7_syX2EO7ibF6Xkm7HBPhsUYq6aYnKNeC5iSaafQhG4,11342
55
53
  fractal_server/app/routes/auth/__init__.py,sha256=fao6CS0WiAjHDTvBzgBVV_bSXFpEAeDBF6Z6q7rRkPc,1658
56
54
  fractal_server/app/routes/auth/_aux_auth.py,sha256=UZgauY0V6mSqjte_sYI1cBl2h8bcbLaeWzgpl1jdJlk,4883
57
55
  fractal_server/app/routes/auth/current_user.py,sha256=FUegTahlxT3BdPVCQYir0-ogg2YAaZ1DYuLcE_5NC9Y,5906
@@ -71,11 +69,11 @@ fractal_server/app/runner/components.py,sha256=ZF8ct_Ky5k8IAcrmpYOZ-bc6OBgdELEig
71
69
  fractal_server/app/runner/compress_folder.py,sha256=HSc1tv7x2DBjBoXwugZlC79rm9GNBIWtQKK9yWn5ZBI,3991
72
70
  fractal_server/app/runner/exceptions.py,sha256=_qZ_t8O4umAdJ1ikockiF5rDJuxnEskrGrLjZcnQl7A,4159
73
71
  fractal_server/app/runner/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- fractal_server/app/runner/executors/base_runner.py,sha256=0E3gbSndXdEAxZwFCiZXrUd8tjEmvLa_ztPBGMJXtUw,3742
72
+ fractal_server/app/runner/executors/base_runner.py,sha256=v-uUHEvJgRnipTEvU9AmIMkYbkkazqkjm4iAF1GXHEM,4562
75
73
  fractal_server/app/runner/executors/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
74
  fractal_server/app/runner/executors/local/_local_config.py,sha256=8dyg2Gh8L2FlG_jJRYLMkcMgVHGEY2w7DME9aaKXFFo,3688
77
75
  fractal_server/app/runner/executors/local/_submit_setup.py,sha256=pDc9Q6axXL8_5JAV0byXzGOLOB0bZF88_L9LZykOgwM,1220
78
- fractal_server/app/runner/executors/local/runner.py,sha256=Iy5Pc8rdkj7IGcwUbkO_UgZNDytXtfMysYtMSu_dlY0,5498
76
+ fractal_server/app/runner/executors/local/runner.py,sha256=LNql8q6M-Cn_hEV4IMkNP57XFPQJ6eaVd0YIDKJLk60,5621
79
77
  fractal_server/app/runner/executors/slurm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
78
  fractal_server/app/runner/executors/slurm_common/_batching.py,sha256=ZY020JZlDS5mfpgpWTChQkyHU7iLE5kx2HVd57_C6XA,8850
81
79
  fractal_server/app/runner/executors/slurm_common/_job_states.py,sha256=nuV-Zba38kDrRESOVB3gaGbrSPZc4q7YGichQaeqTW0,238
@@ -87,11 +85,11 @@ fractal_server/app/runner/executors/slurm_common/utils_executors.py,sha256=naPyJ
87
85
  fractal_server/app/runner/executors/slurm_ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
86
  fractal_server/app/runner/executors/slurm_ssh/_executor_wait_thread.py,sha256=lnW8dNNPqqbpQvojVBQaNJm4wN3Qkw02RWBZ1w68Hyw,3755
89
87
  fractal_server/app/runner/executors/slurm_ssh/_slurm_job.py,sha256=IL1C52dezEiincVX2yKryNiPHi4YOMURNLdQO_QPdGw,4406
90
- fractal_server/app/runner/executors/slurm_ssh/executor.py,sha256=JW6zguEy9XsHebSPt_JTK4Kw78r5rlbDEipSOxOqoHk,53660
88
+ fractal_server/app/runner/executors/slurm_ssh/executor.py,sha256=VXMDaQRijYaeKyxly4RkBkRg2inLBZ75rfuODg0Mgr8,53602
91
89
  fractal_server/app/runner/executors/slurm_sudo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
90
  fractal_server/app/runner/executors/slurm_sudo/_check_jobs_status.py,sha256=eZd9lxbObsqc1M3B96IGMJ-1oC0jo8lBOX4Nto97VvE,2036
93
91
  fractal_server/app/runner/executors/slurm_sudo/_subprocess_run_as_user.py,sha256=O1bNg1DiSDJmQE0RmOk2Ii47DagiXp5ryd0R6KxO2OM,3177
94
- fractal_server/app/runner/executors/slurm_sudo/runner.py,sha256=VOWd8bYzCU8C6TziZN7VUurX52lbvNDWLZ2Ht3uvnGc,24057
92
+ fractal_server/app/runner/executors/slurm_sudo/runner.py,sha256=niDcezFNQ7awfv_7nqABmVhG3oLIf8Z7BwlLxM-chZo,21833
95
93
  fractal_server/app/runner/extract_archive.py,sha256=tLpjDrX47OjTNhhoWvm6iNukg8KoieWyTb7ZfvE9eWU,2483
96
94
  fractal_server/app/runner/filenames.py,sha256=lPnxKHtdRizr6FqG3zOdjDPyWA7GoaJGTtiuJV0gA8E,70
97
95
  fractal_server/app/runner/run_subprocess.py,sha256=c3JbYXq3hX2aaflQU19qJ5Xs6J6oXGNvnTEoAfv2bxc,959
@@ -105,8 +103,8 @@ fractal_server/app/runner/v2/_slurm_ssh.py,sha256=5w_lwQzySx-R3kVg2Bf-21n5JpWjJA
105
103
  fractal_server/app/runner/v2/_slurm_sudo.py,sha256=CzWUeC6at_Sj-wU1myjA68ZRKMiLZYBTLv9I9odUxBU,2914
106
104
  fractal_server/app/runner/v2/deduplicate_list.py,sha256=IVTE4abBU1bUprFTkxrTfYKnvkNTanWQ-KWh_etiT08,645
107
105
  fractal_server/app/runner/v2/merge_outputs.py,sha256=D1L4Taieq9i71SPQyNc1kMokgHh-sV_MqF3bv7QMDBc,907
108
- fractal_server/app/runner/v2/runner.py,sha256=25kOKm4B7_BhUlg7Dh0yzIcJ2izugA_WFNhVf06O0Y4,13970
109
- fractal_server/app/runner/v2/runner_functions.py,sha256=aH3N_7U_-pqiykvieEVk-W9Y0ir2YohJ9DY8As9zUc8,14445
106
+ fractal_server/app/runner/v2/runner.py,sha256=hsXBFQmoo8fqZC13DxlEwLLSVwsr7AvgTrTfiQXcXyk,15570
107
+ fractal_server/app/runner/v2/runner_functions.py,sha256=9i7fHMr3BFrgguptJ-Pz3Gu68Okp5e3JvIIEqhdrG3Q,22120
110
108
  fractal_server/app/runner/v2/runner_functions_low_level.py,sha256=dvvRK7od8iQ8vdPf80uGUxs3i5i0buGjCodBxSjZ7PQ,3671
111
109
  fractal_server/app/runner/v2/task_interface.py,sha256=e1GGQSYd0MyBj1EZvEVzqv-HpVE4YffXOq82WLrCaOc,1866
112
110
  fractal_server/app/runner/versions.py,sha256=dSaPRWqmFPHjg20kTCHmi_dmGNcCETflDtDLronNanU,852
@@ -116,19 +114,20 @@ fractal_server/app/schemas/_validators.py,sha256=ZzTlTTzRATzf9Snx4Xp67aDmG77GaM2
116
114
  fractal_server/app/schemas/user.py,sha256=oCftAKeHdFFowpLyh1G-RiylR8cIO7fTn0PkT5xjs0E,2494
117
115
  fractal_server/app/schemas/user_group.py,sha256=Uao1igRYflBu7Dg6Zs0kaFU3zBFJzIwDLrkFfaJk6z8,2176
118
116
  fractal_server/app/schemas/user_settings.py,sha256=z7hx54yTrWfjo98oX_1lkeRh1UGrC1dSRH6yIOpnCsY,2772
119
- fractal_server/app/schemas/v2/__init__.py,sha256=pjRUOJwZGzsDbBbxfnCgQgShs5V8SaHRqwIQDW3STpY,2676
117
+ fractal_server/app/schemas/v2/__init__.py,sha256=Q1Sozuh6escPbU3SIsmiJbQMFl9kfIcfK-3Ctb-1wXQ,2988
120
118
  fractal_server/app/schemas/v2/accounting.py,sha256=Wylt7uWTiDIFlHJOh4XEtYitk2FjFlmnodDrJDxcr0E,397
121
119
  fractal_server/app/schemas/v2/dataset.py,sha256=9yc-tte70yPPk4CSfy2imykYVbCW8-23K499pi9z2e0,5206
122
- fractal_server/app/schemas/v2/dumps.py,sha256=2GUjoqeblUvrSoojBz5odoUUf53IABtbY_5GvFZoMVc,1782
120
+ fractal_server/app/schemas/v2/dumps.py,sha256=AhCSo4jaGyCdcNkmRvtIZ_QnIl4elu-KUAFlmP5I2rg,2261
121
+ fractal_server/app/schemas/v2/history.py,sha256=aCzr68OdNtHzNHrW43F5uxSCCcT6dMaq-_Dq9GpuJ6k,1100
123
122
  fractal_server/app/schemas/v2/job.py,sha256=KhxQOfncpE_SAu7Wed8CXS2G6onh0v875GkotBvKBTY,4304
124
- fractal_server/app/schemas/v2/manifest.py,sha256=tMNKtwVUBhVyAmBHK6f2agzvdKuYhuTP-e2cG9t66y0,7045
123
+ fractal_server/app/schemas/v2/manifest.py,sha256=8mmB0QwxEgAeGgwKD_fT-o-wFy7lb6HxNXbp17IJqNY,7281
125
124
  fractal_server/app/schemas/v2/project.py,sha256=ulgCmUnX0w-0jrSjVYIT7sxeK95CSNGh2msXydhsgYI,885
126
- fractal_server/app/schemas/v2/status.py,sha256=SQaUpQkjFq5c5k5J4rOjNhuQaDOEg8lksPhkKmPU5VU,332
127
- fractal_server/app/schemas/v2/task.py,sha256=lPXxhwvPLjXuoZGdVSLZq3wTChfBbP7V-uTEpQa1HoU,5753
125
+ fractal_server/app/schemas/v2/status_legacy.py,sha256=vc6C3Xri8222bb9OmsghMz05CNuEalO-t2s_nKo341s,954
126
+ fractal_server/app/schemas/v2/task.py,sha256=8vc8c3ZL6dJo9kyCrfKozgO_pF37BBLvD5XYIXynlEc,6551
128
127
  fractal_server/app/schemas/v2/task_collection.py,sha256=dLu4sy-su5k5vDJqCZdJMW8mLT5TX2SV60l_RAvKhwY,5930
129
128
  fractal_server/app/schemas/v2/task_group.py,sha256=A3SFHNHLKPJyrnDz-wbnQvycetafKltp6UsH1u-euwA,3850
130
129
  fractal_server/app/schemas/v2/workflow.py,sha256=ZpM43zTMyLRnEUtkbr_J5DYP00NwjItaC8gweB7GGAA,2172
131
- fractal_server/app/schemas/v2/workflowtask.py,sha256=qMvwlnFCsnyD8uv8HJ4cFy2-QMm2ETUFlTIbxIFUWxk,8056
130
+ fractal_server/app/schemas/v2/workflowtask.py,sha256=rVbmNihDAJL_Sckbt1hBK2JEcb-8Xpxn3McvaomZLmQ,7429
132
131
  fractal_server/app/security/__init__.py,sha256=e2cveg5hQpieGD3bSPd5GTOMthvJ-HXH3buSb9WVfEU,14096
133
132
  fractal_server/app/security/signup_email.py,sha256=Xd6QYxcdmg0PHpDwmUE8XQmPcOj3Xjy5oROcIMhmltM,1472
134
133
  fractal_server/app/user_settings.py,sha256=OP1yiYKtPadxwM51_Q0hdPk3z90TCN4z1BLpQsXyWiU,1316
@@ -199,15 +198,15 @@ fractal_server/tasks/v2/templates/4_pip_show.sh,sha256=qm1vPy6AkKhWDjCJGXS8LqCLY
199
198
  fractal_server/tasks/v2/templates/5_get_venv_size_and_file_number.sh,sha256=q-6ZUvA6w6FDVEoSd9O63LaJ9tKZc7qAFH72SGPrd_k,284
200
199
  fractal_server/tasks/v2/templates/6_pip_install_from_freeze.sh,sha256=A2y8RngEjAcRhG-_owA6P7tAdrS_AszFuGXnaeMV8u0,1122
201
200
  fractal_server/tasks/v2/utils_background.py,sha256=W_RvihI1aiYPJNsPo8z4wKuA_bPs0UT2huzLihRpjU4,4248
202
- fractal_server/tasks/v2/utils_database.py,sha256=iLbwkxMxTCgpyKe1JQzdfIR3zBfxohgmLwSdGps1AUo,1274
201
+ fractal_server/tasks/v2/utils_database.py,sha256=h4Pa-JxcVk7WA4_Pz8CxFT9sX3sA43p2rVRg7FVSgvY,967
203
202
  fractal_server/tasks/v2/utils_package_names.py,sha256=RDg__xrvQs4ieeVzmVdMcEh95vGQYrv9Hfal-5EDBM8,2393
204
203
  fractal_server/tasks/v2/utils_python_interpreter.py,sha256=5_wrlrTqXyo1YuLZvAW9hrSoh5MyLOzdPVUlUwM7uDQ,955
205
204
  fractal_server/tasks/v2/utils_templates.py,sha256=Kc_nSzdlV6KIsO0CQSPs1w70zLyENPqJeTQEFiz4bOg,3124
206
205
  fractal_server/urls.py,sha256=QjIKAC1a46bCdiPMu3AlpgFbcv6a4l3ABcd5xz190Og,471
207
206
  fractal_server/utils.py,sha256=PMwrxWFxRTQRl1b9h-NRIbFGPKqpH_hXnkAT3NfZdpY,3571
208
207
  fractal_server/zip_tools.py,sha256=GjDgo_sf6V_DDg6wWeBlZu5zypIxycn_l257p_YVKGc,4876
209
- fractal_server-2.14.0a6.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
210
- fractal_server-2.14.0a6.dist-info/METADATA,sha256=uuUN7vjLvxCYZIqs3uvcubWLPb_PLnaQNrtg4U1DHck,4550
211
- fractal_server-2.14.0a6.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
212
- fractal_server-2.14.0a6.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
213
- fractal_server-2.14.0a6.dist-info/RECORD,,
208
+ fractal_server-2.14.0a8.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
209
+ fractal_server-2.14.0a8.dist-info/METADATA,sha256=9Y62LfjS5cZ88MZggxLwL2usMbt3Ny9GPiX8CBhFgpQ,4562
210
+ fractal_server-2.14.0a8.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
211
+ fractal_server-2.14.0a8.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
212
+ fractal_server-2.14.0a8.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.0
2
+ Generator: poetry-core 2.1.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,124 +0,0 @@
1
- # from typing import Optional
2
- # from sqlalchemy.orm import Session
3
- # from sqlalchemy.orm.attributes import flag_modified
4
- # from sqlmodel import select
5
- # from fractal_server.app.db import get_sync_db
6
- # from fractal_server.app.history.status_enum import HistoryItemImageStatus
7
- # from fractal_server.app.models.v2 import HistoryItemV2
8
- # from fractal_server.app.models.v2 import ImageStatus
9
- # from fractal_server.logger import set_logger
10
- # logger = set_logger(__name__)
11
- # def _update_single_image_status(
12
- # *,
13
- # zarr_url: str,
14
- # workflowtask_id: int,
15
- # dataset_id: int,
16
- # status: HistoryItemImageStatus,
17
- # db: Session,
18
- # commit: bool = True,
19
- # logfile: Optional[str] = None,
20
- # ) -> None:
21
- # image_status = db.get(
22
- # ImageStatus,
23
- # (
24
- # zarr_url,
25
- # workflowtask_id,
26
- # dataset_id,
27
- # ),
28
- # )
29
- # if image_status is None:
30
- # raise RuntimeError("This should have not happened")
31
- # image_status.status = status
32
- # if logfile is not None:
33
- # image_status.logfile = logfile
34
- # db.add(image_status)
35
- # if commit:
36
- # db.commit()
37
- # def update_single_image(
38
- # *,
39
- # history_item_id: int,
40
- # zarr_url: str,
41
- # status: HistoryItemImageStatus,
42
- # ) -> None:
43
- # logger.debug(
44
- # f"[update_single_image] {history_item_id=}, {status=}, {zarr_url=}"
45
- # )
46
- # # Note: thanks to `with_for_update`, a lock is acquired and kept
47
- # # until `db.commit()`
48
- # with next(get_sync_db()) as db:
49
- # stm = (
50
- # select(HistoryItemV2)
51
- # .where(HistoryItemV2.id == history_item_id)
52
- # .with_for_update(nowait=False)
53
- # )
54
- # history_item = db.execute(stm).scalar_one()
55
- # history_item.images[zarr_url] = status
56
- # flag_modified(history_item, "images")
57
- # db.commit()
58
- # _update_single_image_status(
59
- # zarr_url=zarr_url,
60
- # dataset_id=history_item.dataset_id,
61
- # workflowtask_id=history_item.workflowtask_id,
62
- # commit=True,
63
- # status=status,
64
- # db=db,
65
- # )
66
- # def update_single_image_logfile(
67
- # *,
68
- # history_item_id: int,
69
- # zarr_url: str,
70
- # logfile: str,
71
- # ) -> None:
72
- # logger.debug(
73
- # "[update_single_image_logfile] "
74
- # f"{history_item_id=}, {logfile=}, {zarr_url=}"
75
- # )
76
- # with next(get_sync_db()) as db:
77
- # history_item = db.get(HistoryItemV2, history_item_id)
78
- # image_status = db.get(
79
- # ImageStatus,
80
- # (
81
- # zarr_url,
82
- # history_item.workflowtask_id,
83
- # history_item.dataset_id,
84
- # ),
85
- # )
86
- # if image_status is None:
87
- # raise RuntimeError("This should have not happened")
88
- # image_status.logfile = logfile
89
- # db.merge(image_status)
90
- # db.commit()
91
- # def update_all_images(
92
- # *,
93
- # history_item_id: int,
94
- # status: HistoryItemImageStatus,
95
- # logfile: Optional[str] = None,
96
- # ) -> None:
97
- # logger.debug(f"[update_all_images] {history_item_id=}, {status=}")
98
- # # Note: thanks to `with_for_update`, a lock is acquired and kept
99
- # # until `db.commit()`
100
- # stm = (
101
- # select(HistoryItemV2)
102
- # .where(HistoryItemV2.id == history_item_id)
103
- # .with_for_update(nowait=False)
104
- # )
105
- # with next(get_sync_db()) as db:
106
- # history_item = db.execute(stm).scalar_one()
107
- # new_images = {
108
- # zarr_url: status for zarr_url in history_item.images.keys()
109
- # }
110
- # history_item.images = new_images
111
- # flag_modified(history_item, "images")
112
- # db.commit()
113
- # # FIXME: Make this a bulk edit, if possible
114
- # for ind, zarr_url in enumerate(history_item.images.keys()):
115
- # _update_single_image_status(
116
- # zarr_url=zarr_url,
117
- # dataset_id=history_item.dataset_id,
118
- # workflowtask_id=history_item.workflowtask_id,
119
- # commit=False,
120
- # status=status,
121
- # logfile=logfile,
122
- # db=db,
123
- # )
124
- # db.commit()
@@ -1,16 +0,0 @@
1
- from enum import Enum
2
-
3
-
4
- class XXXStatus(str, Enum):
5
- """
6
- Available status for images
7
-
8
- Attributes:
9
- SUBMITTED:
10
- DONE:
11
- FAILED:
12
- """
13
-
14
- SUBMITTED = "submitted"
15
- DONE = "done"
16
- FAILED = "failed"
@@ -1,16 +0,0 @@
1
- from pydantic import BaseModel
2
- from pydantic import Field
3
-
4
- from .workflowtask import WorkflowTaskStatusTypeV2
5
-
6
-
7
- class StatusReadV2(BaseModel):
8
- """
9
- Response type for the
10
- `/project/{project_id}/status/` endpoint
11
- """
12
-
13
- status: dict[
14
- str,
15
- WorkflowTaskStatusTypeV2,
16
- ] = Field(default_factory=dict)