fractal-server 2.9.0a1__tar.gz → 2.9.0a2__tar.gz
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.
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/PKG-INFO +1 -1
- fractal_server-2.9.0a2/fractal_server/__init__.py +1 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/task_group.py +4 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/submit.py +17 -3
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/task_group.py +1 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/3082479ac4ea_taskgroup_activity_and_venv_info_to_.py +8 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/ssh/_fabric.py +49 -16
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/pyproject.toml +2 -2
- fractal_server-2.9.0a1/fractal_server/__init__.py +0 -1
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/LICENSE +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/README.md +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/__main__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/alembic.ini +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/db/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/linkusergroup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/linkuserproject.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/security.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/user_settings.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/dataset.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/state.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v1/workflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/dataset.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/workflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/workflowtask.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v1.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/task_group.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/_aux_functions.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/dataset.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/task_collection.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/workflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/workflowtask.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/_aux_functions.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/_aux_functions_task_lifecycle.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/_aux_functions_tasks.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/dataset.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/images.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/status.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/task_collection.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/task_collection_custom.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/task_group.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/task_group_lifecycle.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/workflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/workflow_import.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/workflowtask.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/_aux_auth.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/current_user.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/group.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/login.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/oauth.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/register.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/router.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/users.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/aux/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/aux/_job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/aux/_runner.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/aux/_timestamp.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/aux/validate_user_settings.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/.gitignore +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/async_wrap.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/components.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/compress_folder.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/exceptions.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/_batching.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/_slurm_config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/remote.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/ssh/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/ssh/_executor_wait_thread.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/ssh/_slurm_job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/ssh/executor.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/sudo/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/sudo/_check_jobs_status.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/sudo/_executor_wait_thread.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/sudo/_subprocess_run_as_user.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/slurm/sudo/executor.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/extract_archive.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/filenames.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/run_subprocess.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/set_start_and_last_task_index.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/shutdown.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/task_files.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_common.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_local/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_local/_local_config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_local/_submit_setup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_local/executor.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_slurm/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_slurm/_submit_setup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_slurm/get_slurm_config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/common.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/handle_failed_job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local/_local_config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local/_submit_setup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local/executor.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local_experimental/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local_experimental/_local_config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local_experimental/_submit_setup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local_experimental/executor.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_slurm_common/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_slurm_common/get_slurm_config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_slurm_ssh/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_slurm_ssh/_submit_setup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_slurm_sudo/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_slurm_sudo/_submit_setup.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/deduplicate_list.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/handle_failed_job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/merge_outputs.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/runner.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/runner_functions.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/runner_functions_low_level.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/task_interface.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/versions.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/_validators.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/user.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/user_group.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/user_settings.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/applyworkflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/dataset.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/dumps.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/manifest.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/state.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/task_collection.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/workflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/dataset.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/dumps.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/job.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/manifest.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/project.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/status.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/task.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/task_collection.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/workflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v2/workflowtask.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/security/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/user_settings.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/config.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/data_migrations/README.md +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/data_migrations/tools.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/gunicorn_fractal.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/images/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/images/models.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/images/tools.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/logger.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/main.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/README +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/env.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/naming_convention.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/script.py.mako +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/034a469ec2eb_task_groups.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/091b01f51f88_add_usergroup_and_linkusergroup_table.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/19eca0dd47a9_user_settings_project_dir.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/4c308bcaea2b_add_task_args_schema_and_task_args_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/4cedeb448a53_workflowtask_foreign_keys_not_nullables.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/501961cfcd85_remove_link_between_v1_and_v2_tasks_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/50a13d6138fd_initial_schema.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/5bf02391cfef_v2.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/70e77f1c38b0_add_applyworkflow_first_task_index_and_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/71eefd1dd202_add_slurm_accounts.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/84bf0fffde30_add_dumps_to_applyworkflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/8e8f227a3e36_update_taskv2_post_2_7_0.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/8f79bd162e35_add_docs_info_and_docs_link_to_task_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/94a47ea2d3ff_remove_cache_dir_slurm_user_and_slurm_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/97f444d47249_add_applyworkflow_project_dump.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/99ea79d9e5d2_add_dataset_history.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/9c5ae74c9b98_add_user_settings_table.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/9fd26a2b0de4_add_workflow_timestamp_created.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/a7f4d6137b53_add_workflow_dump_to_applyworkflow.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/d4fe3708d309_make_applyworkflow_workflow_dump_non_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/da2cb2ac4255_user_group_viewer_paths.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/e75cac726012_make_applyworkflow_start_timestamp_not_.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/efa89c30e0a4_add_project_timestamp_created.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/migrations/versions/f384e1c0cf5d_drop_task_default_args_columns.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/py.typed +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/ssh/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/string_tools.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/syringe.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/utils.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v1/_TaskCollectPip.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v1/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v1/background_operations.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v1/endpoint_operations.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v1/get_collection_data.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v1/utils.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/local/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/local/collect.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/local/deactivate.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/local/reactivate.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/local/utils_local.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/ssh/__init__.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/ssh/collect.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/ssh/deactivate.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/ssh/reactivate.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/templates/1_create_venv.sh +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/templates/2_pip_install.sh +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/templates/3_pip_freeze.sh +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/templates/4_pip_show.sh +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/templates/5_get_venv_size_and_file_number.sh +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/templates/6_pip_install_from_freeze.sh +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/utils_background.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/utils_database.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/utils_package_names.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/utils_python_interpreter.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/tasks/v2/utils_templates.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/urls.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/utils.py +0 -0
- {fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/zip_tools.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
__VERSION__ = "2.9.0a2"
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/task_group.py
RENAMED
@@ -48,6 +48,10 @@ class TaskGroupV2(SQLModel, table=True):
|
|
48
48
|
default_factory=get_timestamp,
|
49
49
|
sa_column=Column(DateTime(timezone=True), nullable=False),
|
50
50
|
)
|
51
|
+
timestamp_last_used: Optional[datetime] = Field(
|
52
|
+
default=None,
|
53
|
+
sa_column=Column(DateTime(timezone=True), nullable=True),
|
54
|
+
)
|
51
55
|
|
52
56
|
@property
|
53
57
|
def pip_install_string(self) -> str:
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/submit.py
RENAMED
@@ -30,6 +30,7 @@ from ...aux.validate_user_settings import validate_user_settings
|
|
30
30
|
from ._aux_functions import _get_dataset_check_owner
|
31
31
|
from ._aux_functions import _get_workflow_check_owner
|
32
32
|
from ._aux_functions import clean_app_job_list_v2
|
33
|
+
from fractal_server.app.models import TaskGroupV2
|
33
34
|
from fractal_server.app.models import UserOAuth
|
34
35
|
from fractal_server.app.routes.api.v2._aux_functions_tasks import (
|
35
36
|
_get_task_read_access,
|
@@ -61,6 +62,8 @@ async def apply_workflow(
|
|
61
62
|
db: AsyncSession = Depends(get_async_db),
|
62
63
|
) -> Optional[JobReadV2]:
|
63
64
|
|
65
|
+
now = get_timestamp()
|
66
|
+
|
64
67
|
# Remove non-submitted V2 jobs from the app state when the list grows
|
65
68
|
# beyond a threshold
|
66
69
|
settings = Inject(get_settings)
|
@@ -112,22 +115,23 @@ async def apply_workflow(
|
|
112
115
|
)
|
113
116
|
|
114
117
|
# Check that tasks have read-access and are `active`
|
118
|
+
used_task_group_ids = set()
|
115
119
|
for wftask in workflow.task_list[
|
116
120
|
first_task_index : last_task_index + 1 # noqa: E203
|
117
121
|
]:
|
118
|
-
await _get_task_read_access(
|
122
|
+
task = await _get_task_read_access(
|
119
123
|
user_id=user.id,
|
120
124
|
task_id=wftask.task_id,
|
121
125
|
require_active=True,
|
122
126
|
db=db,
|
123
127
|
)
|
128
|
+
used_task_group_ids.add(task.taskgroupv2_id)
|
124
129
|
|
125
130
|
# Validate user settings
|
126
131
|
FRACTAL_RUNNER_BACKEND = settings.FRACTAL_RUNNER_BACKEND
|
127
132
|
user_settings = await validate_user_settings(
|
128
133
|
user=user, backend=FRACTAL_RUNNER_BACKEND, db=db
|
129
134
|
)
|
130
|
-
|
131
135
|
# Check that no other job with the same dataset_id is SUBMITTED
|
132
136
|
stm = (
|
133
137
|
select(JobV2)
|
@@ -184,8 +188,18 @@ async def apply_workflow(
|
|
184
188
|
await db.commit()
|
185
189
|
await db.refresh(job)
|
186
190
|
|
191
|
+
# Update TaskGroupV2.timestamp_last_used
|
192
|
+
res = await db.execute(
|
193
|
+
select(TaskGroupV2).where(TaskGroupV2.id.in_(used_task_group_ids))
|
194
|
+
)
|
195
|
+
used_task_groups = res.scalars().all()
|
196
|
+
for used_task_group in used_task_groups:
|
197
|
+
used_task_group.timestamp_last_used = now
|
198
|
+
db.add(used_task_group)
|
199
|
+
await db.commit()
|
200
|
+
|
187
201
|
# Define server-side job directory
|
188
|
-
timestamp_string =
|
202
|
+
timestamp_string = now.strftime("%Y%m%d_%H%M%S")
|
189
203
|
WORKFLOW_DIR_LOCAL = settings.FRACTAL_RUNNER_WORKING_BASE_DIR / (
|
190
204
|
f"proj_v2_{project_id:07d}_wf_{workflow_id:07d}_job_{job.id:07d}"
|
191
205
|
f"_{timestamp_string}"
|
@@ -67,6 +67,13 @@ def upgrade() -> None:
|
|
67
67
|
batch_op.add_column(
|
68
68
|
sa.Column("venv_file_number", sa.Integer(), nullable=True)
|
69
69
|
)
|
70
|
+
batch_op.add_column(
|
71
|
+
sa.Column(
|
72
|
+
"timestamp_last_used",
|
73
|
+
sa.DateTime(timezone=True),
|
74
|
+
nullable=True,
|
75
|
+
)
|
76
|
+
)
|
70
77
|
|
71
78
|
# ### end Alembic commands ###
|
72
79
|
|
@@ -74,6 +81,7 @@ def upgrade() -> None:
|
|
74
81
|
def downgrade() -> None:
|
75
82
|
# ### commands auto generated by Alembic - please adjust! ###
|
76
83
|
with op.batch_alter_table("taskgroupv2", schema=None) as batch_op:
|
84
|
+
batch_op.drop_column("timestamp_last_used")
|
77
85
|
batch_op.drop_column("venv_file_number")
|
78
86
|
batch_op.drop_column("venv_size_in_kB")
|
79
87
|
batch_op.drop_column("pip_freeze")
|
@@ -196,23 +196,57 @@ class FractalSSH(object):
|
|
196
196
|
"""
|
197
197
|
Open the SSH connection and handle exceptions.
|
198
198
|
|
199
|
-
This
|
200
|
-
|
201
|
-
|
199
|
+
This method should always be called at the beginning of background
|
200
|
+
operations that use FractalSSH, so that:
|
201
|
+
|
202
|
+
1. We try to restore unusable connections (e.g. due to closed socket).
|
203
|
+
2. We provide an informative error if connection cannot be established.
|
202
204
|
"""
|
203
|
-
|
205
|
+
self.logger.debug(
|
206
|
+
f"[check_connection] {self._connection.is_connected=}"
|
207
|
+
)
|
208
|
+
if self._connection.is_connected:
|
209
|
+
# Even if the connection appears open, it could be broken for
|
210
|
+
# external reasons (e.g. the socket is closed because the SSH
|
211
|
+
# server was restarted). In these cases, we catch the error and
|
212
|
+
# try to re-open the connection.
|
204
213
|
try:
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
+
self.logger.info(
|
215
|
+
"[check_connection] Run dummy command to check connection."
|
216
|
+
)
|
217
|
+
# Run both an SFTP and an SSH command, as they correspond to
|
218
|
+
# different sockets
|
219
|
+
self.remote_exists("/dummy/path/")
|
220
|
+
self.run_command(cmd="whoami")
|
221
|
+
self.logger.info(
|
222
|
+
"[check_connection] SSH connection is already OK, exit."
|
223
|
+
)
|
224
|
+
return
|
225
|
+
except (OSError, EOFError) as e:
|
226
|
+
self.logger.warning(
|
227
|
+
f"[check_connection] Detected error {str(e)}, re-open."
|
228
|
+
)
|
229
|
+
# Try opening the connection (if it was closed) or to re-open it (if
|
230
|
+
# an error happened).
|
231
|
+
try:
|
232
|
+
self.close()
|
233
|
+
with _acquire_lock_with_timeout(
|
234
|
+
lock=self._lock,
|
235
|
+
label="_connection.open",
|
236
|
+
timeout=self.default_lock_timeout,
|
237
|
+
logger_name=self.logger_name,
|
238
|
+
):
|
239
|
+
self._connection.open()
|
240
|
+
self._connection.client.open_sftp()
|
241
|
+
self.logger.info(
|
242
|
+
"[check_connection] SSH connection opened, exit."
|
214
243
|
)
|
215
244
|
|
245
|
+
except Exception as e:
|
246
|
+
raise RuntimeError(
|
247
|
+
f"Cannot open SSH connection. Original error:\n{str(e)}"
|
248
|
+
)
|
249
|
+
|
216
250
|
def close(self) -> None:
|
217
251
|
"""
|
218
252
|
Aggressively close `self._connection`.
|
@@ -228,9 +262,8 @@ class FractalSSH(object):
|
|
228
262
|
timeout=self.default_lock_timeout,
|
229
263
|
):
|
230
264
|
self._connection.close()
|
231
|
-
|
232
|
-
|
233
|
-
self._connection.client.close()
|
265
|
+
if self._connection.client is not None:
|
266
|
+
self._connection.client.close()
|
234
267
|
|
235
268
|
def run_command(
|
236
269
|
self,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "fractal-server"
|
3
|
-
version = "2.9.
|
3
|
+
version = "2.9.0a2"
|
4
4
|
description = "Server component of the Fractal analytics platform"
|
5
5
|
authors = [
|
6
6
|
"Tommaso Comparin <tommaso.comparin@exact-lab.it>",
|
@@ -86,7 +86,7 @@ filterwarnings = [
|
|
86
86
|
]
|
87
87
|
|
88
88
|
[tool.bumpver]
|
89
|
-
current_version = "2.9.
|
89
|
+
current_version = "2.9.0a2"
|
90
90
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
91
91
|
commit_message = "bump version {old_version} -> {new_version}"
|
92
92
|
commit = true
|
@@ -1 +0,0 @@
|
|
1
|
-
__VERSION__ = "2.9.0a1"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/linkusergroup.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/linkuserproject.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/user_settings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/models/v2/workflowtask.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/__init__.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/__init__.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/project.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/task.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/admin/v2/task_group.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/__init__.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/_aux_functions.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/dataset.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/project.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/workflow.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v1/workflowtask.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/__init__.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/_aux_functions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/dataset.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/images.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/project.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/status.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/task_group.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/workflow.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/api/v2/workflowtask.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/__init__.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/_aux_auth.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/current_user.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/auth/register.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/routes/aux/_timestamp.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/compress_folder.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/executors/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/extract_archive.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/run_subprocess.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_local/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_local/executor.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/_slurm/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v1/handle_failed_job.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/_local/executor.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/deduplicate_list.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/handle_failed_job.py
RENAMED
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/merge_outputs.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/runner_functions.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/runner/v2/task_interface.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/user_settings.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.9.0a1 → fractal_server-2.9.0a2}/fractal_server/app/schemas/v1/applyworkflow.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|