fractal-server 2.15.6__py3-none-any.whl → 2.15.7__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.
@@ -1 +1 @@
1
- __VERSION__ = "2.15.6"
1
+ __VERSION__ = "2.15.7"
@@ -102,8 +102,9 @@ async def _verify_workflow_and_dataset_access(
102
102
  Verify user access to a dataset/workflow pair.
103
103
 
104
104
  Args:
105
+ project_id:
106
+ workflow_id:
105
107
  dataset_id:
106
- workflow_task_id:
107
108
  user_id:
108
109
  db:
109
110
  """
@@ -148,7 +149,7 @@ async def get_wftask_check_owner(
148
149
  Args:
149
150
  project_id:
150
151
  dataset_id:
151
- workflow_task_id:
152
+ workflowtask_id:
152
153
  user_id:
153
154
  db:
154
155
  """
@@ -231,11 +231,14 @@ async def _get_collection_task_group_activity_status_message(
231
231
  )
232
232
  task_group_activity_list = res.scalars().all()
233
233
  if len(task_group_activity_list) > 1:
234
- msg = (
235
- "\nWarning: "
234
+ msg_short = (
236
235
  "Expected only one TaskGroupActivityV2 associated to TaskGroup "
237
236
  f"{task_group_id}, found {len(task_group_activity_list)} "
238
237
  f"(IDs: {[tga.id for tga in task_group_activity_list]})."
238
+ )
239
+ logger.error(f"UnreachableBranchError: {msg_short}")
240
+ msg = (
241
+ f"\nWarning: {msg_short}\n"
239
242
  "Warning: this should have not happened, please contact an admin."
240
243
  )
241
244
  elif len(task_group_activity_list) == 1:
@@ -268,13 +271,16 @@ async def _verify_non_duplication_user_constraint(
268
271
  if duplicate:
269
272
  user = await db.get(UserOAuth, user_id)
270
273
  if len(duplicate) > 1:
274
+ error_msg = (
275
+ f"User '{user.email}' already owns {len(duplicate)} task "
276
+ f"groups with name='{pkg_name}' and {version=} "
277
+ f"(IDs: {[group.id for group in duplicate]})."
278
+ )
279
+ logger.error(f"UnreachableBranchError: {error_msg}")
271
280
  raise HTTPException(
272
281
  status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
273
282
  detail=(
274
- "Invalid state:\n"
275
- f"User '{user.email}' already owns {len(duplicate)} task "
276
- f"groups with name='{pkg_name}' and {version=} "
277
- f"(IDs: {[group.id for group in duplicate]}).\n"
283
+ f"Invalid state: {error_msg}\n"
278
284
  "This should have not happened: please contact an admin."
279
285
  ),
280
286
  )
@@ -310,13 +316,16 @@ async def _verify_non_duplication_group_constraint(
310
316
  if duplicate:
311
317
  user_group = await db.get(UserGroup, user_group_id)
312
318
  if len(duplicate) > 1:
319
+ error_msg = (
320
+ f"UserGroup '{user_group.name}' already owns "
321
+ f"{len(duplicate)} task groups with name='{pkg_name}' and "
322
+ f"{version=} (IDs: {[group.id for group in duplicate]}).\n"
323
+ )
324
+ logger.error(error_msg)
313
325
  raise HTTPException(
314
326
  status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
315
327
  detail=(
316
- "Invalid state:\n"
317
- f"UserGroup '{user_group.name}' already owns "
318
- f"{len(duplicate)} task groups with name='{pkg_name}' and "
319
- f"{version=} (IDs: {[group.id for group in duplicate]}).\n"
328
+ f"Invalid state:\n{error_msg}"
320
329
  "This should have not happened: please contact an admin."
321
330
  ),
322
331
  )
@@ -91,14 +91,15 @@ class BaseRunner:
91
91
  workflow_task_order:
92
92
  workflow_task_id:
93
93
  task_name:
94
- parameters:
95
- Dictionary of parameters. Must include `zarr_urls` key.
94
+ list_parameters:
95
+ List of dictionaries of parameters (each one must include
96
+ `zarr_urls` key).
96
97
  history_unit_ids:
97
98
  Database IDs of the corresponding `HistoryUnit` entries.
99
+ list_task_files: `TaskFiles` objects.
98
100
  task_type: Task type.
99
- task_files: `TaskFiles` object.
100
101
  config: Runner-specific parameters.
101
- user_id
102
+ user_id:
102
103
  """
103
104
  raise NotImplementedError()
104
105
 
@@ -213,7 +213,7 @@ class SlurmConfig(BaseModel):
213
213
  `SlurmConfig` attributes (e.g. `mem_per_task_MB`), which are not meant to
214
214
  be part of the `FRACTAL_SLURM_CONFIG_FILE` JSON file (details on the
215
215
  expected file content are defined in
216
- [`SlurmConfigFile`](./#fractal_server.app.runner._slurm._slurm_config.SlurmConfigFile)).
216
+ [`SlurmConfigFile`](#fractal_server.app.runner._slurm._slurm_config.SlurmConfigFile)).
217
217
 
218
218
  Part of the attributes map directly to some of the SLURM attributes (see
219
219
  https://slurm.schedmd.com/sbatch.html), e.g. `partition`. Other attributes
@@ -7,7 +7,7 @@ from pathlib import Path
7
7
  def get_tar_compression_cmd(
8
8
  subfolder_path: Path,
9
9
  filelist_path: Path | None,
10
- ) -> tuple[str, str]:
10
+ ) -> str:
11
11
  """
12
12
  Prepare command to compress e.g. `/path/dir` into `/path/dir.tar.gz`.
13
13
 
@@ -17,7 +17,6 @@ def get_tar_compression_cmd(
17
17
  Args:
18
18
  subfolder_path: Absolute path to the folder to compress.
19
19
  filelist_path: If set, to be used in the `--files-from` option.
20
- expected_tarfile: If set, it should match to the returned one.
21
20
 
22
21
  Returns:
23
22
  tar command
@@ -32,6 +32,7 @@ from fractal_server.app.runner.v2.task_interface import (
32
32
  )
33
33
  from fractal_server.app.schemas.v2 import HistoryUnitStatus
34
34
  from fractal_server.app.schemas.v2 import TaskType
35
+ from fractal_server.exceptions import UnreachableBranchError
35
36
  from fractal_server.logger import set_logger
36
37
 
37
38
  __all__ = [
@@ -349,11 +350,11 @@ def run_v2_task_parallel(
349
350
  for ind in range(len(list_function_kwargs)):
350
351
  if ind not in results.keys() and ind not in exceptions.keys():
351
352
  error_msg = (
352
- f"Invalid branch: {ind=} is not in `results.keys()` "
353
+ f"UnreachableBranchError: {ind=} is not in `results.keys()` "
353
354
  "nor in `exceptions.keys()`."
354
355
  )
355
356
  logger.error(error_msg)
356
- raise RuntimeError(error_msg)
357
+ raise UnreachableBranchError(error_msg)
357
358
  outcome[ind] = _process_task_output(
358
359
  result=results.get(ind, None),
359
360
  exception=exceptions.get(ind, None),
@@ -567,13 +568,12 @@ def run_v2_task_compound(
567
568
  failure = False
568
569
  for ind in range(len(list_function_kwargs)):
569
570
  if ind not in results.keys() and ind not in exceptions.keys():
570
- # NOTE: see issue 2484
571
571
  error_msg = (
572
- f"Invalid branch: {ind=} is not in `results.keys()` "
572
+ f"UnreachableBranchError: {ind=} is not in `results.keys()` "
573
573
  "nor in `exceptions.keys()`."
574
574
  )
575
575
  logger.error(error_msg)
576
- raise RuntimeError(error_msg)
576
+ raise UnreachableBranchError(error_msg)
577
577
  compute_outcomes[ind] = _process_task_output(
578
578
  result=results.get(ind, None),
579
579
  exception=exceptions.get(ind, None),
@@ -49,7 +49,9 @@ class TaskCollectPipV2(BaseModel):
49
49
  package: NonEmptyStr | None = None
50
50
  package_version: NonEmptyStr | None = None
51
51
  package_extras: NonEmptyStr | None = None
52
- python_version: Literal["3.9", "3.10", "3.11", "3.12"] | None = None
52
+ python_version: Literal[
53
+ "3.9", "3.10", "3.11", "3.12", "3.13"
54
+ ] | None = None
53
55
  pinned_package_versions: DictStrStr | None = None
54
56
 
55
57
  @field_validator(
fractal_server/config.py CHANGED
@@ -405,7 +405,7 @@ class Settings(BaseSettings):
405
405
  """
406
406
 
407
407
  FRACTAL_TASKS_PYTHON_DEFAULT_VERSION: None | (
408
- Literal["3.9", "3.10", "3.11", "3.12"]
408
+ Literal["3.9", "3.10", "3.11", "3.12", "3.13"]
409
409
  ) = None
410
410
  """
411
411
  Default Python version to be used for task collection. Defaults to the
@@ -437,6 +437,11 @@ class Settings(BaseSettings):
437
437
  Same as `FRACTAL_TASKS_PYTHON_3_9`, for Python 3.12.
438
438
  """
439
439
 
440
+ FRACTAL_TASKS_PYTHON_3_13: str | None = None
441
+ """
442
+ Same as `FRACTAL_TASKS_PYTHON_3_9`, for Python 3.13.
443
+ """
444
+
440
445
  @model_validator(mode="before")
441
446
  @classmethod
442
447
  def check_tasks_python(cls, values):
@@ -450,7 +455,7 @@ class Settings(BaseSettings):
450
455
  `FRACTAL_TASKS_PYTHON_X_Y` (and unset all others).
451
456
  """
452
457
  # `FRACTAL_TASKS_PYTHON_X_Y` variables can only be absolute paths
453
- for version in ["3_9", "3_10", "3_11", "3_12"]:
458
+ for version in ["3_9", "3_10", "3_11", "3_12", "3_13"]:
454
459
  key = f"FRACTAL_TASKS_PYTHON_{version}"
455
460
  value = values.get(key)
456
461
  if value is not None and not Path(value).is_absolute():
@@ -490,7 +495,7 @@ class Settings(BaseSettings):
490
495
  )
491
496
 
492
497
  # Unset all existing interpreters variable
493
- for _version in ["3_9", "3_10", "3_11", "3_12"]:
498
+ for _version in ["3_9", "3_10", "3_11", "3_12", "3_13"]:
494
499
  key = f"FRACTAL_TASKS_PYTHON_{_version}"
495
500
  if _version == current_version:
496
501
  values[key] = sys.executable
@@ -69,7 +69,7 @@ def _customize_and_run_template(
69
69
  )
70
70
 
71
71
  # Execute script remotely
72
- bash = "bash --login " if login_shell else "bash"
72
+ bash = "bash --login" if login_shell else "bash"
73
73
  cmd = f"{bash} {script_path_remote}"
74
74
  logger.debug(f"Now run '{cmd}' over SSH.")
75
75
  stdout = fractal_ssh.run_command(cmd=cmd)
@@ -56,8 +56,8 @@ def simplify_pyproject_toml(
56
56
 
57
57
  Args:
58
58
  original_toml_string: Original `pyproject.toml` contents
59
- environment: Name of the pixi environment to use (e.g. `default`).
60
- target_platform: Name of the platform (e.g. `linux-64`)
59
+ pixi_environment: Name of the pixi environment to use (e.g. `default`).
60
+ pixi_platform: Name of the platform (e.g. `linux-64`)
61
61
 
62
62
  Returns:
63
63
  New `pyproject.toml` contents
@@ -78,6 +78,10 @@ def simplify_pyproject_toml(
78
78
  pixi_data["workspace"]["platforms"] = [pixi_platform]
79
79
  except KeyError:
80
80
  logger.info("KeyError for workspace/platforms - skip.")
81
+ try:
82
+ pixi_data["project"]["platforms"] = [pixi_platform]
83
+ except KeyError:
84
+ logger.info("KeyError for project/platforms - skip.")
81
85
 
82
86
  # Keep a single environment (or skip, if not set)
83
87
  try:
@@ -21,7 +21,7 @@ def get_python_interpreter_v2(
21
21
  interpreter: string representing the python executable or its path
22
22
  """
23
23
 
24
- if python_version not in ["3.9", "3.10", "3.11", "3.12"]:
24
+ if python_version not in ["3.9", "3.10", "3.11", "3.12", "3.13"]:
25
25
  raise ValueError(f"Invalid {python_version=}.")
26
26
 
27
27
  settings = Inject(get_settings)
@@ -1,19 +1,20 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fractal-server
3
- Version: 2.15.6
3
+ Version: 2.15.7
4
4
  Summary: Backend component of the Fractal analytics platform
5
5
  License: BSD-3-Clause
6
6
  Author: Tommaso Comparin
7
7
  Author-email: tommaso.comparin@exact-lab.it
8
- Requires-Python: >=3.11,<3.13
8
+ Requires-Python: >=3.11,<3.14
9
9
  Classifier: License :: OSI Approved :: BSD License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
13
14
  Requires-Dist: alembic (>=1.13.1,<2.0.0)
14
15
  Requires-Dist: cryptography (>=45.0.3,<45.1.0)
15
16
  Requires-Dist: fabric (>=3.2.2,<3.3.0)
16
- Requires-Dist: fastapi (>=0.115.0,<0.116.0)
17
+ Requires-Dist: fastapi (>=0.116.0,<0.117.0)
17
18
  Requires-Dist: fastapi-users[oauth] (>=14,<15)
18
19
  Requires-Dist: gunicorn (>=23.0,<24.0)
19
20
  Requires-Dist: packaging (>=25.0.0,<26.0.0)
@@ -1,4 +1,4 @@
1
- fractal_server/__init__.py,sha256=9b_JI6UfsPyLDqzYMe_YaGYPHyDEJP2xKvdlE-7QIqo,23
1
+ fractal_server/__init__.py,sha256=SIpD8yvbZydQsQo0H2fClLPf0pyYpjeHjRBmNRTNLKk,23
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
@@ -31,10 +31,10 @@ fractal_server/app/routes/admin/v2/task_group_lifecycle.py,sha256=2J3M9VXWD_0j9j
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=tfnxqbufKqd5dbFUzOFlRPc9EgURhpNa5V2V4agzndg,14259
34
- fractal_server/app/routes/api/v2/_aux_functions_history.py,sha256=Z23xwvBaVEEQ5B-JsWZJpjj4_QqoXqHYONztnbAH6gw,4425
34
+ fractal_server/app/routes/api/v2/_aux_functions_history.py,sha256=ykTyiY3H-nGSgGfcVkb2xQqJd65YOY2aWVK9sfqTdIY,4439
35
35
  fractal_server/app/routes/api/v2/_aux_functions_task_lifecycle.py,sha256=GpKfw9yj01LmOAuNMTOreU1PFkCKpjK5oCt7_wp35-A,6741
36
36
  fractal_server/app/routes/api/v2/_aux_functions_task_version_update.py,sha256=WLDOYCnb6fnS5avKflyx6yN24Vo1n5kJk5ZyiKbzb8Y,1175
37
- fractal_server/app/routes/api/v2/_aux_functions_tasks.py,sha256=-KTPouwPQga5SGe2n0diWm-Fev31DPAfXKMo6PijBSI,12207
37
+ fractal_server/app/routes/api/v2/_aux_functions_tasks.py,sha256=sjlhv6LliDvhttVTjC2xhIFO-Vj3roE3bEv7_TZ1h0A,12494
38
38
  fractal_server/app/routes/api/v2/_aux_task_group_disambiguation.py,sha256=8x1_q9FyCzItnPmdSdLQuwUTy4B9xCsXscp97_lJcpM,4635
39
39
  fractal_server/app/routes/api/v2/dataset.py,sha256=6u4MFqJ3YZ0Zq6Xx8CRMrTPKW55ZaR63Uno21DqFr4Q,8889
40
40
  fractal_server/app/routes/api/v2/history.py,sha256=03QPe08pyy-NWEe21NVKprsLgqxljQO4gMZ8plt9wys,17112
@@ -72,7 +72,7 @@ fractal_server/app/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
72
72
  fractal_server/app/runner/components.py,sha256=-Ii5l8d_V6f5DFOd-Zsr8VYmOsyqw0Hox9fEFQiuqxY,66
73
73
  fractal_server/app/runner/exceptions.py,sha256=lzYefT6IpA2ajcQUzm9kT9pTxRl5UGIJKyLs6v1JczA,1731
74
74
  fractal_server/app/runner/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- fractal_server/app/runner/executors/base_runner.py,sha256=7ujN6gN92X9sWAlDwkc07G3FA4Z_Zwew_uBYh2qv0uI,5978
75
+ fractal_server/app/runner/executors/base_runner.py,sha256=5Y0VACW3YZtXwLH-ll963miWWYsNJ1ZD0V2S5-N8vGI,6026
76
76
  fractal_server/app/runner/executors/call_command_wrapper.py,sha256=1BHl-zbXoX2oGUWGAFprVZMmg5QjutPH0-VZJSIC0II,1419
77
77
  fractal_server/app/runner/executors/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
78
  fractal_server/app/runner/executors/local/get_local_config.py,sha256=KBYOkcuwpSYl-ZIAwPBxpn59QSyFF8eJ-fLKVIhwwzA,3594
@@ -80,7 +80,7 @@ fractal_server/app/runner/executors/local/runner.py,sha256=syJcUYkdKeGYbD33VzuX9
80
80
  fractal_server/app/runner/executors/slurm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
81
  fractal_server/app/runner/executors/slurm_common/_batching.py,sha256=gbHZIxt90GjUwhB9_UInwVqpX-KdxRQMDeXzUagdL3U,8816
82
82
  fractal_server/app/runner/executors/slurm_common/_job_states.py,sha256=nuV-Zba38kDrRESOVB3gaGbrSPZc4q7YGichQaeqTW0,238
83
- fractal_server/app/runner/executors/slurm_common/_slurm_config.py,sha256=U9BONnnwn8eDqDevwUtFSBcvIsxvNgDHirhcQGJ9t9E,15947
83
+ fractal_server/app/runner/executors/slurm_common/_slurm_config.py,sha256=7L80pH2lOe6qAH-8VzmcUOMgA9KJoQLTPDpkonKwhH8,15945
84
84
  fractal_server/app/runner/executors/slurm_common/base_slurm_runner.py,sha256=1Sh56lb7NERVtsBMvVs4K7nVHhMy_KDbwquPl1ub8vE,37937
85
85
  fractal_server/app/runner/executors/slurm_common/get_slurm_config.py,sha256=KhQQJrGQZLX5u8fsMcIx7FN8jUKSGEeG68yO7Ay_LXg,7454
86
86
  fractal_server/app/runner/executors/slurm_common/remote.py,sha256=LHK2Ram8X8q6jNSCxnnwKUwmSJMsyQyRem_VjH53qdw,3811
@@ -88,7 +88,7 @@ fractal_server/app/runner/executors/slurm_common/slurm_job_task_models.py,sha256
88
88
  fractal_server/app/runner/executors/slurm_ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
89
  fractal_server/app/runner/executors/slurm_ssh/run_subprocess.py,sha256=SyW6t4egvbiARph2YkFjc88Hj94fCamZVi50L7ph8VM,996
90
90
  fractal_server/app/runner/executors/slurm_ssh/runner.py,sha256=Hzq01rLgOEzS6UPMzW59d4Ox-wwHlxyPF1KiKcGQvIM,7993
91
- fractal_server/app/runner/executors/slurm_ssh/tar_commands.py,sha256=g173siyv7qtjov5i-CjTVRT8d19ibK8re3RVWbsdHYA,1845
91
+ fractal_server/app/runner/executors/slurm_ssh/tar_commands.py,sha256=yqBjWTLmh_FzhCllt_KfbuCUGvRhsHLVWlPOZlRWLzY,1762
92
92
  fractal_server/app/runner/executors/slurm_sudo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
93
  fractal_server/app/runner/executors/slurm_sudo/_subprocess_run_as_user.py,sha256=W-FxnVcHxMGpv4zGgJVttVQoweyGgR4uBxO22QIZkp0,2576
94
94
  fractal_server/app/runner/executors/slurm_sudo/runner.py,sha256=TGH6B1eRHgHjYjqN86F1V-WNAB_kp-nPo5TJ0FHwigY,5859
@@ -104,7 +104,7 @@ fractal_server/app/runner/v2/db_tools.py,sha256=ozp4RFLB3LNI0rM0q0udi6ja8-5vooH_
104
104
  fractal_server/app/runner/v2/deduplicate_list.py,sha256=IVTE4abBU1bUprFTkxrTfYKnvkNTanWQ-KWh_etiT08,645
105
105
  fractal_server/app/runner/v2/merge_outputs.py,sha256=YOTKbGOM9s-uqY4KN2onoIxuHNm-v3hr5zv6Aa1KEtA,905
106
106
  fractal_server/app/runner/v2/runner.py,sha256=IsQhSxASVI-yPBO2G2uuVvZkRIoAlSY6Ev7gcSYmDOw,18989
107
- fractal_server/app/runner/v2/runner_functions.py,sha256=aEwEDzI2l-QvgfJSj-M2LGvqA89nOiJYIFVryKEq_3M,18988
107
+ fractal_server/app/runner/v2/runner_functions.py,sha256=xteoDSXKxStl3ABEXyjrggPiXdXAPy9sJPfT3B8CQ3Y,19050
108
108
  fractal_server/app/runner/v2/submit_workflow.py,sha256=L6WqQC3Vm-tLe_CJXHIMbYLAeulAN2no_4HZD4cbhR0,12554
109
109
  fractal_server/app/runner/v2/task_interface.py,sha256=BRSKpitGproY48JQdCbfrghbDonA-EqPP1yIopohpPo,2525
110
110
  fractal_server/app/runner/versions.py,sha256=4BW-8Et8RVgILgpFoUJLWkEnZz53pv8hv_2ucG480ns,398
@@ -122,14 +122,14 @@ fractal_server/app/schemas/v2/manifest.py,sha256=QUpXMDB8WkB1F4UK-yYmm3O8bXoHwDG
122
122
  fractal_server/app/schemas/v2/project.py,sha256=7UC0aZLgtmkaAiPykeUj-9OZXhMkoyi3V-475UW_EQs,654
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
- fractal_server/app/schemas/v2/task_collection.py,sha256=EPGe4bTRka-Y3S3_h6Wfmstq1889Cn-5cZ9ODdnsKG8,4154
125
+ fractal_server/app/schemas/v2/task_collection.py,sha256=1sz2fJEUgRVVjwGGXFyRsr4L6RnNvTKQJsRXbMjNmps,4176
126
126
  fractal_server/app/schemas/v2/task_group.py,sha256=NwU3FRPzPtoEhunE7dcF3su20dxaL_4YJQw4fPnTcgo,3231
127
127
  fractal_server/app/schemas/v2/workflow.py,sha256=L-dW6SzCH_VNoH6ENip44lTgGGqVYHHBk_3PtM-Ooy8,1772
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
130
130
  fractal_server/app/security/signup_email.py,sha256=Xd6QYxcdmg0PHpDwmUE8XQmPcOj3Xjy5oROcIMhmltM,1472
131
131
  fractal_server/app/user_settings.py,sha256=OP1yiYKtPadxwM51_Q0hdPk3z90TCN4z1BLpQsXyWiU,1316
132
- fractal_server/config.py,sha256=oVNGnbyLhvVzcFnCPS4UCCEXbAVyACZR_u4fDsBa534,28337
132
+ fractal_server/config.py,sha256=NQ4wHfxzbd3nlCLbuATimq-5L7OQ2-4Y9MnyX1DEup0,28484
133
133
  fractal_server/data_migrations/2_14_10.py,sha256=jzMg2c1zNO8C_Nho_9_EZJD6kR1-gkFNpNrMR5Hr8hM,1598
134
134
  fractal_server/data_migrations/README.md,sha256=_3AEFvDg9YkybDqCLlFPdDmGJvr6Tw7HRI14aZ3LOIw,398
135
135
  fractal_server/data_migrations/tools.py,sha256=LeMeASwYGtEqd-3wOLle6WARdTGAimoyMmRbbJl-hAM,572
@@ -200,7 +200,7 @@ fractal_server/tasks/v2/local/deactivate_pixi.py,sha256=x9YCILEP1EjCrZccAcj5C5i0
200
200
  fractal_server/tasks/v2/local/reactivate.py,sha256=Q43DOadNeFyyfgNP67lUqaXmZsS6onv67XwxH_-5ANA,5756
201
201
  fractal_server/tasks/v2/local/reactivate_pixi.py,sha256=IuxDRaj8i6Rc582TIbc9HVKQ9pOvR4IepyXSaJx2PfQ,7565
202
202
  fractal_server/tasks/v2/ssh/__init__.py,sha256=vX5aIM9Hbn2T_cIP_LrZ5ekRqJzYm_GSfp-4Iv7kqeI,300
203
- fractal_server/tasks/v2/ssh/_utils.py,sha256=7rEyykRbaGblunLhoDf0A3IF0aWPBX4wTd5ES3R42SM,5121
203
+ fractal_server/tasks/v2/ssh/_utils.py,sha256=V8ZcjEMCNSHivUyu1rnGG_V96Ylq1RRvocQDN1n6BAw,5120
204
204
  fractal_server/tasks/v2/ssh/collect.py,sha256=WesUBtNaax9ST7CtgqAD2qd-ZII4t1JFPzRzltEOuM8,14333
205
205
  fractal_server/tasks/v2/ssh/collect_pixi.py,sha256=unZXs3qjBoWYBIa2xWiIKz2CVMVBAhcloQ_9YJ97n5k,14211
206
206
  fractal_server/tasks/v2/ssh/deactivate.py,sha256=7gJ2mOah0wKwUnK0S9QpaXg08_WE95P0rC-oExAGhLE,12438
@@ -219,8 +219,8 @@ fractal_server/tasks/v2/templates/pixi_3_post_install.sh,sha256=99J8KXkNeQk9utuE
219
219
  fractal_server/tasks/v2/utils_background.py,sha256=_4wGETgZ3JdnJXLYKSI0Lns8LwokJL-NEzUOK5SxCJU,4811
220
220
  fractal_server/tasks/v2/utils_database.py,sha256=yi7793Uue32O59OBVUgomO42oUrVKdSKXoShBUNDdK0,1807
221
221
  fractal_server/tasks/v2/utils_package_names.py,sha256=RDg__xrvQs4ieeVzmVdMcEh95vGQYrv9Hfal-5EDBM8,2393
222
- fractal_server/tasks/v2/utils_pixi.py,sha256=VNcHNaHH8uceEtBvuiD-hCjkJHutAP6F4BbEVrAKfbU,3102
223
- fractal_server/tasks/v2/utils_python_interpreter.py,sha256=JOYHou_zgV83zsmNeR9tX0F2xjiYVwKvEASh9nIDGlw,956
222
+ fractal_server/tasks/v2/utils_pixi.py,sha256=tqCnxMdxs7KGWncWvk0alrdvDbX-w77P3fAot68Bqh4,3257
223
+ fractal_server/tasks/v2/utils_python_interpreter.py,sha256=kF86UClk6HxghRLDYY4rKOXwnWGUYQfrNsVNxOmOGxM,964
224
224
  fractal_server/tasks/v2/utils_templates.py,sha256=GR8z7ODkR9tLftNAI1g1NrtN7pvDGrasp2jIlfdg4cI,3518
225
225
  fractal_server/types/__init__.py,sha256=aA_8J1xXzuiLqpwO_Qf18-qzaRcYkHzevhH_T-diXWM,2026
226
226
  fractal_server/types/validators/__init__.py,sha256=5uj6KJ9MelFZgyoq3MzXLhgWCl0yiriS7XKmb0gathg,392
@@ -230,8 +230,8 @@ fractal_server/types/validators/_workflow_task_arguments_validators.py,sha256=HL
230
230
  fractal_server/urls.py,sha256=QjIKAC1a46bCdiPMu3AlpgFbcv6a4l3ABcd5xz190Og,471
231
231
  fractal_server/utils.py,sha256=Vn35lApt1T1J8nc09sAVqd10Cy0sa3dLipcljI-hkuk,2185
232
232
  fractal_server/zip_tools.py,sha256=H0w7wS5yE4ebj7hw1_77YQ959dl2c-L0WX6J_ro1TY4,4884
233
- fractal_server-2.15.6.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
234
- fractal_server-2.15.6.dist-info/METADATA,sha256=2gU9d2hWDNEFSQLlfx119dh46y1qC8b8tmtWvX3k1pc,4283
235
- fractal_server-2.15.6.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
236
- fractal_server-2.15.6.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
237
- fractal_server-2.15.6.dist-info/RECORD,,
233
+ fractal_server-2.15.7.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
234
+ fractal_server-2.15.7.dist-info/METADATA,sha256=8pzRt84EdeTR6rbYAlgbDw6cC-YErI_N_eBIeGUtvLs,4334
235
+ fractal_server-2.15.7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
236
+ fractal_server-2.15.7.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
237
+ fractal_server-2.15.7.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.0
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any