dpdispatcher 0.6.8__tar.gz → 0.6.10__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.
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/test.yml +1 -1
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/PKG-INFO +3 -2
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/_version.py +9 -4
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/openapi_context.py +67 -11
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/openapi.py +38 -8
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/slurm.py +1 -1
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/dpcloudserver/client.py +5 -1
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher.egg-info/PKG-INFO +3 -2
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.git_archival.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.gitattributes +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/dependabot.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/ci-docker.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/machines.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/mirror_gitee.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/publish_conda.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/pyright.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/release.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.github/workflows/test-bohrium.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.gitignore +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.pre-commit-config.yaml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/.readthedocs.yaml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/CONTRIBUTING.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/Dockerfile +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/LICENSE +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/README.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/LICENSE +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/README.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/pbs/docker-compose.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/pbs/start-pbs.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/pbs.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/slurm/docker-compose.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/slurm/register_cluster.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/slurm/start-slurm.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/slurm.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/ssh/docker-compose.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/ssh/start-ssh.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/ssh.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/ci/ssh_rsync.sh +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/codecov.yml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/conda/conda_build_config.yaml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/conda/meta.yaml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/.gitignore +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/Makefile +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/batch.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/cli.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/conf.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/context.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/credits.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/dpdispatcher_on_yarn.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/env.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/examples/expanse.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/examples/g16.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/examples/shell.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/examples/template.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/getting-started.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/index.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/install.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/machine.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/make.bat +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/pep723.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/requirements.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/resources.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/run.md +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/doc/task.rst +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/__main__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/arginfo.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/base_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/dp_cloud_server_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/hdfs_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/lazy_local_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/local_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/contexts/ssh_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/dlog.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/dpcloudserver/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/dpcloudserver/client.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/dpdisp.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/entrypoints/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/entrypoints/gui.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/entrypoints/run.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/entrypoints/submission.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machine.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/JH_UniScheduler.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/distributed_shell.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/dp_cloud_server.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/fugaku.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/lsf.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/pbs.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/machines/shell.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/run.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/submission.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/dpcloudserver/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/dpcloudserver/config.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/dpcloudserver/retcode.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/dpcloudserver/zip_file.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/hdfs_cli.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/job_status.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/record.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher/utils/utils.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher.egg-info/SOURCES.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher.egg-info/dependency_links.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher.egg-info/entry_points.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher.egg-info/requires.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/dpdispatcher.egg-info/top_level.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/dpdisp_run.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/machine/expanse.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/machine/lazy_local.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/machine/mandu.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/resources/expanse_cpu.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/resources/mandu.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/resources/template.slurm +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/resources/tiger.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/task/deepmd-kit.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/examples/task/g16.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/pyproject.toml +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/scripts/script_gen_dargs_docs.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/scripts/script_gen_dargs_json.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/setup.cfg +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/.gitignore +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/__init__.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/batch.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/debug_test_class_submission_init.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_JH_UniScheduler.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_ali_ehpc.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_dp_cloud_server.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_lazy_ali_ehpc.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_lsf.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_shell.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_slurm.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/devel_test_ssh_ali_ehpc.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/hello_world.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/job.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_JH_UniScheduler.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_ali_ehpc.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_center.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_diffenert.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_dp_cloud_server.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_fugaku.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_if_cuda_multi_devices.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_lazy_local_jh_unischeduler.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_lazy_local_lsf.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_lazy_local_slurm.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_lazylocal_shell.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_local_fugaku.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_local_shell.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_lsf.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_openapi.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_slurm.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/machine_yarn.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/resources.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/submission.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/jsons/task.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/sample_class.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/script_gen_json.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/slurm_test.env +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_JH_UniScheduler_script_generation.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_argcheck.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_job.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_machine.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_machine_dispatch.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_resources.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_submission.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_submission_init.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_class_task.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_cli.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-1/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-1/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-1/some_dir/some_file +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-2/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-2/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-3/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-3/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-4/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/bct-4/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/dir with space/file with space +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_context_dir/0_md/some_dir/some_file +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_examples.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_group_size.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_gui.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-1/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-1/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-2/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-2/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-3/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-3/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-4/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/bct-4/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_hdfs_dir/0_md/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_if_cuda_multi_devices/test_dir/test.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_import_classes.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-1/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-1/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-2/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-2/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-3/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-3/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-4/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/bct-4/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_jh_unischeduler/0_md/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lazy_local_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_local_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-1/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-1/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-2/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-2/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-3/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-3/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-4/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/bct-4/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_dir/0_md/submission.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_lsf_script_generation.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-1/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-1/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-2/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-2/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-3/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-3/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-4/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/bct-4/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_pbs_dir/0_md/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_retry.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_run.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_run_submission.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_run_submission_bohrium.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_run_submission_ratio_unfinished.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_cuda_multi_devices.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/fail_dir/mock_fail_task.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/parent_dir/dir with space/example.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/parent_dir/dir1/example.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/parent_dir/dir2/example.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/parent_dir/dir3/example.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/parent_dir/dir4/example.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/parent_dir/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_shell_trival_dir/recover_dir/mock_recover_task.txt +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-1/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-1/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-2/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-2/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-3/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-3/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-4/conf.lmp +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/bct-4/input.lammps +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/d3c842c5b9476e48f7145b370cd330372b9293e1.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/graph.pb +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_dir/0_md/submission.json +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_slurm_script_generation.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_ssh_context.py +0 -0
- {dpdispatcher-0.6.8 → dpdispatcher-0.6.10}/tests/test_work_path/.gitkeep +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: dpdispatcher
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.10
|
|
4
4
|
Summary: Generate HPC scheduler systems jobs input scripts, submit these scripts to HPC systems, and poke until they finish
|
|
5
5
|
Author: DeepModeling
|
|
6
6
|
License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
@@ -212,6 +212,7 @@ Provides-Extra: gui
|
|
|
212
212
|
Requires-Dist: dpgui; extra == "gui"
|
|
213
213
|
Provides-Extra: test
|
|
214
214
|
Requires-Dist: dpgui; extra == "test"
|
|
215
|
+
Dynamic: license-file
|
|
215
216
|
|
|
216
217
|
# DPDispatcher
|
|
217
218
|
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '0.6.
|
|
16
|
-
__version_tuple__ = version_tuple = (0, 6,
|
|
20
|
+
__version__ = version = '0.6.10'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 6, 10)
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import glob
|
|
1
2
|
import os
|
|
2
3
|
import shutil
|
|
3
4
|
import uuid
|
|
5
|
+
from zipfile import ZipFile
|
|
4
6
|
|
|
5
7
|
import tqdm
|
|
6
8
|
|
|
7
9
|
try:
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
|
|
11
|
-
from bohriumsdk.util import Util
|
|
12
|
-
except ModuleNotFoundError:
|
|
10
|
+
from bohrium import Bohrium
|
|
11
|
+
from bohrium.resources import Job, Tiefblue
|
|
12
|
+
except ModuleNotFoundError as e:
|
|
13
13
|
found_bohriumsdk = False
|
|
14
|
+
import_bohrium_error = e
|
|
14
15
|
else:
|
|
15
16
|
found_bohriumsdk = True
|
|
17
|
+
import_bohrium_error = None
|
|
16
18
|
|
|
17
19
|
from dpdispatcher.base_context import BaseContext
|
|
18
20
|
from dpdispatcher.dlog import dlog
|
|
@@ -23,6 +25,36 @@ DP_CLOUD_SERVER_HOME_DIR = os.path.join(
|
|
|
23
25
|
)
|
|
24
26
|
|
|
25
27
|
|
|
28
|
+
def unzip_file(zip_file, out_dir="./"):
|
|
29
|
+
obj = ZipFile(zip_file, "r")
|
|
30
|
+
for item in obj.namelist():
|
|
31
|
+
obj.extract(item, out_dir)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def zip_file_list(root_path, zip_filename, file_list=[]):
|
|
35
|
+
out_zip_file = os.path.join(root_path, zip_filename)
|
|
36
|
+
# print('debug: file_list', file_list)
|
|
37
|
+
zip_obj = ZipFile(out_zip_file, "w")
|
|
38
|
+
for f in file_list:
|
|
39
|
+
matched_files = os.path.join(root_path, f)
|
|
40
|
+
for ii in glob.glob(matched_files):
|
|
41
|
+
# print('debug: matched_files:ii', ii)
|
|
42
|
+
if os.path.isdir(ii):
|
|
43
|
+
arcname = os.path.relpath(ii, start=root_path)
|
|
44
|
+
zip_obj.write(ii, arcname)
|
|
45
|
+
for root, dirs, files in os.walk(ii):
|
|
46
|
+
for file in files:
|
|
47
|
+
filename = os.path.join(root, file)
|
|
48
|
+
arcname = os.path.relpath(filename, start=root_path)
|
|
49
|
+
# print('debug: filename:arcname:root_path', filename, arcname, root_path)
|
|
50
|
+
zip_obj.write(filename, arcname)
|
|
51
|
+
else:
|
|
52
|
+
arcname = os.path.relpath(ii, start=root_path)
|
|
53
|
+
zip_obj.write(ii, arcname)
|
|
54
|
+
zip_obj.close()
|
|
55
|
+
return out_zip_file
|
|
56
|
+
|
|
57
|
+
|
|
26
58
|
class OpenAPIContext(BaseContext):
|
|
27
59
|
def __init__(
|
|
28
60
|
self,
|
|
@@ -35,15 +67,39 @@ class OpenAPIContext(BaseContext):
|
|
|
35
67
|
if not found_bohriumsdk:
|
|
36
68
|
raise ModuleNotFoundError(
|
|
37
69
|
"bohriumsdk not installed. Install dpdispatcher with `pip install dpdispatcher[bohrium]`"
|
|
38
|
-
)
|
|
70
|
+
) from import_bohrium_error
|
|
39
71
|
self.init_local_root = local_root
|
|
40
72
|
self.init_remote_root = remote_root
|
|
41
73
|
self.temp_local_root = os.path.abspath(local_root)
|
|
42
74
|
self.remote_profile = remote_profile
|
|
43
|
-
|
|
44
|
-
|
|
75
|
+
access_key = (
|
|
76
|
+
remote_profile.get("access_key", None)
|
|
77
|
+
or os.getenv("BOHRIUM_ACCESS_KEY", None)
|
|
78
|
+
or os.getenv("ACCESS_KEY", None)
|
|
79
|
+
)
|
|
80
|
+
project_id = (
|
|
81
|
+
remote_profile.get("project_id", None)
|
|
82
|
+
or os.getenv("BOHRIUM_PROJECT_ID", None)
|
|
83
|
+
or os.getenv("PROJECT_ID", None)
|
|
84
|
+
)
|
|
85
|
+
app_key = (
|
|
86
|
+
remote_profile.get("app_key", None)
|
|
87
|
+
or os.getenv("BOHRIUM_APP_KEY", None)
|
|
88
|
+
or os.getenv("APP_KEY", None)
|
|
89
|
+
)
|
|
90
|
+
if access_key is None:
|
|
91
|
+
raise ValueError(
|
|
92
|
+
"remote_profile must contain 'access_key' or set environment variable 'BOHRIUM_ACCESS_KEY'"
|
|
93
|
+
)
|
|
94
|
+
if project_id is None:
|
|
95
|
+
raise ValueError(
|
|
96
|
+
"remote_profile must contain 'project_id' or set environment variable 'BOHRIUM_PROJECT_ID'"
|
|
97
|
+
)
|
|
98
|
+
self.client = Bohrium(
|
|
99
|
+
access_key=access_key, project_id=project_id, app_key=app_key
|
|
100
|
+
)
|
|
101
|
+
self.storage = Tiefblue()
|
|
45
102
|
self.job = Job(client=self.client)
|
|
46
|
-
self.util = Util()
|
|
47
103
|
self.jgid = None
|
|
48
104
|
|
|
49
105
|
@classmethod
|
|
@@ -97,7 +153,7 @@ class OpenAPIContext(BaseContext):
|
|
|
97
153
|
for file in task.forward_files:
|
|
98
154
|
upload_file_list.append(os.path.join(task.task_work_path, file))
|
|
99
155
|
|
|
100
|
-
upload_zip =
|
|
156
|
+
upload_zip = zip_file_list(
|
|
101
157
|
self.local_root, zip_task_file, file_list=upload_file_list
|
|
102
158
|
)
|
|
103
159
|
project_id = self.remote_profile.get("project_id", 0)
|
|
@@ -189,7 +245,7 @@ class OpenAPIContext(BaseContext):
|
|
|
189
245
|
):
|
|
190
246
|
continue
|
|
191
247
|
self.storage.download_from_url(info["resultUrl"], target_result_zip)
|
|
192
|
-
|
|
248
|
+
unzip_file(target_result_zip, out_dir=self.local_root)
|
|
193
249
|
self._backup(self.local_root, target_result_zip)
|
|
194
250
|
self._clean_backup(
|
|
195
251
|
self.local_root, keep_backup=self.remote_profile.get("keep_backup", True)
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import shutil
|
|
3
3
|
import time
|
|
4
|
+
from zipfile import ZipFile
|
|
4
5
|
|
|
5
6
|
from dpdispatcher.utils.utils import customized_script_header_template
|
|
6
7
|
|
|
7
8
|
try:
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from bohriumsdk.storage import Storage
|
|
11
|
-
from bohriumsdk.util import Util
|
|
9
|
+
from bohrium import Bohrium
|
|
10
|
+
from bohrium.resources import Job, Tiefblue
|
|
12
11
|
except ModuleNotFoundError:
|
|
13
12
|
found_bohriumsdk = False
|
|
14
13
|
else:
|
|
@@ -23,6 +22,12 @@ shell_script_header_template = """
|
|
|
23
22
|
"""
|
|
24
23
|
|
|
25
24
|
|
|
25
|
+
def unzip_file(zip_file, out_dir="./"):
|
|
26
|
+
obj = ZipFile(zip_file, "r")
|
|
27
|
+
for item in obj.namelist():
|
|
28
|
+
obj.extract(item, out_dir)
|
|
29
|
+
|
|
30
|
+
|
|
26
31
|
class OpenAPI(Machine):
|
|
27
32
|
def __init__(self, context):
|
|
28
33
|
if not found_bohriumsdk:
|
|
@@ -35,9 +40,35 @@ class OpenAPI(Machine):
|
|
|
35
40
|
self.grouped = self.remote_profile.get("grouped", True)
|
|
36
41
|
self.retry_count = self.remote_profile.get("retry_count", 3)
|
|
37
42
|
self.ignore_exit_code = context.remote_profile.get("ignore_exit_code", True)
|
|
38
|
-
|
|
43
|
+
|
|
44
|
+
access_key = (
|
|
45
|
+
self.remote_profile.get("access_key", None)
|
|
46
|
+
or os.getenv("BOHRIUM_ACCESS_KEY", None)
|
|
47
|
+
or os.getenv("ACCESS_KEY", None)
|
|
48
|
+
)
|
|
49
|
+
project_id = (
|
|
50
|
+
self.remote_profile.get("project_id", None)
|
|
51
|
+
or os.getenv("BOHRIUM_PROJECT_ID", None)
|
|
52
|
+
or os.getenv("PROJECT_ID", None)
|
|
53
|
+
)
|
|
54
|
+
app_key = (
|
|
55
|
+
self.remote_profile.get("app_key", None)
|
|
56
|
+
or os.getenv("BOHRIUM_APP_KEY", None)
|
|
57
|
+
or os.getenv("APP_KEY", None)
|
|
58
|
+
)
|
|
59
|
+
if access_key is None:
|
|
60
|
+
raise ValueError(
|
|
61
|
+
"remote_profile must contain 'access_key' or set environment variable 'BOHRIUM_ACCESS_KEY'"
|
|
62
|
+
)
|
|
63
|
+
if project_id is None:
|
|
64
|
+
raise ValueError(
|
|
65
|
+
"remote_profile must contain 'project_id' or set environment variable 'BOHRIUM_PROJECT_ID'"
|
|
66
|
+
)
|
|
67
|
+
self.client = Bohrium(
|
|
68
|
+
access_key=access_key, project_id=project_id, app_key=app_key
|
|
69
|
+
)
|
|
70
|
+
self.storage = Tiefblue()
|
|
39
71
|
self.job = Job(client=self.client)
|
|
40
|
-
self.storage = Storage(client=self.client)
|
|
41
72
|
self.group_id = None
|
|
42
73
|
|
|
43
74
|
def gen_script(self, job):
|
|
@@ -102,7 +133,6 @@ class OpenAPI(Machine):
|
|
|
102
133
|
}
|
|
103
134
|
if job.job_state == JobStatus.unsubmitted:
|
|
104
135
|
openapi_params["job_id"] = job.job_id
|
|
105
|
-
|
|
106
136
|
data = self.job.insert(**openapi_params)
|
|
107
137
|
|
|
108
138
|
job.job_id = data.get("jobId", 0) # type: ignore
|
|
@@ -170,7 +200,7 @@ class OpenAPI(Machine):
|
|
|
170
200
|
result_filename = job_hash + "_back.zip"
|
|
171
201
|
target_result_zip = os.path.join(self.context.local_root, result_filename)
|
|
172
202
|
self.storage.download_from_url(job_url, target_result_zip)
|
|
173
|
-
|
|
203
|
+
unzip_file(target_result_zip, out_dir=self.context.local_root)
|
|
174
204
|
try:
|
|
175
205
|
os.makedirs(os.path.join(self.context.local_root, "backup"), exist_ok=True)
|
|
176
206
|
shutil.move(
|
|
@@ -85,7 +85,7 @@ class Slurm(Machine):
|
|
|
85
85
|
# self.context.write_file(fname=os.path.join(self.context.submission.work_base, script_file_name), write_str=script_str)
|
|
86
86
|
command = "cd {} && {} {}".format(
|
|
87
87
|
shlex.quote(self.context.remote_root),
|
|
88
|
-
"sbatch",
|
|
88
|
+
"sbatch --parsable",
|
|
89
89
|
shlex.quote(script_file_name),
|
|
90
90
|
)
|
|
91
91
|
ret, stdin, stdout, stderr = self.context.block_call(command)
|
|
@@ -278,7 +278,11 @@ class Client:
|
|
|
278
278
|
return ""
|
|
279
279
|
resp = requests.get(url, headers={"Range": f"bytes={self.last_log_offset}-"})
|
|
280
280
|
self.last_log_offset += len(resp.content)
|
|
281
|
-
|
|
281
|
+
try:
|
|
282
|
+
return resp.content.decode("utf-8")
|
|
283
|
+
except Exception as e:
|
|
284
|
+
dlog.error(f"Error decoding job log: {e}", stack_info=ENABLE_STACK)
|
|
285
|
+
return ""
|
|
282
286
|
|
|
283
287
|
def _get_job_log(self, job_id):
|
|
284
288
|
ret = self.get(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: dpdispatcher
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.10
|
|
4
4
|
Summary: Generate HPC scheduler systems jobs input scripts, submit these scripts to HPC systems, and poke until they finish
|
|
5
5
|
Author: DeepModeling
|
|
6
6
|
License: GNU LESSER GENERAL PUBLIC LICENSE
|
|
@@ -212,6 +212,7 @@ Provides-Extra: gui
|
|
|
212
212
|
Requires-Dist: dpgui; extra == "gui"
|
|
213
213
|
Provides-Extra: test
|
|
214
214
|
Requires-Dist: dpgui; extra == "test"
|
|
215
|
+
Dynamic: license-file
|
|
215
216
|
|
|
216
217
|
# DPDispatcher
|
|
217
218
|
|
|
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
|
|
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
|
|
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
|