fractal-server 2.15.0a3__py3-none-any.whl → 2.15.0a4__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 (29) hide show
  1. fractal_server/__init__.py +1 -1
  2. fractal_server/app/routes/admin/v2/task_group_lifecycle.py +0 -3
  3. fractal_server/app/routes/api/v2/task_collection.py +0 -2
  4. fractal_server/app/routes/api/v2/task_collection_pixi.py +1 -12
  5. fractal_server/app/routes/api/v2/task_group_lifecycle.py +0 -3
  6. fractal_server/app/schemas/v2/__init__.py +0 -1
  7. fractal_server/app/schemas/v2/task_group.py +0 -9
  8. fractal_server/tasks/v2/local/_utils.py +1 -5
  9. fractal_server/tasks/v2/local/collect.py +5 -8
  10. fractal_server/tasks/v2/local/collect_pixi.py +8 -13
  11. fractal_server/tasks/v2/local/deactivate.py +5 -9
  12. fractal_server/tasks/v2/local/deactivate_pixi.py +4 -10
  13. fractal_server/tasks/v2/local/reactivate.py +5 -9
  14. fractal_server/tasks/v2/local/reactivate_pixi.py +8 -14
  15. fractal_server/tasks/v2/ssh/_utils.py +45 -4
  16. fractal_server/tasks/v2/ssh/collect.py +32 -37
  17. fractal_server/tasks/v2/ssh/collect_pixi.py +34 -45
  18. fractal_server/tasks/v2/ssh/deactivate.py +21 -28
  19. fractal_server/tasks/v2/ssh/deactivate_pixi.py +20 -28
  20. fractal_server/tasks/v2/ssh/reactivate.py +23 -29
  21. fractal_server/tasks/v2/ssh/reactivate_pixi.py +144 -38
  22. fractal_server/tasks/v2/templates/pixi_2_install.sh +3 -8
  23. fractal_server/tasks/v2/utils_background.py +7 -0
  24. fractal_server/tasks/v2/utils_templates.py +14 -1
  25. {fractal_server-2.15.0a3.dist-info → fractal_server-2.15.0a4.dist-info}/METADATA +1 -1
  26. {fractal_server-2.15.0a3.dist-info → fractal_server-2.15.0a4.dist-info}/RECORD +29 -29
  27. {fractal_server-2.15.0a3.dist-info → fractal_server-2.15.0a4.dist-info}/LICENSE +0 -0
  28. {fractal_server-2.15.0a3.dist-info → fractal_server-2.15.0a4.dist-info}/WHEEL +0 -0
  29. {fractal_server-2.15.0a3.dist-info → fractal_server-2.15.0a4.dist-info}/entry_points.txt +0 -0
@@ -12,10 +12,21 @@ SCRIPTS_SUBFOLDER = "scripts"
12
12
  logger = set_logger(__name__)
13
13
 
14
14
 
15
+ def _check_pixi_frozen_option(replacements: list[tuple[str, str]]):
16
+ try:
17
+ replacement = next(
18
+ rep for rep in replacements if rep[0] == "__FROZEN_OPTION__"
19
+ )
20
+ if replacement[1] not in ["", "--frozen"]:
21
+ raise ValueError(f"Invalid {replacement=}.")
22
+ except StopIteration:
23
+ pass
24
+
25
+
15
26
  def customize_template(
16
27
  *,
17
28
  template_name: str,
18
- replacements: list[tuple[str, str]],
29
+ replacements: set[tuple[str, str]],
19
30
  script_path: str,
20
31
  ) -> str:
21
32
  """
@@ -26,6 +37,8 @@ def customize_template(
26
37
  replacements: List of replacements for template customization.
27
38
  script_path: Local path where the customized template will be written.
28
39
  """
40
+ _check_pixi_frozen_option(replacements=replacements)
41
+
29
42
  # Read template
30
43
  template_path = TEMPLATES_DIR / template_name
31
44
  with template_path.open("r") as f:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fractal-server
3
- Version: 2.15.0a3
3
+ Version: 2.15.0a4
4
4
  Summary: Backend component of the Fractal analytics platform
5
5
  License: BSD-3-Clause
6
6
  Author: Tommaso Comparin
@@ -1,4 +1,4 @@
1
- fractal_server/__init__.py,sha256=tcBKTFic3HqyDYYBuQ8rt1m1EBOL362w1jDviQBo4aI,25
1
+ fractal_server/__init__.py,sha256=o7k56yCVsIjpLW3Sy9jgFDRLcOWV7ruqsNi1y_EeYx0,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
@@ -27,7 +27,7 @@ fractal_server/app/routes/admin/v2/job.py,sha256=EOnW645RaacyNof55O_NV_4ONyb7ihM
27
27
  fractal_server/app/routes/admin/v2/project.py,sha256=MA_LdoEuSuisSGRO43TapMuJ080y5iaUGSAUgKuuKOg,1188
28
28
  fractal_server/app/routes/admin/v2/task.py,sha256=93QIbWZNnqaBhG9R9-RStDX2mpqRNN3G7BIb0KM-jeE,4312
29
29
  fractal_server/app/routes/admin/v2/task_group.py,sha256=biibAvMPD2w-267eyTm3wH2s3mITjiS5gYzwCCwmLbI,7099
30
- fractal_server/app/routes/admin/v2/task_group_lifecycle.py,sha256=8-CWyfyB22K-0VlbzJ1BFUqcFsflfeBKVeHRqePClfs,9222
30
+ fractal_server/app/routes/admin/v2/task_group_lifecycle.py,sha256=2J3M9VXWD_0j9jRTZ5APuUXl9E-aVv0qF8K02vvcO3s,9150
31
31
  fractal_server/app/routes/api/__init__.py,sha256=B8l6PSAhR10iZqHEiyTat-_0tkeKdrCigIE6DJGP5b8,638
32
32
  fractal_server/app/routes/api/v2/__init__.py,sha256=D3sRRsqkmZO6kBxUjg40q0aRDsnuXI4sOOfn0xF9JsM,2820
33
33
  fractal_server/app/routes/api/v2/_aux_functions.py,sha256=P5exwdiNm0ZxtoGw4wxvm_-u8e83gXz8iYEVFuUq_cU,12792
@@ -45,11 +45,11 @@ fractal_server/app/routes/api/v2/project.py,sha256=ldMEyjtwGpX2teu85sCNWaubDFlw-
45
45
  fractal_server/app/routes/api/v2/status_legacy.py,sha256=ZckHeBy8y21cyQ_OLY-VmkapzMhd3g9ae-qg-r4-uVo,6317
46
46
  fractal_server/app/routes/api/v2/submit.py,sha256=_BDkWtFdo8-p7kZ0Oxaidei04MfuBeaEsWtwJaKZQ_Y,8781
47
47
  fractal_server/app/routes/api/v2/task.py,sha256=ptS47XtxnHzk9bPNZV24Wfroo5sP19RE0-LsfX0ZvOc,7018
48
- fractal_server/app/routes/api/v2/task_collection.py,sha256=MRaf_-rI4dL6Sfn8XuDUZ-f9a_60V-ChPvPEEuzCzCc,12599
48
+ fractal_server/app/routes/api/v2/task_collection.py,sha256=9_HWI2BhHfJKZlljmxN3e02IsMrKntLGfJkFl5nboDw,12549
49
49
  fractal_server/app/routes/api/v2/task_collection_custom.py,sha256=3EZAzTVlt3wrHAuwxfcYo7LpHefLCcQUctZuolJOQHE,6728
50
- fractal_server/app/routes/api/v2/task_collection_pixi.py,sha256=oHTTB1gXoX2mbuQTvH7SuW4GYrGOfmb9xHZ8DwChmcE,8219
50
+ fractal_server/app/routes/api/v2/task_collection_pixi.py,sha256=M0axsUWkq6842p9tHQ9Fs2WX8Og6v8vKSiQ4thMLyOs,7792
51
51
  fractal_server/app/routes/api/v2/task_group.py,sha256=M96VoKcLqOpZlY0RWnsHza8jN0dzAWK9lxw87Om3Fbw,9063
52
- fractal_server/app/routes/api/v2/task_group_lifecycle.py,sha256=vCIAuSkepwLZw05ZLn46MOB4x6ZN_v3tXXyjv4f6rJw,10070
52
+ fractal_server/app/routes/api/v2/task_group_lifecycle.py,sha256=-uS_z8E3__t_twEqhZOzcEcAxZsgnpg-c7Ya9RF3_bs,9998
53
53
  fractal_server/app/routes/api/v2/task_version_update.py,sha256=o8W_C0I84X0u8gAMnCvi8ChiVAKrb5WzUBuJLSuujCA,8235
54
54
  fractal_server/app/routes/api/v2/workflow.py,sha256=gwMtpfUY_JiTv5_R_q1I9WNkp6nTqEVtYx8jWNJRxcU,10227
55
55
  fractal_server/app/routes/api/v2/workflow_import.py,sha256=kOGDaCj0jCGK1WSYGbnUjtUg2U1YxUY9UMH-2ilqJg4,9027
@@ -112,7 +112,7 @@ fractal_server/app/schemas/__init__.py,sha256=stURAU_t3AOBaH0HSUbV-GKhlPKngnnIMo
112
112
  fractal_server/app/schemas/user.py,sha256=t9nbyYjGCSOsxm9K97PDG3-9o27CsaFfhWb_L5nrjqA,1910
113
113
  fractal_server/app/schemas/user_group.py,sha256=x3-kqbo0q2wTP7QI0iZ7PU_9Dr957UYrFMKqS7BXLhE,1425
114
114
  fractal_server/app/schemas/user_settings.py,sha256=NpdC0Me0fgwwdfJuTSlFLCnLUjiWWzrJlPn_UPLjXnw,1862
115
- fractal_server/app/schemas/v2/__init__.py,sha256=iWYmNuTPjiPArgEmXHYQcDDfugLOEKAab70zEZ4gDP4,3162
115
+ fractal_server/app/schemas/v2/__init__.py,sha256=GqV6kJ0nKDq2vsSA4uph-nb5pmuaq013LUCcm9LbpLE,3097
116
116
  fractal_server/app/schemas/v2/accounting.py,sha256=Wylt7uWTiDIFlHJOh4XEtYitk2FjFlmnodDrJDxcr0E,397
117
117
  fractal_server/app/schemas/v2/dataset.py,sha256=NKCjBwGBC7mPiSlXktZAcleJsvlLY6KfNKw7Wx4Zfqk,1728
118
118
  fractal_server/app/schemas/v2/dumps.py,sha256=MoQHjKZy-_ujSfr7XmZ6FjB_VR-zLedx9XJj_sp5xvc,2210
@@ -123,7 +123,7 @@ fractal_server/app/schemas/v2/project.py,sha256=l96-3bCfB3knhITaLj1WSyBgbzP_k8Cd
123
123
  fractal_server/app/schemas/v2/status_legacy.py,sha256=eQT1zGxbkzSwd0EqclsOdZ60n1x6J3DB1CZ3m4LYyxc,955
124
124
  fractal_server/app/schemas/v2/task.py,sha256=IJv8loB4kx9FBkaIHoiMsswQyq02FxvyAnHK1u074fU,4364
125
125
  fractal_server/app/schemas/v2/task_collection.py,sha256=EPGe4bTRka-Y3S3_h6Wfmstq1889Cn-5cZ9ODdnsKG8,4154
126
- fractal_server/app/schemas/v2/task_group.py,sha256=NfgoQutaRKcrS1jpRL-s45BFXVuiabT7BvGooRXqY5k,3440
126
+ fractal_server/app/schemas/v2/task_group.py,sha256=NwU3FRPzPtoEhunE7dcF3su20dxaL_4YJQw4fPnTcgo,3231
127
127
  fractal_server/app/schemas/v2/workflow.py,sha256=JtjxbDO52bmY06WUMACUKpFSdJysO4DBv7wezsvODRQ,1775
128
128
  fractal_server/app/schemas/v2/workflowtask.py,sha256=6eweAMyziwaoMT-7R1fVJYunIeZKzT0-7fAVgPO_FEc,3639
129
129
  fractal_server/app/security/__init__.py,sha256=oJ8RVglpOvWPQY4RokiE2YA72Nqo42dZEjywWTt8xr8,14032
@@ -191,21 +191,21 @@ fractal_server/tasks/__init__.py,sha256=kadmVUoIghl8s190_Tt-8f-WBqMi8u8oU4Pvw39N
191
191
  fractal_server/tasks/utils.py,sha256=V7dj8o2AnoHhGSTYlqJHcRFhCIpmOrMOUhtiE_DvRVA,291
192
192
  fractal_server/tasks/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
193
  fractal_server/tasks/v2/local/__init__.py,sha256=S842wRersYKBKjc7xbmj0ov8b5i1YuCHa2f_yYuxcaI,312
194
- fractal_server/tasks/v2/local/_utils.py,sha256=n-w1IqgOTeeXLE0LoHBixrU7kkg-eYEPWepur6g7DQA,2664
195
- fractal_server/tasks/v2/local/collect.py,sha256=OIqvvXqI631MjHDGxYj3a7AmC0FhMZ2v2LD3RSZ18wU,12000
196
- fractal_server/tasks/v2/local/collect_pixi.py,sha256=hm-57SixLujb6wGUI2RBOv49g3E14j80BxGpxhW5x50,9915
197
- fractal_server/tasks/v2/local/deactivate.py,sha256=jaJ-Ejq29JQTZpiQjWHCRf2yUPZUbnjvaQrqnNkmFuo,9836
198
- fractal_server/tasks/v2/local/deactivate_pixi.py,sha256=JM5YM8HLd6YoJdkUH8k8WhXjpydfB3EIhbrL-6SdZgU,3647
199
- fractal_server/tasks/v2/local/reactivate.py,sha256=ZZhwyoQQ8Lzkk18BB4l3pr8x8VI-MnZSoClKnMvTy14,5860
200
- fractal_server/tasks/v2/local/reactivate_pixi.py,sha256=wAUpGWS8mbWn78T2Eh-b6fRDAIIh_d60DUNsFAwN69I,6542
194
+ fractal_server/tasks/v2/local/_utils.py,sha256=p2KJ4BvEwJxahICpzbvzrc5-ciLCFnLXWPCwdNGi-3Q,2495
195
+ fractal_server/tasks/v2/local/collect.py,sha256=MQncScKbWv3g9lrjF8WOhzuEoTEOOgS02RqOJno5csI,11897
196
+ fractal_server/tasks/v2/local/collect_pixi.py,sha256=mINENdTZW4VJOU1JHzE1a_Dszt5fTlyK7caTENUHxy4,9839
197
+ fractal_server/tasks/v2/local/deactivate.py,sha256=LoEs2TUoHQOq3JfxufW6zroXD-Xx_b-hLtdigEBi1JU,9732
198
+ fractal_server/tasks/v2/local/deactivate_pixi.py,sha256=_ycvnLIZ8zUFB3fZbCzDlNudh-SSetl4UkyFrClCcUU,3494
199
+ fractal_server/tasks/v2/local/reactivate.py,sha256=Q43DOadNeFyyfgNP67lUqaXmZsS6onv67XwxH_-5ANA,5756
200
+ fractal_server/tasks/v2/local/reactivate_pixi.py,sha256=bZLYkzhTC3z9bqb_Bm68Ts0yhQO_1qgEyBgT6k2_d00,6406
201
201
  fractal_server/tasks/v2/ssh/__init__.py,sha256=vX5aIM9Hbn2T_cIP_LrZ5ekRqJzYm_GSfp-4Iv7kqeI,300
202
- fractal_server/tasks/v2/ssh/_utils.py,sha256=VAagoseIQW_fSsbwLencqQGyPflQii-Tvzk-r58g478,2834
203
- fractal_server/tasks/v2/ssh/collect.py,sha256=4PwHLEBjY6CV0URHfin47YXPQnhcoizBug2-Syh1CKQ,14543
204
- fractal_server/tasks/v2/ssh/collect_pixi.py,sha256=uzDVM3zN3m6U3uekH2qKjxQyeFOi9l_ZU5e-iExJCiw,13282
205
- fractal_server/tasks/v2/ssh/deactivate.py,sha256=A4v9pcualcGD7l-eWcnMbM0N0HEsectHFA9lJnDXlM0,12639
206
- fractal_server/tasks/v2/ssh/deactivate_pixi.py,sha256=18S9CQ7XA1YS4GHHFl-1HzHRtKnI2TNDSxvuFeA1HhM,5005
207
- fractal_server/tasks/v2/ssh/reactivate.py,sha256=IWekB37oCWzqiFvHe2ncsvL1qgM9RVCmqe3CMBaz5L8,8472
208
- fractal_server/tasks/v2/ssh/reactivate_pixi.py,sha256=Szs4yuDOp2kib1Sda7AFQsHtVQLJstGhtFSUjT9hZrs,3847
202
+ fractal_server/tasks/v2/ssh/_utils.py,sha256=ktVH7psQSAhh353fVUe-BwiBZHzTdgXnR-Xv_vfuX0Y,3857
203
+ fractal_server/tasks/v2/ssh/collect.py,sha256=M9gFD1h9Q1Z-BFQq65dI0vFs6HPCkKQzOkxaLddmChY,14334
204
+ fractal_server/tasks/v2/ssh/collect_pixi.py,sha256=QjjXxEPvhFWFwOSOcc43tefcLFwew9hwEs-DYzjXSyo,12865
205
+ fractal_server/tasks/v2/ssh/deactivate.py,sha256=XAIy84cLT9MSTMiN67U-wfOjxMm5s7lmrGwhW0qp7BU,12439
206
+ fractal_server/tasks/v2/ssh/deactivate_pixi.py,sha256=K0yK_NPUqhFMj6cp6G_0Kfn0Yo7oQux4kT5dFPulnos,4748
207
+ fractal_server/tasks/v2/ssh/reactivate.py,sha256=NJIgMNFKaXMhbvK0iZOsMwMtsms6Boj9f8N4L01X9Bo,8271
208
+ fractal_server/tasks/v2/ssh/reactivate_pixi.py,sha256=0xURTkdGgUehKTAImFMwA6LNA6uv2W2us4PSYKdf9Eg,8968
209
209
  fractal_server/tasks/v2/templates/1_create_venv.sh,sha256=PK0jdHKtQpda1zULebBaVPORt4t6V17wa4N1ohcj5ac,548
210
210
  fractal_server/tasks/v2/templates/2_pip_install.sh,sha256=jMJPQJXHKznO6fxOOXtFXKPdCmTf1VLLWj_JL_ZdKxo,1644
211
211
  fractal_server/tasks/v2/templates/3_pip_freeze.sh,sha256=JldREScEBI4cD_qjfX4UK7V4aI-FnX9ZvVNxgpSOBFc,168
@@ -213,14 +213,14 @@ fractal_server/tasks/v2/templates/4_pip_show.sh,sha256=qm1vPy6AkKhWDjCJGXS8LqCLY
213
213
  fractal_server/tasks/v2/templates/5_get_venv_size_and_file_number.sh,sha256=q-6ZUvA6w6FDVEoSd9O63LaJ9tKZc7qAFH72SGPrd_k,284
214
214
  fractal_server/tasks/v2/templates/6_pip_install_from_freeze.sh,sha256=A2y8RngEjAcRhG-_owA6P7tAdrS_AszFuGXnaeMV8u0,1122
215
215
  fractal_server/tasks/v2/templates/pixi_1_extract.sh,sha256=1Z6sd_fTzqQkOfbFswaPZBNLUyv-OrS4euGlcoi8ces,1097
216
- fractal_server/tasks/v2/templates/pixi_2_install.sh,sha256=lvqIUH3zVr2fhZfoEwjBqAzvYhX9fID6Cea-fPTHbOI,1315
216
+ fractal_server/tasks/v2/templates/pixi_2_install.sh,sha256=GsPWkcYGyUWV5ZifoiSenUXLMeNr3MlhMXF86npi1B0,1233
217
217
  fractal_server/tasks/v2/templates/pixi_3_post_install.sh,sha256=SfXl0l4wY1ygr-DErbaXrgg24UFU7wsz1O8zgbHV0NE,2618
218
- fractal_server/tasks/v2/utils_background.py,sha256=_62JAee3DltnQn14HVGfFosssgiDTyuzFkPbw2RNB8M,4575
218
+ fractal_server/tasks/v2/utils_background.py,sha256=_4wGETgZ3JdnJXLYKSI0Lns8LwokJL-NEzUOK5SxCJU,4811
219
219
  fractal_server/tasks/v2/utils_database.py,sha256=yi7793Uue32O59OBVUgomO42oUrVKdSKXoShBUNDdK0,1807
220
220
  fractal_server/tasks/v2/utils_package_names.py,sha256=RDg__xrvQs4ieeVzmVdMcEh95vGQYrv9Hfal-5EDBM8,2393
221
221
  fractal_server/tasks/v2/utils_pixi.py,sha256=QrRVtN8SZM_ZDoRadXK98R27irOvTJuZO4c_mCfJ92A,1221
222
222
  fractal_server/tasks/v2/utils_python_interpreter.py,sha256=5_wrlrTqXyo1YuLZvAW9hrSoh5MyLOzdPVUlUwM7uDQ,955
223
- fractal_server/tasks/v2/utils_templates.py,sha256=Kc_nSzdlV6KIsO0CQSPs1w70zLyENPqJeTQEFiz4bOg,3124
223
+ fractal_server/tasks/v2/utils_templates.py,sha256=GR8z7ODkR9tLftNAI1g1NrtN7pvDGrasp2jIlfdg4cI,3518
224
224
  fractal_server/types/__init__.py,sha256=aA_8J1xXzuiLqpwO_Qf18-qzaRcYkHzevhH_T-diXWM,2026
225
225
  fractal_server/types/validators/__init__.py,sha256=5uj6KJ9MelFZgyoq3MzXLhgWCl0yiriS7XKmb0gathg,392
226
226
  fractal_server/types/validators/_common_validators.py,sha256=MpxyaP2kwgbyCTOaVRjYnJ74Lfi0f2X0q3rjX9w3vTk,1170
@@ -229,8 +229,8 @@ fractal_server/types/validators/_workflow_task_arguments_validators.py,sha256=HL
229
229
  fractal_server/urls.py,sha256=QjIKAC1a46bCdiPMu3AlpgFbcv6a4l3ABcd5xz190Og,471
230
230
  fractal_server/utils.py,sha256=Vn35lApt1T1J8nc09sAVqd10Cy0sa3dLipcljI-hkuk,2185
231
231
  fractal_server/zip_tools.py,sha256=tqz_8f-vQ9OBRW-4OQfO6xxY-YInHTyHmZxU7U4PqZo,4885
232
- fractal_server-2.15.0a3.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
233
- fractal_server-2.15.0a3.dist-info/METADATA,sha256=Ohmn8BKN9-iTrWF56LJDlUnfC7ZBCi_Y4jX6j0IwAt8,4245
234
- fractal_server-2.15.0a3.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
235
- fractal_server-2.15.0a3.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
236
- fractal_server-2.15.0a3.dist-info/RECORD,,
232
+ fractal_server-2.15.0a4.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
233
+ fractal_server-2.15.0a4.dist-info/METADATA,sha256=govoJDhpiMa5wRwenQpKksSPISsCvuvcM7zNf00LjtQ,4245
234
+ fractal_server-2.15.0a4.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
235
+ fractal_server-2.15.0a4.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
236
+ fractal_server-2.15.0a4.dist-info/RECORD,,