fractal-server 2.7.0a7__py3-none-any.whl → 2.7.0a9__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.7.0a7"
1
+ __VERSION__ = "2.7.0a9"
@@ -182,7 +182,7 @@ async def _get_task_read_access(
182
182
  if not task_group.active:
183
183
  raise HTTPException(
184
184
  status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
185
- detail="Cannot insert non-active tasks into a workflow.",
185
+ detail=f"Error: task {task_id} ({task.name}) is not active.",
186
186
  )
187
187
  return task
188
188
 
@@ -1,6 +1,5 @@
1
1
  import os
2
2
  from datetime import datetime
3
- from datetime import timedelta
4
3
  from datetime import timezone
5
4
  from pathlib import Path
6
5
  from typing import Optional
@@ -181,37 +180,6 @@ async def apply_workflow(
181
180
  **job_create.dict(),
182
181
  )
183
182
 
184
- # Rate Limiting:
185
- # raise `429 TOO MANY REQUESTS` if this endpoint has been called with the
186
- # same database keys (Project, Workflow and Datasets) during the last
187
- # `settings.FRACTAL_API_SUBMIT_RATE_LIMIT` seconds.
188
- stm = (
189
- select(JobV2)
190
- .where(JobV2.project_id == project_id)
191
- .where(JobV2.workflow_id == workflow_id)
192
- .where(JobV2.dataset_id == dataset_id)
193
- )
194
- res = await db.execute(stm)
195
- db_jobs = res.scalars().all()
196
- if db_jobs and any(
197
- abs(
198
- job.start_timestamp
199
- - db_job.start_timestamp.replace(tzinfo=timezone.utc)
200
- )
201
- < timedelta(seconds=settings.FRACTAL_API_SUBMIT_RATE_LIMIT)
202
- for db_job in db_jobs
203
- ):
204
- raise HTTPException(
205
- status_code=status.HTTP_429_TOO_MANY_REQUESTS,
206
- detail=(
207
- f"The endpoint 'POST /api/v2/project/{project_id}/job/submit/'"
208
- " was called several times within an interval of less "
209
- f"than {settings.FRACTAL_API_SUBMIT_RATE_LIMIT} seconds, using"
210
- " the same foreign keys. If it was intentional, please wait "
211
- "and try again."
212
- ),
213
- )
214
-
215
183
  db.add(job)
216
184
  await db.commit()
217
185
  await db.refresh(job)
@@ -35,6 +35,7 @@ async def get_task_group_list(
35
35
  db: AsyncSession = Depends(get_async_db),
36
36
  only_active: bool = False,
37
37
  only_owner: bool = False,
38
+ args_schema: bool = True,
38
39
  ) -> list[TaskGroupReadV2]:
39
40
  """
40
41
  Get all accessible TaskGroups
@@ -58,6 +59,12 @@ async def get_task_group_list(
58
59
  res = await db.execute(stm)
59
60
  task_groups = res.scalars().all()
60
61
 
62
+ if args_schema is False:
63
+ for taskgroup in task_groups:
64
+ for task in taskgroup.task_list:
65
+ setattr(task, "args_schema_non_parallel", None)
66
+ setattr(task, "args_schema_parallel", None)
67
+
61
68
  return task_groups
62
69
 
63
70
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fractal-server
3
- Version: 2.7.0a7
3
+ Version: 2.7.0a9
4
4
  Summary: Server component of the Fractal analytics platform
5
5
  Home-page: https://github.com/fractal-analytics-platform/fractal-server
6
6
  License: BSD-3-Clause
@@ -23,7 +23,7 @@ Requires-Dist: bcrypt (==4.0.1)
23
23
  Requires-Dist: cloudpickle (>=3.0.0,<3.1.0)
24
24
  Requires-Dist: clusterfutures (>=0.5,<0.6)
25
25
  Requires-Dist: fabric (>=3.2.2,<4.0.0)
26
- Requires-Dist: fastapi (>=0.112.0,<0.113.0)
26
+ Requires-Dist: fastapi (>=0.115.0,<0.116.0)
27
27
  Requires-Dist: fastapi-users[oauth] (>=12.1.0,<13.0.0)
28
28
  Requires-Dist: gunicorn (>=21.2,<23.0) ; extra == "gunicorn"
29
29
  Requires-Dist: packaging (>=23.2,<24.0)
@@ -1,4 +1,4 @@
1
- fractal_server/__init__.py,sha256=qb0d5KhPMIrdMhNLuCkWNA8JPWuC8eSdJQbmF0UTepA,24
1
+ fractal_server/__init__.py,sha256=yjIvBx2CMOQ9DTXJNDwb8gCOMh5maKwXOpnecX3Wsog,24
2
2
  fractal_server/__main__.py,sha256=dEkCfzLLQrIlxsGC-HBfoR-RBMWnJDgNrxYTyzmE9c0,6146
3
3
  fractal_server/alembic.ini,sha256=MWwi7GzjzawI9cCAK1LW7NxIBQDUqD12-ptJoq5JpP0,3153
4
4
  fractal_server/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -43,17 +43,17 @@ fractal_server/app/routes/api/v1/workflow.py,sha256=2T93DuEnSshaDCue-JPmjuvGCtbk
43
43
  fractal_server/app/routes/api/v1/workflowtask.py,sha256=OYYConwJbmNULDw5I3T-UbSJKrbbBiAHbbBeVcpoFKQ,5785
44
44
  fractal_server/app/routes/api/v2/__init__.py,sha256=jybEV-vrknPoQvbgKJl0QQvHDPHOJXbDUG5vatHeis4,1963
45
45
  fractal_server/app/routes/api/v2/_aux_functions.py,sha256=mb4R_qqFxeW0LAis2QJIIfVx8Sydv1jTYaRIMsMxnIk,11720
46
- fractal_server/app/routes/api/v2/_aux_functions_tasks.py,sha256=3OB5bz2pzI8nDZDf3RZsU37hdZV1se4XEjpDpjbnhQg,10561
46
+ fractal_server/app/routes/api/v2/_aux_functions_tasks.py,sha256=IVzSb7J4ls5qp1HI8WcjRLIq6nx3ffcMI3vUi_aM_gc,10565
47
47
  fractal_server/app/routes/api/v2/dataset.py,sha256=Eilf_BAGjicIhqUiVwI86jlW45ineA5sVzxXW4b2GoQ,8329
48
48
  fractal_server/app/routes/api/v2/images.py,sha256=JR1rR6qEs81nacjriOXAOBQjAbCXF4Ew7M7mkWdxBU0,7920
49
49
  fractal_server/app/routes/api/v2/job.py,sha256=Bga2Kz1OjvDIdxZObWaaXVhNIhC_5JKhKRjEH2_ayEE,5157
50
50
  fractal_server/app/routes/api/v2/project.py,sha256=eWYFJ7F2ZYQcpi-_n-rhPF-Q4gJhzYBsVGYFhHZZXAE,6653
51
51
  fractal_server/app/routes/api/v2/status.py,sha256=6N9DSZ4iFqbZImorWfEAPoyoFUgEruo4Hweqo0x0xXU,6435
52
- fractal_server/app/routes/api/v2/submit.py,sha256=h7mjmea_VNCriGiA4HRuyxLHlvd9aGfTAFXK3bSsvzc,9422
52
+ fractal_server/app/routes/api/v2/submit.py,sha256=tq-NGnUlpIcm_MRN47rJRHkRcIJ5HiL4Wj1wItJy3o8,8185
53
53
  fractal_server/app/routes/api/v2/task.py,sha256=R_1bCinQvNrkEh6uAguNNfimduz1uJzgN_iTDwjnVF4,7209
54
54
  fractal_server/app/routes/api/v2/task_collection.py,sha256=gCxOwigT_tfs8lCDNoE7nxl9-9iuRp1gW__3YXqsioc,11478
55
55
  fractal_server/app/routes/api/v2/task_collection_custom.py,sha256=9T0U_4gqrQbJCy6uFDCMSZ-b1sfNIzyz_qm4P41W2Gs,6133
56
- fractal_server/app/routes/api/v2/task_group.py,sha256=wOLoqBnoeOIefRN5juhrjm2luGK6E_sF79umKirwWu8,5313
56
+ fractal_server/app/routes/api/v2/task_group.py,sha256=P32EUYbtGThexSWe5zI9WUFrgoOMof035fJBILTNnfQ,5580
57
57
  fractal_server/app/routes/api/v2/workflow.py,sha256=PyvkrUHHzFGUGZE5X0VW5u3DPQA7wtXXNcEpG7-N66I,8687
58
58
  fractal_server/app/routes/api/v2/workflow_import.py,sha256=3qX3iHnLJb62TQFLQKakcC_mYh-tWXkYL-4PuyEkwRs,10895
59
59
  fractal_server/app/routes/api/v2/workflowtask.py,sha256=ciHTwXXFiFnMF7ZpJ3Xs0q6YfuZrFvIjqndlzAEdZpo,6969
@@ -223,8 +223,8 @@ fractal_server/tasks/v2/utils.py,sha256=MnY6MhcxDRo4rPuXo2tQ252eWEPZF3OlCGe-p5Mr
223
223
  fractal_server/urls.py,sha256=5o_qq7PzKKbwq12NHSQZDmDitn5RAOeQ4xufu-2v9Zk,448
224
224
  fractal_server/utils.py,sha256=jrlCBPmC7F0ptBVcDac-EbZNsdYTLbHfX9oxkXthS5Q,2193
225
225
  fractal_server/zip_tools.py,sha256=xYpzBshysD2nmxkD5WLYqMzPYUcCRM3kYy-7n9bJL-U,4426
226
- fractal_server-2.7.0a7.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
227
- fractal_server-2.7.0a7.dist-info/METADATA,sha256=6chShCqesJ4MnkCnJPb38-RdhMfwfNZekkVSkejj3dg,4630
228
- fractal_server-2.7.0a7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
229
- fractal_server-2.7.0a7.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
230
- fractal_server-2.7.0a7.dist-info/RECORD,,
226
+ fractal_server-2.7.0a9.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
227
+ fractal_server-2.7.0a9.dist-info/METADATA,sha256=UjnXL9Eo_UGayOQRJ6uRCuEijXJegpsQ-g3kGj64484,4630
228
+ fractal_server-2.7.0a9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
229
+ fractal_server-2.7.0a9.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
230
+ fractal_server-2.7.0a9.dist-info/RECORD,,