fractal-server 2.17.0a9__py3-none-any.whl → 2.17.0a10__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.17.0a9"
1
+ __VERSION__ = "2.17.0a10"
@@ -52,8 +52,8 @@ async def _disambiguate_task_groups(
52
52
 
53
53
  # Medium priority: task groups owned by default user group
54
54
  settings = Inject(get_settings)
55
+ list_user_group_ids = [tg.user_group_id for tg in matching_task_groups]
55
56
  if settings.FRACTAL_DEFAULT_GROUP_NAME is not None:
56
- list_user_group_ids = [tg.user_group_id for tg in matching_task_groups]
57
57
  try:
58
58
  ind_user_group_id = list_user_group_ids.index(default_group_id)
59
59
  task_group = matching_task_groups[ind_user_group_id]
@@ -200,8 +200,8 @@ async def collect_tasks_pip(
200
200
  raise HTTPException(
201
201
  status_code=status.HTTP_422_UNPROCESSABLE_CONTENT,
202
202
  detail=(
203
- f"Python version {task_group_attrs['python_version']} is "
204
- "not available for Fractal task collection."
203
+ f"Python version {task_group_attrs['python_version']} "
204
+ "is not available on this Fractal instance."
205
205
  ),
206
206
  )
207
207
 
@@ -15,6 +15,7 @@ from fractal_server.app.models import Resource
15
15
  from fractal_server.app.models import UserGroup
16
16
  from fractal_server.app.models import UserOAuth
17
17
  from fractal_server.app.routes.auth import current_user_act
18
+ from fractal_server.app.routes.auth import current_user_act_ver
18
19
  from fractal_server.app.routes.auth._aux_auth import (
19
20
  _get_single_user_with_groups,
20
21
  )
@@ -111,7 +112,7 @@ async def get_current_user_profile_info(
111
112
  "/current-user/allowed-viewer-paths/", response_model=list[str]
112
113
  )
113
114
  async def get_current_user_allowed_viewer_paths(
114
- current_user: UserOAuth = Depends(current_user_act),
115
+ current_user: UserOAuth = Depends(current_user_act_ver),
115
116
  db: AsyncSession = Depends(get_async_db),
116
117
  ) -> list[str]:
117
118
  """
@@ -40,7 +40,7 @@ async def get_list_user_groups(
40
40
  db: AsyncSession = Depends(get_async_db),
41
41
  ) -> list[UserGroupRead]:
42
42
  # Get all groups
43
- stm_all_groups = select(UserGroup)
43
+ stm_all_groups = select(UserGroup).order_by(UserGroup.id)
44
44
  res = await db.execute(stm_all_groups)
45
45
  groups = res.scalars().all()
46
46
 
@@ -7,6 +7,7 @@ from pydantic import field_serializer
7
7
  from pydantic.types import AwareDatetime
8
8
 
9
9
  from fractal_server.types import ListUniqueAbsolutePathStr
10
+ from fractal_server.types import NonEmptyStr
10
11
 
11
12
  __all__ = (
12
13
  "UserGroupRead",
@@ -50,7 +51,7 @@ class UserGroupCreate(BaseModel):
50
51
 
51
52
  model_config = ConfigDict(extra="forbid")
52
53
 
53
- name: str
54
+ name: NonEmptyStr
54
55
  viewer_paths: ListUniqueAbsolutePathStr = Field(default_factory=list)
55
56
 
56
57
 
@@ -442,6 +442,7 @@ async def _create_first_user(
442
442
  raise e
443
443
  finally:
444
444
  function_logger.info(f"END _create_first_user, with email '{email}'")
445
+ close_logger(function_logger)
445
446
 
446
447
 
447
448
  def _create_first_group():
@@ -74,6 +74,9 @@ def simplify_pyproject_toml(
74
74
  return original_toml_string
75
75
 
76
76
  # Use a single platform (or skip, if not set)
77
+ # Note: we look both for `[workspace.platforms]` and `[project.platforms]`,
78
+ # even though `[project]` is deprecated as of
79
+ # https://pixi.sh/dev/CHANGELOG/#0570-2025-10-20.
77
80
  try:
78
81
  pixi_data["workspace"]["platforms"] = [pixi_platform]
79
82
  except KeyError:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fractal-server
3
- Version: 2.17.0a9
3
+ Version: 2.17.0a10
4
4
  Summary: Backend component of the Fractal analytics platform
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE
@@ -1,4 +1,4 @@
1
- fractal_server/__init__.py,sha256=31MUWp2DyXY86Okv_zgVu-z5XLlNkaH5c6DjEuY9RrI,25
1
+ fractal_server/__init__.py,sha256=G5BYCg1etHirfVvA4-6BLaLisXMafnQOALbQLrNgQAU,26
2
2
  fractal_server/__main__.py,sha256=68FlTuST3zbzVofFI8JSYsSBrBQ07Bv3Mu3PsZX9Fw0,11423
3
3
  fractal_server/alembic.ini,sha256=MWwi7GzjzawI9cCAK1LW7NxIBQDUqD12-ptJoq5JpP0,3153
4
4
  fractal_server/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -40,7 +40,7 @@ fractal_server/app/routes/api/v2/_aux_functions_history.py,sha256=PXsqMQ3sfkABqA
40
40
  fractal_server/app/routes/api/v2/_aux_functions_task_lifecycle.py,sha256=5gNt35rYR8sHG2f1N8coQbOJacYIRJ5zUrmMEXcs2LQ,8585
41
41
  fractal_server/app/routes/api/v2/_aux_functions_task_version_update.py,sha256=PKjV7r8YsPRXoNiVSnOK4KBYVV3l_Yb_ZPrqAkMkXrQ,1182
42
42
  fractal_server/app/routes/api/v2/_aux_functions_tasks.py,sha256=63CFMe1QZKRPmmU1xk1qZ_R6A1VANCxAlUBTGDrE0GI,13674
43
- fractal_server/app/routes/api/v2/_aux_task_group_disambiguation.py,sha256=sqvbD3M_4BV8fo9QTHRu-moX3pDfwXpTZaRy5YOH4EU,4897
43
+ fractal_server/app/routes/api/v2/_aux_task_group_disambiguation.py,sha256=492tLRUWTxsAZuhkZUt9PmJtKNLIhkAqKAa-LDtwG_Y,4893
44
44
  fractal_server/app/routes/api/v2/dataset.py,sha256=HhRrReo_isFJFMaUhQfxEQkLj0_lXNfGblzwpLG81VU,8623
45
45
  fractal_server/app/routes/api/v2/history.py,sha256=T-7GDLZ_x4cp9PMEozJoEFt4cGFYPDqv9-akYmN2JSU,17150
46
46
  fractal_server/app/routes/api/v2/images.py,sha256=_R-F1qrsFv3PPukrwXSa-5swNS4kNghY0DTrxjLC_7E,7897
@@ -50,7 +50,7 @@ fractal_server/app/routes/api/v2/project.py,sha256=PkRR1lQayBvY8uEOMherXpvv_YwIM
50
50
  fractal_server/app/routes/api/v2/status_legacy.py,sha256=vZA4AYMehXbNFgekl4j6p8idETC3IylQQL64CmFCr98,6330
51
51
  fractal_server/app/routes/api/v2/submit.py,sha256=o0r58Dc6A1BHOUPp2OK7PKEHc4dIqnp3-kXBWnX8KsY,9373
52
52
  fractal_server/app/routes/api/v2/task.py,sha256=HIQRA7lAW41P89eveCGmUI2HERMakxOw5is-F-j-fco,7519
53
- fractal_server/app/routes/api/v2/task_collection.py,sha256=Ja-Rusi6pSj5VVpfAlBMZmHBUaIhKqsUlhgB-qhgB70,12229
53
+ fractal_server/app/routes/api/v2/task_collection.py,sha256=wgY5-sry8Dg9IbLyzjxur8iqoe9ALs2zNK0bmNtO8Co,12226
54
54
  fractal_server/app/routes/api/v2/task_collection_custom.py,sha256=WjByW-raK-HU1IR02JNc39XMjkRftXyUSHwHrgnZFBw,6924
55
55
  fractal_server/app/routes/api/v2/task_collection_pixi.py,sha256=-HlgVzYxZb0Ysk6fkHbhkiVvVtQxmvli1kW03PTVaVo,7191
56
56
  fractal_server/app/routes/api/v2/task_group.py,sha256=7eGVim9D6AE4synpxAYMijyHIC1HTSBojY08MiuqMBg,8349
@@ -61,8 +61,8 @@ fractal_server/app/routes/api/v2/workflow_import.py,sha256=cEs1bt5urKIbaC8PjnUwY
61
61
  fractal_server/app/routes/api/v2/workflowtask.py,sha256=-V7WjTfYb2L7i3_dQ0Am_ydqepdqs-j3BY67_5iZPfU,7960
62
62
  fractal_server/app/routes/auth/__init__.py,sha256=Y-RQMwY5V25ZVgyYYoFIXvEDQgm6PGTDgxH755oa_NM,2358
63
63
  fractal_server/app/routes/auth/_aux_auth.py,sha256=10eQlLWCsuwmkGiZB3eSR9JhnU4db67wsWRxu8arKqc,5435
64
- fractal_server/app/routes/auth/current_user.py,sha256=BsM_lm9iNiaL8_iMY8NZnfgSXhzEY8xgkQUgtC40h8o,5517
65
- fractal_server/app/routes/auth/group.py,sha256=4SbqIG1FEOWeQzxS1ReSO-6Y7cUyQh9i_-qlAG7epxs,7268
64
+ fractal_server/app/routes/auth/current_user.py,sha256=xYun8dn9Ie3mzTczq1BC7HfIjPpj3x8QOtJ1H6Yb_GM,5585
65
+ fractal_server/app/routes/auth/group.py,sha256=JfQKmmafgVfsPmuVcA4wGs5qKwq9Xx4f-m4uwIyY3-Y,7291
66
66
  fractal_server/app/routes/auth/login.py,sha256=tSu6OBLOieoBtMZB4JkBAdEgH2Y8KqPGSbwy7NIypIo,566
67
67
  fractal_server/app/routes/auth/oauth.py,sha256=5BTEKb7Cb6ASVmgiPb5kVbHcBg0rF8Iqho0aJZd7PPQ,2730
68
68
  fractal_server/app/routes/auth/register.py,sha256=Ola-lNdYYEOK8Wh0Q-TFKwIJ25e6UswlUojJ8QGBCfc,581
@@ -75,7 +75,7 @@ fractal_server/app/routes/aux/validate_user_profile.py,sha256=fGqJDdAFkbQoEIjqZ5
75
75
  fractal_server/app/routes/pagination.py,sha256=IGy8Ll5lYr6ENYE18h3huH5s0GMX1DCs5VdCi6j1cdk,1174
76
76
  fractal_server/app/schemas/__init__.py,sha256=VIWJCaqokte3OljDLX00o-EC2d12rFoPb5HOLKQI94Y,86
77
77
  fractal_server/app/schemas/user.py,sha256=MGggiWGqQV97426IzoaKNIkqHUMEuadW7BbJgom6tB8,2898
78
- fractal_server/app/schemas/user_group.py,sha256=x3-kqbo0q2wTP7QI0iZ7PU_9Dr957UYrFMKqS7BXLhE,1425
78
+ fractal_server/app/schemas/user_group.py,sha256=uTTOVGoy89SxVDpJumjqOEWxqXWR41MNOTBDCyNxEDA,1478
79
79
  fractal_server/app/schemas/v2/__init__.py,sha256=XQex5ojpELgO0xvq2l-Y8oV85ZgM3GBj6lrGGctPb1g,3729
80
80
  fractal_server/app/schemas/v2/accounting.py,sha256=C_ekrYQwhi7PtrxxB07oVAG2y1NLigXjYwyp4E38fao,396
81
81
  fractal_server/app/schemas/v2/dataset.py,sha256=NKCjBwGBC7mPiSlXktZAcleJsvlLY6KfNKw7Wx4Zfqk,1728
@@ -92,7 +92,7 @@ fractal_server/app/schemas/v2/task_collection.py,sha256=BzHQXq2_zLZTbigWauOR5Zi-
92
92
  fractal_server/app/schemas/v2/task_group.py,sha256=4hNZUXnWYSozpLXR3JqBvGzfZBG2TbjqydckHHu2Aq0,3506
93
93
  fractal_server/app/schemas/v2/workflow.py,sha256=L-dW6SzCH_VNoH6ENip44lTgGGqVYHHBk_3PtM-Ooy8,1772
94
94
  fractal_server/app/schemas/v2/workflowtask.py,sha256=6eweAMyziwaoMT-7R1fVJYunIeZKzT0-7fAVgPO_FEc,3639
95
- fractal_server/app/security/__init__.py,sha256=_qETAX97suQAc_Jp09slTNIjgmsdK1hw6EpkVTKqnso,18356
95
+ fractal_server/app/security/__init__.py,sha256=k-La8Da89C1hSUGsiidrWo6Az4u6dbe5PzN1Ctt1t34,18394
96
96
  fractal_server/app/security/signup_email.py,sha256=kphjq6TAygvPpYpg95QJWefyqmzdVrGz7fyRMctUJWE,1982
97
97
  fractal_server/app/shutdown.py,sha256=ViSNJyXWU_iWPSDOOMGNh_iQdUFrdPh_jvf8vVKLpAo,1950
98
98
  fractal_server/config/__init__.py,sha256=ZCmroNB50sUxJiFtkW0a4fFtmfyPnL4LWhtKY5FbQfg,737
@@ -243,7 +243,7 @@ fractal_server/tasks/v2/templates/pixi_3_post_install.sh,sha256=99J8KXkNeQk9utuE
243
243
  fractal_server/tasks/v2/utils_background.py,sha256=jjWxNbHPuvAkXNIQ9Bqs67X72xHSRqmY8_BCoj0HM3E,4840
244
244
  fractal_server/tasks/v2/utils_database.py,sha256=C1td6m6ab1NdXVoT6stvVdrY_3FNck8OkRZZhn9h8ZA,1797
245
245
  fractal_server/tasks/v2/utils_package_names.py,sha256=RDg__xrvQs4ieeVzmVdMcEh95vGQYrv9Hfal-5EDBM8,2393
246
- fractal_server/tasks/v2/utils_pixi.py,sha256=tqCnxMdxs7KGWncWvk0alrdvDbX-w77P3fAot68Bqh4,3257
246
+ fractal_server/tasks/v2/utils_pixi.py,sha256=4q0inbOfJ-TWe7wFIq-f7W7-iKyd98tgNQpEkR-TE6E,3441
247
247
  fractal_server/tasks/v2/utils_python_interpreter.py,sha256=36AvrMoydr9w6Rm_7hKl5QK8zYI0KIm4Pv8WHANWwjE,658
248
248
  fractal_server/tasks/v2/utils_templates.py,sha256=L5GblhIKJwyzUbCORj1et5mh-7mG19nT5kmIpxOEj90,3489
249
249
  fractal_server/types/__init__.py,sha256=aA_8J1xXzuiLqpwO_Qf18-qzaRcYkHzevhH_T-diXWM,2026
@@ -254,8 +254,8 @@ fractal_server/types/validators/_workflow_task_arguments_validators.py,sha256=HL
254
254
  fractal_server/urls.py,sha256=QjIKAC1a46bCdiPMu3AlpgFbcv6a4l3ABcd5xz190Og,471
255
255
  fractal_server/utils.py,sha256=SYVVUuXe_nWyrJLsy7QA-KJscwc5PHEXjvsW4TK7XQI,2180
256
256
  fractal_server/zip_tools.py,sha256=H0w7wS5yE4ebj7hw1_77YQ959dl2c-L0WX6J_ro1TY4,4884
257
- fractal_server-2.17.0a9.dist-info/METADATA,sha256=T6CZo_ibeo3bRThMKZw-TtnixRAoJpDttuFS9mz96pY,4226
258
- fractal_server-2.17.0a9.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
259
- fractal_server-2.17.0a9.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
260
- fractal_server-2.17.0a9.dist-info/licenses/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
261
- fractal_server-2.17.0a9.dist-info/RECORD,,
257
+ fractal_server-2.17.0a10.dist-info/METADATA,sha256=-hVkYe_goWyUvm96LujeOSDCXsmkYPVPlojm9jxLHGs,4227
258
+ fractal_server-2.17.0a10.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
259
+ fractal_server-2.17.0a10.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
260
+ fractal_server-2.17.0a10.dist-info/licenses/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
261
+ fractal_server-2.17.0a10.dist-info/RECORD,,