fractal-server 2.14.2__tar.gz → 2.14.3__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.14.2 → fractal_server-2.14.3}/PKG-INFO +1 -1
- fractal_server-2.14.3/fractal_server/__init__.py +1 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/compress_folder.py +36 -83
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/remote.py +2 -16
- {fractal_server-2.14.2 → fractal_server-2.14.3}/pyproject.toml +2 -2
- fractal_server-2.14.2/fractal_server/__init__.py +0 -1
- {fractal_server-2.14.2 → fractal_server-2.14.3}/LICENSE +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/README.md +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/__main__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/alembic.ini +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/db/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/history/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/linkusergroup.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/linkuserproject.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/security.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/user_settings.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/accounting.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/dataset.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/history.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/job.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/project.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/task.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/task_group.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/workflow.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/workflowtask.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/accounting.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/impersonate.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/job.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/project.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/task.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/task_group.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/task_group_lifecycle.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/_aux_functions.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/_aux_functions_history.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/_aux_functions_task_lifecycle.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/_aux_functions_tasks.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/dataset.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/history.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/images.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/job.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/pre_submission_checks.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/project.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/status_legacy.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/submit.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task_collection.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task_collection_custom.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task_group.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task_group_lifecycle.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/workflow.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/workflow_import.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/workflowtask.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/_aux_auth.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/current_user.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/group.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/login.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/oauth.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/register.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/router.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/users.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/aux/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/aux/_job.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/aux/_runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/aux/validate_user_settings.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/pagination.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/components.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/exceptions.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/base_runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/local/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/local/get_local_config.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/local/runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/_batching.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/_job_states.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/_slurm_config.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/base_slurm_runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/get_slurm_config.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/slurm_job_task_models.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_common/utils_executors.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_ssh/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_ssh/runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_sudo/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_sudo/_subprocess_run_as_user.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/slurm_sudo/runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/extract_archive.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/filenames.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/run_subprocess.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/set_start_and_last_task_index.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/shutdown.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/task_files.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/_local.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/_slurm_ssh.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/_slurm_sudo.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/db_tools.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/deduplicate_list.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/merge_outputs.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/runner.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/runner_functions.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/runner_functions_low_level.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/submit_workflow.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/task_interface.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/versions.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/_filter_validators.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/_validators.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/user.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/user_group.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/user_settings.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/accounting.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/dataset.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/dumps.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/history.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/job.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/manifest.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/project.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/status_legacy.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/task.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/task_collection.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/task_group.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/workflow.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/workflowtask.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/security/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/security/signup_email.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/user_settings.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/config.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/data_migrations/README.md +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/data_migrations/tools.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/gunicorn_fractal.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/images/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/images/models.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/images/tools.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/logger.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/main.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/env.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/naming_convention.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/034a469ec2eb_task_groups.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/091b01f51f88_add_usergroup_and_linkusergroup_table.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/19eca0dd47a9_user_settings_project_dir.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/1eac13a26c83_drop_v1_tables.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/316140ff7ee1_remove_usersettings_cache_dir.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/47351f8c7ebc_drop_dataset_filters.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/4c308bcaea2b_add_task_args_schema_and_task_args_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/4cedeb448a53_workflowtask_foreign_keys_not_nullables.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/501961cfcd85_remove_link_between_v1_and_v2_tasks_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/50a13d6138fd_initial_schema.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/5bf02391cfef_v2.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/70e77f1c38b0_add_applyworkflow_first_task_index_and_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/71eefd1dd202_add_slurm_accounts.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/84bf0fffde30_add_dumps_to_applyworkflow.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/8e8f227a3e36_update_taskv2_post_2_7_0.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/8f79bd162e35_add_docs_info_and_docs_link_to_task_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/94a47ea2d3ff_remove_cache_dir_slurm_user_and_slurm_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/97f444d47249_add_applyworkflow_project_dump.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/99ea79d9e5d2_add_dataset_history.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/9c5ae74c9b98_add_user_settings_table.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/9db60297b8b2_set_ondelete.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/9fd26a2b0de4_add_workflow_timestamp_created.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/a7f4d6137b53_add_workflow_dump_to_applyworkflow.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/af1ef1c83c9b_add_accounting_tables.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/af8673379a5c_drop_old_filter_columns.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/c90a7c76e996_job_id_in_history_run.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/d256a7379ab8_taskgroup_activity_and_venv_info_to_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/d4fe3708d309_make_applyworkflow_workflow_dump_non_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/da2cb2ac4255_user_group_viewer_paths.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/db09233ad13a_split_filters_and_keep_old_columns.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/e75cac726012_make_applyworkflow_start_timestamp_not_.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/e81103413827_add_job_type_filters.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/efa89c30e0a4_add_project_timestamp_created.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/f37aceb45062_make_historyunit_logfile_required.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/f384e1c0cf5d_drop_task_default_args_columns.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/migrations/versions/fbce16ff4e47_new_history_items.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/py.typed +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/ssh/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/ssh/_fabric.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/string_tools.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/syringe.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/utils.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/local/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/local/_utils.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/local/collect.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/local/deactivate.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/local/reactivate.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/ssh/__init__.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/ssh/_utils.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/ssh/collect.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/ssh/deactivate.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/ssh/reactivate.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/1_create_venv.sh +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/2_pip_install.sh +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/3_pip_freeze.sh +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/4_pip_show.sh +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/5_get_venv_size_and_file_number.sh +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/6_pip_install_from_freeze.sh +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_background.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_database.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_package_names.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_python_interpreter.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_templates.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/urls.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/utils.py +0 -0
- {fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/zip_tools.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
__VERSION__ = "2.14.3"
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/compress_folder.py
RENAMED
@@ -16,67 +16,9 @@ import time
|
|
16
16
|
from pathlib import Path
|
17
17
|
|
18
18
|
from fractal_server.app.runner.run_subprocess import run_subprocess
|
19
|
-
from fractal_server.logger import get_logger
|
20
19
|
from fractal_server.logger import set_logger
|
21
20
|
|
22
21
|
|
23
|
-
def _copy_subfolder(src: Path, dest: Path, logger_name: str):
|
24
|
-
t_start = time.perf_counter()
|
25
|
-
cmd_cp = f"cp -r {src.as_posix()} {dest.as_posix()}"
|
26
|
-
logger = get_logger(logger_name=logger_name)
|
27
|
-
logger.debug(f"{cmd_cp=}")
|
28
|
-
res = run_subprocess(cmd=cmd_cp, logger_name=logger_name)
|
29
|
-
elapsed = time.perf_counter() - t_start
|
30
|
-
logger.debug(f"[_copy_subfolder] END {elapsed=} s ({dest.as_posix()})")
|
31
|
-
return res
|
32
|
-
|
33
|
-
|
34
|
-
def _create_tar_archive(
|
35
|
-
tarfile_path: str,
|
36
|
-
subfolder_path_tmp_copy: Path,
|
37
|
-
logger_name: str,
|
38
|
-
filelist_path: str | None,
|
39
|
-
):
|
40
|
-
logger = get_logger(logger_name)
|
41
|
-
logger.debug(f"[_create_tar_archive] START ({tarfile_path})")
|
42
|
-
t_start = time.perf_counter()
|
43
|
-
|
44
|
-
if filelist_path is None:
|
45
|
-
cmd_tar = (
|
46
|
-
f"tar -c -z -f {tarfile_path} "
|
47
|
-
f"--directory={subfolder_path_tmp_copy.as_posix()} "
|
48
|
-
"."
|
49
|
-
)
|
50
|
-
else:
|
51
|
-
cmd_tar = (
|
52
|
-
f"tar -c -z -f {tarfile_path} "
|
53
|
-
f"--directory={subfolder_path_tmp_copy.as_posix()} "
|
54
|
-
f"--files-from={filelist_path} --ignore-failed-read"
|
55
|
-
)
|
56
|
-
|
57
|
-
logger.debug(f"cmd tar:\n{cmd_tar}")
|
58
|
-
|
59
|
-
run_subprocess(cmd=cmd_tar, logger_name=logger_name, allow_char="*")
|
60
|
-
elapsed = time.perf_counter() - t_start
|
61
|
-
logger.debug(f"[_create_tar_archive] END {elapsed=} s ({tarfile_path})")
|
62
|
-
|
63
|
-
|
64
|
-
def _remove_temp_subfolder(subfolder_path_tmp_copy: Path, logger_name: str):
|
65
|
-
logger = get_logger(logger_name)
|
66
|
-
t_start = time.perf_counter()
|
67
|
-
try:
|
68
|
-
cmd_rm = f"rm -rf {subfolder_path_tmp_copy}"
|
69
|
-
logger.debug(f"cmd rm:\n{cmd_rm}")
|
70
|
-
run_subprocess(cmd=cmd_rm, logger_name=logger_name, allow_char="*")
|
71
|
-
except Exception as e:
|
72
|
-
logger.debug(f"ERROR during {cmd_rm}: {e}")
|
73
|
-
elapsed = time.perf_counter() - t_start
|
74
|
-
logger.debug(
|
75
|
-
f"[_remove_temp_subfolder] END {elapsed=} s "
|
76
|
-
f"({subfolder_path_tmp_copy=})"
|
77
|
-
)
|
78
|
-
|
79
|
-
|
80
22
|
def compress_folder(
|
81
23
|
subfolder_path: Path,
|
82
24
|
filelist_path: str | None,
|
@@ -97,44 +39,55 @@ def compress_folder(
|
|
97
39
|
Absolute path to the tar.gz archive.
|
98
40
|
"""
|
99
41
|
|
100
|
-
|
42
|
+
# Assign an almost-unique label to the logger name, to simplify grepping
|
43
|
+
# logs when several `compress_folder` functions are run concurrently
|
44
|
+
label = round(time.time(), 2)
|
45
|
+
logger_name = f"compress_folder_{label}"
|
101
46
|
logger = set_logger(
|
102
47
|
logger_name,
|
103
48
|
default_logging_level=default_logging_level,
|
104
49
|
)
|
105
|
-
|
106
50
|
logger.debug("START")
|
107
|
-
|
108
|
-
|
51
|
+
t_start = time.perf_counter()
|
52
|
+
|
109
53
|
subfolder_name = subfolder_path.name
|
110
|
-
tarfile_path = (
|
54
|
+
tarfile_path = (
|
55
|
+
subfolder_path.parent / f"{subfolder_name}.tar.gz"
|
56
|
+
).as_posix()
|
57
|
+
|
58
|
+
logger.debug(f"{subfolder_path=}")
|
111
59
|
logger.debug(f"{tarfile_path=}")
|
112
60
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
subfolder_path,
|
119
|
-
subfolder_path_tmp_copy,
|
120
|
-
logger_name=logger_name,
|
61
|
+
if filelist_path is None:
|
62
|
+
cmd_tar = (
|
63
|
+
f"tar -c -z -f {tarfile_path} "
|
64
|
+
f"--directory={subfolder_path.as_posix()} "
|
65
|
+
"."
|
121
66
|
)
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
67
|
+
else:
|
68
|
+
cmd_tar = (
|
69
|
+
f"tar -c -z -f {tarfile_path} "
|
70
|
+
f"--directory={subfolder_path.as_posix()} "
|
71
|
+
f"--files-from={filelist_path} --ignore-failed-read"
|
127
72
|
)
|
128
|
-
|
73
|
+
logger.debug(f"{cmd_tar=}")
|
129
74
|
|
75
|
+
try:
|
76
|
+
run_subprocess(cmd=cmd_tar, logger_name=logger_name)
|
77
|
+
elapsed = time.perf_counter() - t_start
|
78
|
+
logger.debug(f"END {elapsed=} s ({tarfile_path})")
|
79
|
+
return tarfile_path
|
130
80
|
except Exception as e:
|
131
|
-
logger.debug(f"ERROR: {e}")
|
132
|
-
|
81
|
+
logger.debug(f"ERROR: {str(e)}")
|
82
|
+
cmd_rm = f"rm {tarfile_path}"
|
83
|
+
try:
|
84
|
+
run_subprocess(cmd=cmd_rm, logger_name=logger_name)
|
85
|
+
except Exception as e_rm:
|
86
|
+
logger.error(
|
87
|
+
f"Running {cmd_rm=} failed, original error: {str(e_rm)}."
|
88
|
+
)
|
133
89
|
|
134
|
-
|
135
|
-
_remove_temp_subfolder(
|
136
|
-
subfolder_path_tmp_copy, logger_name=logger_name
|
137
|
-
)
|
90
|
+
sys.exit(1)
|
138
91
|
|
139
92
|
|
140
93
|
def main(
|
@@ -18,7 +18,6 @@ import logging
|
|
18
18
|
import os
|
19
19
|
import sys
|
20
20
|
from typing import Literal
|
21
|
-
from typing import Optional
|
22
21
|
from typing import Union
|
23
22
|
|
24
23
|
import cloudpickle
|
@@ -91,7 +90,6 @@ def worker(
|
|
91
90
|
*,
|
92
91
|
in_fname: str,
|
93
92
|
out_fname: str,
|
94
|
-
extra_import_paths: Optional[str] = None,
|
95
93
|
) -> None:
|
96
94
|
"""
|
97
95
|
Execute a job, possibly on a remote node.
|
@@ -99,7 +97,6 @@ def worker(
|
|
99
97
|
Arguments:
|
100
98
|
in_fname: Absolute path to the input pickle file (must be readable).
|
101
99
|
out_fname: Absolute path of the output pickle file (must be writeable).
|
102
|
-
extra_import_paths: Additional import paths
|
103
100
|
"""
|
104
101
|
|
105
102
|
# Create output folder, if missing
|
@@ -108,10 +105,6 @@ def worker(
|
|
108
105
|
logging.debug(f"_slurm.remote.worker: create {out_dir=}")
|
109
106
|
os.mkdir(out_dir)
|
110
107
|
|
111
|
-
if extra_import_paths:
|
112
|
-
_extra_import_paths = extra_import_paths.split(":")
|
113
|
-
sys.path[:0] = _extra_import_paths
|
114
|
-
|
115
108
|
# Execute the job and capture exceptions
|
116
109
|
try:
|
117
110
|
with open(in_fname, "rb") as f:
|
@@ -167,18 +160,11 @@ if __name__ == "__main__":
|
|
167
160
|
help="Path of output pickle file",
|
168
161
|
required=True,
|
169
162
|
)
|
170
|
-
parser.add_argument(
|
171
|
-
"--extra-import-paths",
|
172
|
-
type=str,
|
173
|
-
help="Extra import paths",
|
174
|
-
required=False,
|
175
|
-
)
|
176
163
|
parsed_args = parser.parse_args()
|
177
164
|
logging.debug(f"{parsed_args=}")
|
178
165
|
|
179
166
|
kwargs = dict(
|
180
|
-
in_fname=parsed_args.input_file,
|
167
|
+
in_fname=parsed_args.input_file,
|
168
|
+
out_fname=parsed_args.output_file,
|
181
169
|
)
|
182
|
-
if parsed_args.extra_import_paths:
|
183
|
-
kwargs["extra_import_paths"] = parsed_args.extra_import_paths
|
184
170
|
worker(**kwargs)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "fractal-server"
|
3
|
-
version = "2.14.
|
3
|
+
version = "2.14.3"
|
4
4
|
description = "Backend component of the Fractal analytics platform"
|
5
5
|
authors = [
|
6
6
|
{ name="Tommaso Comparin", email="tommaso.comparin@exact-lab.it" },
|
@@ -95,7 +95,7 @@ filterwarnings = [
|
|
95
95
|
markers = ["container", "ssh"]
|
96
96
|
|
97
97
|
[tool.bumpver]
|
98
|
-
current_version = "2.14.
|
98
|
+
current_version = "2.14.3"
|
99
99
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
100
100
|
commit_message = "bump version {old_version} -> {new_version}"
|
101
101
|
commit = true
|
@@ -1 +0,0 @@
|
|
1
|
-
__VERSION__ = "2.14.2"
|
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.14.2 → fractal_server-2.14.3}/fractal_server/app/models/linkuserproject.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
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/models/v2/workflowtask.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/__init__.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/accounting.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/impersonate.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/project.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/admin/v2/task_group.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/__init__.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/_aux_functions.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
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/status_legacy.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task_collection.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/task_group.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/workflow.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/workflow_import.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/api/v2/workflowtask.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/routes/auth/current_user.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
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/__init__.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/base_runner.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/executors/local/runner.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.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/extract_archive.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.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/deduplicate_list.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/merge_outputs.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/runner_functions.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/submit_workflow.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/runner/v2/task_interface.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/_filter_validators.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
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/status_legacy.py
RENAMED
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/task_collection.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/app/schemas/v2/workflowtask.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.14.2 → fractal_server-2.14.3}/fractal_server/migrations/naming_convention.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
|
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
|
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
|
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.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/1_create_venv.sh
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/2_pip_install.sh
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/3_pip_freeze.sh
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/templates/4_pip_show.sh
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_package_names.py
RENAMED
File without changes
|
{fractal_server-2.14.2 → fractal_server-2.14.3}/fractal_server/tasks/v2/utils_python_interpreter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|