Py4HEAppE 3.1.0__tar.gz → 3.2.0__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.
- {py4heappe-3.1.0 → py4heappe-3.2.0}/CHANGELOG.md +12 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/PKG-INFO +45 -3
- {py4heappe-3.1.0 → py4heappe-3.2.0}/README.md +44 -2
- {py4heappe-3.1.0 → py4heappe-3.2.0}/docs/examples/example.py +46 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/pyproject.toml +1 -1
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/Py4HEAppE.egg-info/PKG-INFO +45 -3
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/Py4HEAppE.egg-info/SOURCES.txt +1 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/file_transfer.py +96 -20
- py4heappe-3.2.0/src/py4heappe/heappe_v6/core/api/file_transfer_api_ext.py +154 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_file_transfer.py +50 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitignore +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/issue_templates/Backlog.md +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/issue_templates/Bug.md +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/issue_templates/Feature.md +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/merge_request_templates/Default.md +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/stages/.check.yml +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/stages/.generation.yml +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/stages/.publish.yml +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab/stages/.release.yml +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/.gitlab-ci.yml +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/LICENSE +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/README.md +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/README.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/__init__api.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/__init__model.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/__init__package.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/__init__test.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/api.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/api_client.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/api_doc.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/api_test.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/asyncio/rest.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/configuration.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/git_push.sh.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/gitignore.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/model.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/model_doc.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/model_test.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/partial_header.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/requirements.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/rest.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/setup.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/test-requirements.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/tornado/rest.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/tox.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/Templates/python/travis.mustache +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/config.json +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/Tools/APIWrapperGen/swagger.json +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/docs/imgs/logo.png +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/requirements.txt +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/setup.cfg +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/Py4HEAppE.egg-info/dependency_links.txt +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/Py4HEAppE.egg-info/entry_points.txt +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/Py4HEAppE.egg-info/requires.txt +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/Py4HEAppE.egg-info/top_level.txt +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/auth.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/command_template.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/information.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/job_management.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/cli/report.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/cluster_information_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/data_transfer_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/file_transfer_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/job_management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/job_reporting_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api/user_and_limitation_management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/api_client.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/base/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/base/exceptions.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/base/logger.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/base/utils.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user_group.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user_role.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user_role_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user_role_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/adaptor_user_user_group_role.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/allocated_nodes_ips_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/authenticate_lexis_token_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/authenticate_user_digital_signature_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/authenticate_user_open_id_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/authenticate_user_open_id_open_stack_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/authenticate_user_password_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/authentication_credentials.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/bad_request_result.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cancel_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_authentication_credentials.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_authentication_credentials_auth_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_connection_protocol.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_init_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type_for_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type_requested_group.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_type_resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_node_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_project.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_project_credential.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_proxy_connection.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_proxy_connection_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/cluster_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/command_template.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/command_template_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/command_template_parameter.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/command_template_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/command_template_parameter_value_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/contact.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/copy_job_data_from_temp_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/copy_job_data_to_temp_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_command_inner_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_command_template_from_generic_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_job_by_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/create_secure_shell_key_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/current_cluster_node_usage_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/current_info_for_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/data_transfer_method_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/delete_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/deployment_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/digital_signature_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/download_file_from_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/download_parts_of_job_files_from_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/end_data_transfer_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/end_file_transfer_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/environment_variable_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/extended_command_template_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/extended_command_template_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/extended_project_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_cipher_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_cipher_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_key_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_method.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_method_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_protocol.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/file_transfer_protocol_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/get_command_template_parameters_name_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/get_current_usage_and_limitations_for_current_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/get_data_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/get_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/http_get_to_job_node_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/http_header_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/http_post_to_job_node_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/initialize_cluster_script_directory_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/instance_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_file_content_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_specification_by_project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_specification_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_state_aggregation_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/job_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/lexis_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/list_changed_files_for_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/list_jobs_for_current_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/modify_command_template_from_generic_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/modify_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/modify_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/modify_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/modify_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/node_used_cores_and_limitation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/open_id_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/open_stack_application_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/password_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/problem_details.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_contact.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_for_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_list_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_reference_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/project_resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/proxy_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/proxy_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/public_key_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/recreate_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/regenerate_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/regenerate_secure_shell_key_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/remove_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/remove_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/remove_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/remove_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/remove_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/remove_secure_shell_key_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/resource_allocation_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/resource_limitation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/scheduler_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/ssh_key_user_credentials_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/submit_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/submitted_job_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/submitted_task_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/synchronizable_files_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_file_offset_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_paralization_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_priority_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_specification_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/task_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/test_cluster_access_for_account_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/test_cluster_access_for_account_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/unauthorized_result.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/usage_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/usage_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/user_group_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/user_group_list_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/user_group_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/models/version_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v4/core/rest.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/auth.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/command_template.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/information.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/job_management.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/cli/report.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/cluster_information_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/data_transfer_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/file_transfer_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/job_management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/job_reporting_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api/user_and_limitation_management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/api_client.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/base/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/base/exceptions.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/base/logger.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/base/utils.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/accounting_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/accounting_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/accounting_state_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/adaptor_user_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/adaptor_user_group_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/adaptor_user_role_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/adaptor_user_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/authenticate_lexis_token_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/authenticate_user_digital_signature_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/authenticate_user_open_id_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/authenticate_user_open_id_open_stack_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/authenticate_user_password_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/bad_request_result.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cancel_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_authentication_credentials_auth_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_connection_protocol.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_connection_protocol_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_init_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_extended_type_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_aggregation_accounting_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_aggregation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_for_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_type_resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_node_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_proxy_connection_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/cluster_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/command_template_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/command_template_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/command_template_parameter_value_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/compute_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/copy_job_data_from_temp_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/copy_job_data_to_temp_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_cluster_node_type_aggregation_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_cluster_node_type_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_cluster_proxy_connection_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_command_inner_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_command_template_from_generic_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_job_by_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_project_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_secure_shell_key_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/create_sub_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/data_transfer_method_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/delete_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/deployment_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/digital_signature_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/download_file_from_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/download_parts_of_job_files_from_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/end_data_transfer_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/end_file_transfer_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/environment_variable_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/extended_cluster_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/extended_command_template_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/extended_command_template_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/extended_project_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_transfer_cipher_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_transfer_key_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_transfer_method_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_transfer_method_no_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_transfer_protocol.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/file_transfer_protocol_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/get_command_template_parameters_name_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/get_data_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/get_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/http_get_to_job_node_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/http_header_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/http_post_to_job_node_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/initialize_cluster_script_directory_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/instance_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_file_content_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_specification_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_state_aggregation_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/job_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/lexis_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_cluster_node_type_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_cluster_proxy_connection_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_command_template_from_generic_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_project_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/modify_sub_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/node_used_cores_and_limitation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/open_id_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/open_stack_application_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/password_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/problem_details.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_cluster_node_type_aggregation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_for_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_list_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_reference_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/project_resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/proxy_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/proxy_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/public_key_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/regenerate_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/regenerate_secure_shell_key_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_cluster_node_type_aggregation_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_cluster_node_type_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_cluster_proxy_connection_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_project_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_secure_shell_key_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/remove_sub_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/resource_allocation_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/scheduler_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/scheduler_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/ssh_key_user_credentials_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/sub_project_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/sub_project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/submit_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/submitted_job_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/submitted_task_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/synchronizable_files_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_file_offset_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_paralization_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_priority_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_specification_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/task_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/test_cluster_access_for_account_model_obsolete.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/unauthorized_result.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/usage_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/user_group_list_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/models/version_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v5/core/rest.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/auth.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/command_template.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/information.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/job_management.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/report.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/cli/transfer.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/cluster_information_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/credentials_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/data_transfer_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/dictionary_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/events_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/file_transfer_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/health_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/job_management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/job_reporting_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/q_scheduler_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api/user_and_limitation_management_api.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/api_client.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/base/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/base/exceptions.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/base/logger.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/base/utils.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/accounting_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/accounting_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/accounting_state_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/adaptor_user_created_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/adaptor_user_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/adaptor_user_group_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/adaptor_user_role_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/adaptor_user_role_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/adaptor_user_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/admin_job_paged_result_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/admin_submitted_job_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/admin_submitter_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/admin_task_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/assign_adaptor_user_to_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/assign_adaptor_user_to_user_group_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/assign_system_role_to_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/authenticate_lexis_token_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/authenticate_user_digital_signature_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/authenticate_user_open_id_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/authenticate_user_open_id_open_stack_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/authenticate_user_password_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/bad_request_result.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/by_cluster_authentication_credential_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cancel_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/check_log_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/check_log_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/close_q_scheduler_session_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cloud_event_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_access_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_account_status_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_authentication_credential_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_authentication_credential_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_authentication_credentials_auth_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_authentication_credentials_auth_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_connection_counts_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_connection_protocol_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_custom_configuration_key_item_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_init_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_extended_type_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_aggregation_accounting_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_aggregation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_for_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_type_resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_node_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_project_storage_path_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_proxy_connection_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/cluster_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/command_template_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/command_template_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/command_template_parameter_value_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/compute_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/copy_job_data_from_temp_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/copy_job_data_to_temp_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_adaptor_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_cluster_node_type_aggregation_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_cluster_node_type_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_cluster_proxy_connection_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_command_inner_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_command_template_from_generic_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_credential_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_generic_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_job_by_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_project_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/create_sub_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/credential_response_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/data_transfer_method_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/database_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/database_backup_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/database_backup_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/delete_adaptor_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/delete_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/deployment_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/detail_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/dictionary_item_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/digital_signature_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/download_file_from_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/download_parts_of_job_files_from_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/dry_run_job_counts_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/dry_run_job_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/dry_run_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/end_data_transfer_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/end_file_transfer_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/environment_variable_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/extended_cluster_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/extended_command_template_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/extended_command_template_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/extended_project_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/external_service_live_status_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/external_service_statistics_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/external_services_live_status_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/external_services_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_cipher_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_key_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_method_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_method_no_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_protocol.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_protocol_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_transfer_upload_files_to_job_execution_dir_body.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/file_upload_result_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_command_template_parameters_name_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_data_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_external_services_report_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_external_services_statistics_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_job_external_service_logs_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/get_jobs_monitoring_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/health_component_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/health_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/http_get_to_job_node_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/http_header_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/http_post_to_job_node_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/initialize_cluster_script_directory_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/instance_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_external_service_log_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_file_content_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_monitoring_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_monitoring_page_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_monitoring_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_specification_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_state_aggregation_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/job_state_source_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/lexis_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/management_import_migration_package_body.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_adaptor_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_cluster_authentication_credential_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_cluster_node_type_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_cluster_proxy_connection_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_command_template_from_generic_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_credential_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_generic_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_project_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/modify_sub_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/node_used_cores_and_limitation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/open_id_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/open_q_scheduler_session_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/open_stack_application_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/password_credentials_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/problem_details.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_cluster_node_type_aggregation_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_for_task_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_list_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_reference_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/project_resource_usage_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/proxy_type.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/proxy_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/public_key_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/q_scheduler_create_and_submit_job_body.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/q_scheduler_session_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/regenerate_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_cluster_node_type_aggregation_accounting_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_cluster_node_type_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_cluster_proxy_connection_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_command_template_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_command_template_parameter_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_credential_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_file_transfer_method_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_project_assignment_to_cluster_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_project_cluster_node_type_aggregation_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_secure_shell_key_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_sub_project_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/remove_system_role_from_user_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/resource_allocation_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/restore_database_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/scheduler_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/set_adaptor_user_block_status_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/ssh_key_user_credentials_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/statistics_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/status_check_logs_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/status_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/sub_project_aggregated_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/sub_project_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/submit_job_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/submitted_job_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/submitted_task_info_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/synchronizable_files_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/system_role_assignment_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_callback_model.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_detailed_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_extended_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_file_offset_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_paralization_parameter_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_priority_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_specification_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/task_state_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/unauthorized_result.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/usage_type_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/user_group_list_report_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/vault_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/vault_credential_counts_ext_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/vault_info_.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/models/version_information_ext.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe/heappe_v6/core/rest.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/src/py4heappe_cli.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/.env.example +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/__init__.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/live_cli_support.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_auth.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_command_template.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_configuration.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_information.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_job_management.py +0 -0
- {py4heappe-3.1.0 → py4heappe-3.2.0}/tests/test_cli_report.py +0 -0
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## 3.2.0
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Extended `py4heappe FileTransfer Stream` with alternate upload sources: `--stdin` for raw piped bytes and `--base64` for inline base64 content.
|
|
12
|
+
- Added `--upload-filename` for naming uploaded content when using `--stdin` or `--base64`.
|
|
13
|
+
- Added dedicated in-memory upload implementation in `src/py4heappe/heappe_v6/core/api/file_transfer_api_ext.py` via `FileTransferApiExt.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post`, supporting byte-like and file-like objects.
|
|
14
|
+
- Added live CLI examples for `Stream --stdin` and `Stream --base64` in `tests/test_cli_file_transfer.py`.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- Updated `README.md` File Transfer examples to include concrete `Stream` upload commands for disk files, stdin bytes, and base64 payloads.
|
|
18
|
+
- Updated `docs/examples/example.py` with an optional in-memory upload example using `FileTransferApiExt` and `InMemoryUploadFile`.
|
|
19
|
+
|
|
8
20
|
## 3.1.0
|
|
9
21
|
|
|
10
22
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Py4HEAppE
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.0
|
|
4
4
|
Summary: Py4HEAppE is client library for easy access to HEAppE Middleware
|
|
5
5
|
Author-email: IT4Innovations <support.heappe@it4i.cz>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -28,7 +28,7 @@ Dynamic: license-file
|
|
|
28
28
|
<img align="right" width="35%" src="https://raw.githubusercontent.com/It4innovations/Py4HEAppE/refs/heads/master/docs/imgs/logo.png">
|
|
29
29
|
|
|
30
30
|
# Py4HEAppE (Python for HEAppE Middleware)
|
|
31
|
-
Release: 3.
|
|
31
|
+
Release: 3.2.0
|
|
32
32
|
|
|
33
33
|
Py4HEAppE provides both a command-line interface and versioned Python wrappers for the [HEAppE](https://heappe.eu) middleware API.
|
|
34
34
|
|
|
@@ -39,6 +39,7 @@ You can use it in two ways:
|
|
|
39
39
|
## Supported HEAppE Versions
|
|
40
40
|
| Py4HEAppE | HEAppE Version | Notes |
|
|
41
41
|
|:---------:|:-------------------------------------------------------| :---- |
|
|
42
|
+
| 3.2.X | 6.5.X, 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
42
43
|
| 3.1.X | 6.5.X, 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
43
44
|
| 2.9.X | 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
44
45
|
| 2.8.X | 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
@@ -211,7 +212,14 @@ py4heappe FileTransfer Download --help
|
|
|
211
212
|
Upload files directly into the job execution directory:
|
|
212
213
|
|
|
213
214
|
```shell
|
|
214
|
-
|
|
215
|
+
# Upload one or more local files from disk
|
|
216
|
+
py4heappe FileTransfer Stream --id 12345 --files ./input_a.dat --files ./input_b.dat
|
|
217
|
+
|
|
218
|
+
# Upload a single file from stdin bytes
|
|
219
|
+
Get-Content -Path .\input.dat -AsByteStream | py4heappe FileTransfer Stream --id 12345 --stdin --upload-filename input.dat
|
|
220
|
+
|
|
221
|
+
# Upload a single file from base64 content
|
|
222
|
+
py4heappe FileTransfer Stream --id 12345 --base64 aGVsbG8gd29ybGQ= --upload-filename hello.txt
|
|
215
223
|
```
|
|
216
224
|
|
|
217
225
|
## Python API Wrapper
|
|
@@ -229,6 +237,40 @@ import py4heappe.heappe_v6.core as hp
|
|
|
229
237
|
|
|
230
238
|
There is no single unversioned `py4heappe.core` module. Use the versioned wrapper explicitly.
|
|
231
239
|
|
|
240
|
+
### Dedicated In-Memory Upload API (`file_transfer_api_ext.py`)
|
|
241
|
+
|
|
242
|
+
For uploads that should not touch local disk files, use the dedicated implementation in
|
|
243
|
+
`src/py4heappe/heappe_v6/core/api/file_transfer_api_ext.py`.
|
|
244
|
+
|
|
245
|
+
It provides `FileTransferApiExt.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post`,
|
|
246
|
+
which accepts byte-like payloads or file-like objects.
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
import io
|
|
250
|
+
|
|
251
|
+
import py4heappe.heappe_v6.core as hp
|
|
252
|
+
from py4heappe.heappe_v6.core.api.file_transfer_api_ext import (
|
|
253
|
+
FileTransferApiExt,
|
|
254
|
+
InMemoryUploadFile,
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
configuration = hp.Configuration()
|
|
258
|
+
configuration.host = "https://heappe.example.org"
|
|
259
|
+
api_client = hp.ApiClient(configuration)
|
|
260
|
+
|
|
261
|
+
stream_api = FileTransferApiExt(api_client)
|
|
262
|
+
stream_api.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post(
|
|
263
|
+
files=[
|
|
264
|
+
InMemoryUploadFile("bytes-input.txt", b"hello from bytes"),
|
|
265
|
+
("stream-input.bin", io.BytesIO(b"\\x00\\x01\\x02"), "application/octet-stream"),
|
|
266
|
+
],
|
|
267
|
+
session_code="your-session-code",
|
|
268
|
+
job_id=12345,
|
|
269
|
+
task_id=1,
|
|
270
|
+
_preload_content=False,
|
|
271
|
+
)
|
|
272
|
+
```
|
|
273
|
+
|
|
232
274
|
### Minimal Python Example
|
|
233
275
|
|
|
234
276
|
```python
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<img align="right" width="35%" src="https://raw.githubusercontent.com/It4innovations/Py4HEAppE/refs/heads/master/docs/imgs/logo.png">
|
|
2
2
|
|
|
3
3
|
# Py4HEAppE (Python for HEAppE Middleware)
|
|
4
|
-
Release: 3.
|
|
4
|
+
Release: 3.2.0
|
|
5
5
|
|
|
6
6
|
Py4HEAppE provides both a command-line interface and versioned Python wrappers for the [HEAppE](https://heappe.eu) middleware API.
|
|
7
7
|
|
|
@@ -12,6 +12,7 @@ You can use it in two ways:
|
|
|
12
12
|
## Supported HEAppE Versions
|
|
13
13
|
| Py4HEAppE | HEAppE Version | Notes |
|
|
14
14
|
|:---------:|:-------------------------------------------------------| :---- |
|
|
15
|
+
| 3.2.X | 6.5.X, 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
15
16
|
| 3.1.X | 6.5.X, 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
16
17
|
| 2.9.X | 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
17
18
|
| 2.8.X | 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
@@ -184,7 +185,14 @@ py4heappe FileTransfer Download --help
|
|
|
184
185
|
Upload files directly into the job execution directory:
|
|
185
186
|
|
|
186
187
|
```shell
|
|
187
|
-
|
|
188
|
+
# Upload one or more local files from disk
|
|
189
|
+
py4heappe FileTransfer Stream --id 12345 --files ./input_a.dat --files ./input_b.dat
|
|
190
|
+
|
|
191
|
+
# Upload a single file from stdin bytes
|
|
192
|
+
Get-Content -Path .\input.dat -AsByteStream | py4heappe FileTransfer Stream --id 12345 --stdin --upload-filename input.dat
|
|
193
|
+
|
|
194
|
+
# Upload a single file from base64 content
|
|
195
|
+
py4heappe FileTransfer Stream --id 12345 --base64 aGVsbG8gd29ybGQ= --upload-filename hello.txt
|
|
188
196
|
```
|
|
189
197
|
|
|
190
198
|
## Python API Wrapper
|
|
@@ -202,6 +210,40 @@ import py4heappe.heappe_v6.core as hp
|
|
|
202
210
|
|
|
203
211
|
There is no single unversioned `py4heappe.core` module. Use the versioned wrapper explicitly.
|
|
204
212
|
|
|
213
|
+
### Dedicated In-Memory Upload API (`file_transfer_api_ext.py`)
|
|
214
|
+
|
|
215
|
+
For uploads that should not touch local disk files, use the dedicated implementation in
|
|
216
|
+
`src/py4heappe/heappe_v6/core/api/file_transfer_api_ext.py`.
|
|
217
|
+
|
|
218
|
+
It provides `FileTransferApiExt.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post`,
|
|
219
|
+
which accepts byte-like payloads or file-like objects.
|
|
220
|
+
|
|
221
|
+
```python
|
|
222
|
+
import io
|
|
223
|
+
|
|
224
|
+
import py4heappe.heappe_v6.core as hp
|
|
225
|
+
from py4heappe.heappe_v6.core.api.file_transfer_api_ext import (
|
|
226
|
+
FileTransferApiExt,
|
|
227
|
+
InMemoryUploadFile,
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
configuration = hp.Configuration()
|
|
231
|
+
configuration.host = "https://heappe.example.org"
|
|
232
|
+
api_client = hp.ApiClient(configuration)
|
|
233
|
+
|
|
234
|
+
stream_api = FileTransferApiExt(api_client)
|
|
235
|
+
stream_api.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post(
|
|
236
|
+
files=[
|
|
237
|
+
InMemoryUploadFile("bytes-input.txt", b"hello from bytes"),
|
|
238
|
+
("stream-input.bin", io.BytesIO(b"\\x00\\x01\\x02"), "application/octet-stream"),
|
|
239
|
+
],
|
|
240
|
+
session_code="your-session-code",
|
|
241
|
+
job_id=12345,
|
|
242
|
+
task_id=1,
|
|
243
|
+
_preload_content=False,
|
|
244
|
+
)
|
|
245
|
+
```
|
|
246
|
+
|
|
205
247
|
### Minimal Python Example
|
|
206
248
|
|
|
207
249
|
```python
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
3
|
import time
|
|
4
|
+
import base64
|
|
5
|
+
import binascii
|
|
4
6
|
from io import StringIO
|
|
5
7
|
from pathlib import Path
|
|
6
8
|
|
|
@@ -9,6 +11,10 @@ from paramiko import SSHClient
|
|
|
9
11
|
from scp import SCPClient
|
|
10
12
|
|
|
11
13
|
import py4heappe.heappe_v6.core as hp
|
|
14
|
+
from py4heappe.heappe_v6.core.api.file_transfer_api_ext import (
|
|
15
|
+
FileTransferApiExt,
|
|
16
|
+
InMemoryUploadFile,
|
|
17
|
+
)
|
|
12
18
|
|
|
13
19
|
POLL_INTERVAL_SECONDS = 30
|
|
14
20
|
OUTPUT_DIRECTORY = Path("data_transfer/output")
|
|
@@ -62,6 +68,44 @@ def wait_for_job_completion(
|
|
|
62
68
|
time.sleep(POLL_INTERVAL_SECONDS)
|
|
63
69
|
|
|
64
70
|
|
|
71
|
+
def upload_job_input_from_memory(
|
|
72
|
+
api_client: hp.ApiClient,
|
|
73
|
+
session_code: str,
|
|
74
|
+
job_id: int,
|
|
75
|
+
) -> None:
|
|
76
|
+
"""Optional example: upload one file from base64 env content via Stream API extension."""
|
|
77
|
+
encoded_content = os.environ.get("HEAPPE_STREAM_UPLOAD_BASE64", "").strip()
|
|
78
|
+
if not encoded_content:
|
|
79
|
+
print(
|
|
80
|
+
"Skipping in-memory stream upload (set HEAPPE_STREAM_UPLOAD_BASE64 to enable this example)."
|
|
81
|
+
)
|
|
82
|
+
return
|
|
83
|
+
|
|
84
|
+
try:
|
|
85
|
+
file_bytes = base64.b64decode(encoded_content, validate=True)
|
|
86
|
+
except (binascii.Error, ValueError) as exception:
|
|
87
|
+
raise RuntimeError(
|
|
88
|
+
"HEAPPE_STREAM_UPLOAD_BASE64 contains invalid base64 content"
|
|
89
|
+
) from exception
|
|
90
|
+
|
|
91
|
+
filename = os.environ.get("HEAPPE_STREAM_UPLOAD_FILENAME", "input.dat").strip()
|
|
92
|
+
if not filename:
|
|
93
|
+
filename = "input.dat"
|
|
94
|
+
|
|
95
|
+
task_id_raw = os.environ.get("HEAPPE_STREAM_UPLOAD_TASK_ID", "").strip()
|
|
96
|
+
task_id = int(task_id_raw) if task_id_raw else None
|
|
97
|
+
|
|
98
|
+
stream_api = FileTransferApiExt(api_client)
|
|
99
|
+
stream_api.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post(
|
|
100
|
+
files=[InMemoryUploadFile(filename=filename, content=file_bytes)],
|
|
101
|
+
session_code=session_code,
|
|
102
|
+
job_id=job_id,
|
|
103
|
+
task_id=task_id,
|
|
104
|
+
_preload_content=False,
|
|
105
|
+
)
|
|
106
|
+
print(f"Uploaded in-memory file '{filename}' to job {job_id}.")
|
|
107
|
+
|
|
108
|
+
|
|
65
109
|
def download_job_outputs(
|
|
66
110
|
file_transfer_api: hp.FileTransferApi,
|
|
67
111
|
session_code: str,
|
|
@@ -234,6 +278,8 @@ def main() -> None:
|
|
|
234
278
|
job_id = created_job["Id"]
|
|
235
279
|
print(f"Job ID: {job_id}")
|
|
236
280
|
|
|
281
|
+
upload_job_input_from_memory(api_client, session_code, job_id)
|
|
282
|
+
|
|
237
283
|
print(f"\nSubmitting job {job_id}...")
|
|
238
284
|
job_api.heappe_job_management_submit_job_put(
|
|
239
285
|
_preload_content=False,
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
name = "Py4HEAppE"
|
|
7
7
|
authors = [{name = "IT4Innovations", email = "support.heappe@it4i.cz"}]
|
|
8
8
|
description = "Py4HEAppE is client library for easy access to HEAppE Middleware"
|
|
9
|
-
version = "3.
|
|
9
|
+
version = "3.2.0"
|
|
10
10
|
license = "MIT"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.11"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Py4HEAppE
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.0
|
|
4
4
|
Summary: Py4HEAppE is client library for easy access to HEAppE Middleware
|
|
5
5
|
Author-email: IT4Innovations <support.heappe@it4i.cz>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -28,7 +28,7 @@ Dynamic: license-file
|
|
|
28
28
|
<img align="right" width="35%" src="https://raw.githubusercontent.com/It4innovations/Py4HEAppE/refs/heads/master/docs/imgs/logo.png">
|
|
29
29
|
|
|
30
30
|
# Py4HEAppE (Python for HEAppE Middleware)
|
|
31
|
-
Release: 3.
|
|
31
|
+
Release: 3.2.0
|
|
32
32
|
|
|
33
33
|
Py4HEAppE provides both a command-line interface and versioned Python wrappers for the [HEAppE](https://heappe.eu) middleware API.
|
|
34
34
|
|
|
@@ -39,6 +39,7 @@ You can use it in two ways:
|
|
|
39
39
|
## Supported HEAppE Versions
|
|
40
40
|
| Py4HEAppE | HEAppE Version | Notes |
|
|
41
41
|
|:---------:|:-------------------------------------------------------| :---- |
|
|
42
|
+
| 3.2.X | 6.5.X, 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
42
43
|
| 3.1.X | 6.5.X, 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
43
44
|
| 2.9.X | 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
44
45
|
| 2.8.X | 6.4.X, 6.3.X, 6.2.X, 6.2.1, 5.0.X, 4.3.X, 4.2.X | Without Admin CLI section |
|
|
@@ -211,7 +212,14 @@ py4heappe FileTransfer Download --help
|
|
|
211
212
|
Upload files directly into the job execution directory:
|
|
212
213
|
|
|
213
214
|
```shell
|
|
214
|
-
|
|
215
|
+
# Upload one or more local files from disk
|
|
216
|
+
py4heappe FileTransfer Stream --id 12345 --files ./input_a.dat --files ./input_b.dat
|
|
217
|
+
|
|
218
|
+
# Upload a single file from stdin bytes
|
|
219
|
+
Get-Content -Path .\input.dat -AsByteStream | py4heappe FileTransfer Stream --id 12345 --stdin --upload-filename input.dat
|
|
220
|
+
|
|
221
|
+
# Upload a single file from base64 content
|
|
222
|
+
py4heappe FileTransfer Stream --id 12345 --base64 aGVsbG8gd29ybGQ= --upload-filename hello.txt
|
|
215
223
|
```
|
|
216
224
|
|
|
217
225
|
## Python API Wrapper
|
|
@@ -229,6 +237,40 @@ import py4heappe.heappe_v6.core as hp
|
|
|
229
237
|
|
|
230
238
|
There is no single unversioned `py4heappe.core` module. Use the versioned wrapper explicitly.
|
|
231
239
|
|
|
240
|
+
### Dedicated In-Memory Upload API (`file_transfer_api_ext.py`)
|
|
241
|
+
|
|
242
|
+
For uploads that should not touch local disk files, use the dedicated implementation in
|
|
243
|
+
`src/py4heappe/heappe_v6/core/api/file_transfer_api_ext.py`.
|
|
244
|
+
|
|
245
|
+
It provides `FileTransferApiExt.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post`,
|
|
246
|
+
which accepts byte-like payloads or file-like objects.
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
import io
|
|
250
|
+
|
|
251
|
+
import py4heappe.heappe_v6.core as hp
|
|
252
|
+
from py4heappe.heappe_v6.core.api.file_transfer_api_ext import (
|
|
253
|
+
FileTransferApiExt,
|
|
254
|
+
InMemoryUploadFile,
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
configuration = hp.Configuration()
|
|
258
|
+
configuration.host = "https://heappe.example.org"
|
|
259
|
+
api_client = hp.ApiClient(configuration)
|
|
260
|
+
|
|
261
|
+
stream_api = FileTransferApiExt(api_client)
|
|
262
|
+
stream_api.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post(
|
|
263
|
+
files=[
|
|
264
|
+
InMemoryUploadFile("bytes-input.txt", b"hello from bytes"),
|
|
265
|
+
("stream-input.bin", io.BytesIO(b"\\x00\\x01\\x02"), "application/octet-stream"),
|
|
266
|
+
],
|
|
267
|
+
session_code="your-session-code",
|
|
268
|
+
job_id=12345,
|
|
269
|
+
task_id=1,
|
|
270
|
+
_preload_content=False,
|
|
271
|
+
)
|
|
272
|
+
```
|
|
273
|
+
|
|
232
274
|
### Minimal Python Example
|
|
233
275
|
|
|
234
276
|
```python
|
|
@@ -438,6 +438,7 @@ src/py4heappe/heappe_v6/core/api/data_transfer_api.py
|
|
|
438
438
|
src/py4heappe/heappe_v6/core/api/dictionary_api.py
|
|
439
439
|
src/py4heappe/heappe_v6/core/api/events_api.py
|
|
440
440
|
src/py4heappe/heappe_v6/core/api/file_transfer_api.py
|
|
441
|
+
src/py4heappe/heappe_v6/core/api/file_transfer_api_ext.py
|
|
441
442
|
src/py4heappe/heappe_v6/core/api/health_api.py
|
|
442
443
|
src/py4heappe/heappe_v6/core/api/job_management_api.py
|
|
443
444
|
src/py4heappe/heappe_v6/core/api/job_reporting_api.py
|
|
@@ -2,6 +2,7 @@ import base64
|
|
|
2
2
|
import binascii
|
|
3
3
|
import json
|
|
4
4
|
import os
|
|
5
|
+
import sys
|
|
5
6
|
import typer
|
|
6
7
|
import paramiko
|
|
7
8
|
from scp import SCPClient
|
|
@@ -10,6 +11,10 @@ from io import StringIO
|
|
|
10
11
|
import py4heappe.heappe_v6.cli.configuration as configuration
|
|
11
12
|
import py4heappe.heappe_v6.core.base.utils as utils
|
|
12
13
|
import py4heappe.heappe_v6.core as heappeCore
|
|
14
|
+
from py4heappe.heappe_v6.core.api.file_transfer_api_ext import (
|
|
15
|
+
FileTransferApiExt,
|
|
16
|
+
InMemoryUploadFile,
|
|
17
|
+
)
|
|
13
18
|
|
|
14
19
|
from py4heappe.heappe_v6.core.base import exceptions
|
|
15
20
|
from py4heappe.heappe_v6.core import rest
|
|
@@ -262,6 +267,33 @@ def _validate_upload_paths(paths: List[str]) -> List[str]:
|
|
|
262
267
|
return normalized_paths
|
|
263
268
|
|
|
264
269
|
|
|
270
|
+
def _decode_base64_upload_content(encoded_content: str) -> bytes:
|
|
271
|
+
try:
|
|
272
|
+
return base64.b64decode(encoded_content, validate=True)
|
|
273
|
+
except (binascii.Error, ValueError) as exception:
|
|
274
|
+
raise exceptions.Py4HEAppEInternalException(
|
|
275
|
+
f"Invalid --base64 content: {str(exception)}"
|
|
276
|
+
) from None
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
def _read_stdin_upload_content() -> bytes:
|
|
280
|
+
if hasattr(sys.stdin, "buffer"):
|
|
281
|
+
return sys.stdin.buffer.read()
|
|
282
|
+
return sys.stdin.read().encode("utf-8")
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
def _validate_stream_upload_mode(
|
|
286
|
+
files: Optional[List[str]],
|
|
287
|
+
upload_from_stdin: bool,
|
|
288
|
+
base64_content: Optional[str],
|
|
289
|
+
):
|
|
290
|
+
selected_modes = [bool(files), upload_from_stdin, base64_content is not None]
|
|
291
|
+
if sum(selected_modes) != 1:
|
|
292
|
+
raise exceptions.Py4HEAppEInternalException(
|
|
293
|
+
"Specify exactly one upload source: --files, --stdin, or --base64."
|
|
294
|
+
) from None
|
|
295
|
+
|
|
296
|
+
|
|
265
297
|
def _parse_task_file_offsets(task_file_offsets: List[str]) -> List[dict]:
|
|
266
298
|
parsed_offsets = []
|
|
267
299
|
|
|
@@ -600,34 +632,78 @@ def upload_files_to_job_execution_dir(
|
|
|
600
632
|
id: int = typer.Option(..., help="Id (Created or submitted HPC job)"),
|
|
601
633
|
taskId: int = typer.Option(None, help="Id (Task)"),
|
|
602
634
|
files: Annotated[
|
|
603
|
-
List[str],
|
|
635
|
+
Optional[List[str]],
|
|
604
636
|
typer.Option(
|
|
605
637
|
help="Local file paths to upload; repeat the option for multiple files",
|
|
606
638
|
),
|
|
607
|
-
] =
|
|
639
|
+
] = None,
|
|
640
|
+
upload_from_stdin: bool = typer.Option(
|
|
641
|
+
False,
|
|
642
|
+
"--stdin",
|
|
643
|
+
help="Read upload content as raw bytes from stdin.",
|
|
644
|
+
),
|
|
645
|
+
base64_content: Optional[str] = typer.Option(
|
|
646
|
+
None,
|
|
647
|
+
"--base64",
|
|
648
|
+
help="Upload a single file from base64-encoded content.",
|
|
649
|
+
),
|
|
650
|
+
upload_filename: str = typer.Option(
|
|
651
|
+
"stdin-upload.bin",
|
|
652
|
+
"--upload-filename",
|
|
653
|
+
help="Filename used with --stdin or --base64 modes.",
|
|
654
|
+
),
|
|
608
655
|
):
|
|
609
656
|
"""Upload files to job execution directory"""
|
|
610
657
|
try:
|
|
611
658
|
utils.print_and_log("Uploading files to job execution directory ...")
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
659
|
+
|
|
660
|
+
_validate_stream_upload_mode(files, upload_from_stdin, base64_content)
|
|
661
|
+
|
|
662
|
+
if files:
|
|
663
|
+
upload_paths = _validate_upload_paths(files)
|
|
664
|
+
if id and taskId:
|
|
665
|
+
parameters = {
|
|
666
|
+
"_preload_content": False,
|
|
667
|
+
"files": upload_paths,
|
|
668
|
+
"JobId": id,
|
|
669
|
+
"TaskId": taskId,
|
|
670
|
+
"SessionCode": utils.load_stored_session(),
|
|
671
|
+
}
|
|
672
|
+
else:
|
|
673
|
+
parameters = {
|
|
674
|
+
"_preload_content": False,
|
|
675
|
+
"files": upload_paths,
|
|
676
|
+
"JobId": id,
|
|
677
|
+
"SessionCode": utils.load_stored_session(),
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
response = heappeCore.FileTransferApi(
|
|
681
|
+
configuration.get_api_instance()
|
|
682
|
+
).heappe_file_transfer_upload_files_to_job_execution_dir_post(**parameters)
|
|
621
683
|
else:
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
684
|
+
if not upload_filename:
|
|
685
|
+
raise exceptions.Py4HEAppEInternalException(
|
|
686
|
+
"--upload-filename must not be empty when using --stdin or --base64."
|
|
687
|
+
) from None
|
|
688
|
+
|
|
689
|
+
if upload_from_stdin:
|
|
690
|
+
content = _read_stdin_upload_content()
|
|
691
|
+
else:
|
|
692
|
+
if base64_content is None:
|
|
693
|
+
raise exceptions.Py4HEAppEInternalException(
|
|
694
|
+
"Missing --base64 content for upload."
|
|
695
|
+
) from None
|
|
696
|
+
content = _decode_base64_upload_content(base64_content)
|
|
697
|
+
|
|
698
|
+
response = FileTransferApiExt(
|
|
699
|
+
configuration.get_api_instance()
|
|
700
|
+
).heappe_file_transfer_upload_file_objects_to_job_execution_dir_post(
|
|
701
|
+
files=[InMemoryUploadFile(upload_filename, content)],
|
|
702
|
+
session_code=utils.load_stored_session(),
|
|
703
|
+
job_id=id,
|
|
704
|
+
task_id=taskId,
|
|
705
|
+
_preload_content=False,
|
|
706
|
+
)
|
|
631
707
|
_print_response("Upload results", response.data)
|
|
632
708
|
|
|
633
709
|
except rest.ApiException as exception:
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
from __future__ import absolute_import
|
|
2
|
+
|
|
3
|
+
import mimetypes
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from typing import Any, Optional, Sequence, Tuple, Union, cast
|
|
7
|
+
|
|
8
|
+
from py4heappe.heappe_v6.core.api.file_transfer_api import FileTransferApi
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
UploadContent = Union[bytes, bytearray, memoryview, Any]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
UploadTuple2 = Tuple[str, UploadContent]
|
|
15
|
+
UploadTuple3 = Tuple[str, UploadContent, str]
|
|
16
|
+
UploadEntry = Union["InMemoryUploadFile", UploadTuple2, UploadTuple3]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@dataclass
|
|
20
|
+
class InMemoryUploadFile:
|
|
21
|
+
"""Represents one upload entry for multipart in-memory uploads."""
|
|
22
|
+
|
|
23
|
+
filename: str
|
|
24
|
+
content: UploadContent
|
|
25
|
+
content_type: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _read_upload_bytes(content: UploadContent) -> bytes:
|
|
29
|
+
if isinstance(content, (bytes, bytearray, memoryview)):
|
|
30
|
+
return bytes(content)
|
|
31
|
+
|
|
32
|
+
if hasattr(content, "read"):
|
|
33
|
+
data = content.read()
|
|
34
|
+
if isinstance(data, str):
|
|
35
|
+
return data.encode("utf-8")
|
|
36
|
+
if isinstance(data, (bytes, bytearray, memoryview)):
|
|
37
|
+
return bytes(data)
|
|
38
|
+
raise TypeError("File-like object .read() must return bytes or str.")
|
|
39
|
+
|
|
40
|
+
raise TypeError("Upload content must be bytes-like or a file-like object.")
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def _normalize_upload_entry(
|
|
44
|
+
entry: UploadEntry,
|
|
45
|
+
) -> InMemoryUploadFile:
|
|
46
|
+
if isinstance(entry, InMemoryUploadFile):
|
|
47
|
+
return entry
|
|
48
|
+
|
|
49
|
+
if not isinstance(entry, tuple):
|
|
50
|
+
raise TypeError(
|
|
51
|
+
"Each upload entry must be InMemoryUploadFile or tuple(filename, content[, content_type])."
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
if len(entry) == 2:
|
|
55
|
+
tuple_entry = cast(UploadTuple2, entry)
|
|
56
|
+
return InMemoryUploadFile(filename=tuple_entry[0], content=tuple_entry[1])
|
|
57
|
+
|
|
58
|
+
if len(entry) == 3:
|
|
59
|
+
tuple_entry = cast(UploadTuple3, entry)
|
|
60
|
+
return InMemoryUploadFile(
|
|
61
|
+
filename=tuple_entry[0],
|
|
62
|
+
content=tuple_entry[1],
|
|
63
|
+
content_type=tuple_entry[2],
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
raise TypeError("Upload entry tuple must have 2 or 3 elements.")
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class FileTransferApiExt(FileTransferApi):
|
|
70
|
+
"""Extension methods for file-transfer workflows not covered by generated API."""
|
|
71
|
+
|
|
72
|
+
def heappe_file_transfer_upload_file_objects_to_job_execution_dir_post(
|
|
73
|
+
self,
|
|
74
|
+
files: Sequence[UploadEntry],
|
|
75
|
+
session_code: str,
|
|
76
|
+
job_id: int,
|
|
77
|
+
task_id: Optional[int] = None,
|
|
78
|
+
async_req: Optional[bool] = None,
|
|
79
|
+
_preload_content: bool = True,
|
|
80
|
+
_request_timeout=None,
|
|
81
|
+
):
|
|
82
|
+
"""Upload in-memory content to job execution directory using multipart/form-data."""
|
|
83
|
+
return self.heappe_file_transfer_upload_file_objects_to_job_execution_dir_post_with_http_info(
|
|
84
|
+
files=files,
|
|
85
|
+
session_code=session_code,
|
|
86
|
+
job_id=job_id,
|
|
87
|
+
task_id=task_id,
|
|
88
|
+
async_req=async_req,
|
|
89
|
+
_return_http_data_only=True,
|
|
90
|
+
_preload_content=_preload_content,
|
|
91
|
+
_request_timeout=_request_timeout,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
def heappe_file_transfer_upload_file_objects_to_job_execution_dir_post_with_http_info(
|
|
95
|
+
self,
|
|
96
|
+
files: Sequence[UploadEntry],
|
|
97
|
+
session_code: str,
|
|
98
|
+
job_id: int,
|
|
99
|
+
task_id: Optional[int] = None,
|
|
100
|
+
async_req: Optional[bool] = None,
|
|
101
|
+
_return_http_data_only: Optional[bool] = None,
|
|
102
|
+
_preload_content: bool = True,
|
|
103
|
+
_request_timeout=None,
|
|
104
|
+
):
|
|
105
|
+
"""Upload bytes or file-like objects to /UploadFilesToJobExecutionDir endpoint."""
|
|
106
|
+
if not files:
|
|
107
|
+
raise ValueError("'files' must contain at least one upload entry.")
|
|
108
|
+
|
|
109
|
+
query_params = [("SessionCode", session_code), ("JobId", job_id)]
|
|
110
|
+
if task_id is not None:
|
|
111
|
+
query_params.append(("TaskId", task_id))
|
|
112
|
+
|
|
113
|
+
post_params = []
|
|
114
|
+
for entry in files:
|
|
115
|
+
normalized = _normalize_upload_entry(entry)
|
|
116
|
+
if not normalized.filename:
|
|
117
|
+
raise ValueError("Upload filename must not be empty.")
|
|
118
|
+
|
|
119
|
+
file_bytes = _read_upload_bytes(normalized.content)
|
|
120
|
+
content_type = (
|
|
121
|
+
normalized.content_type
|
|
122
|
+
or mimetypes.guess_type(normalized.filename)[0]
|
|
123
|
+
or "application/octet-stream"
|
|
124
|
+
)
|
|
125
|
+
post_params.append(
|
|
126
|
+
("files", (normalized.filename, file_bytes, content_type))
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
header_params = {
|
|
130
|
+
"Accept": self.api_client.select_header_accept(["application/json"]),
|
|
131
|
+
"Content-Type": self.api_client.select_header_content_type(
|
|
132
|
+
["multipart/form-data"]
|
|
133
|
+
),
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
auth_settings = ["Bearer", "ServiceApiKey"]
|
|
137
|
+
|
|
138
|
+
return self.api_client.call_api(
|
|
139
|
+
"/heappe/FileTransfer/UploadFilesToJobExecutionDir",
|
|
140
|
+
"POST",
|
|
141
|
+
{},
|
|
142
|
+
query_params,
|
|
143
|
+
header_params,
|
|
144
|
+
body=None,
|
|
145
|
+
post_params=post_params,
|
|
146
|
+
files=None,
|
|
147
|
+
response_type="list[FileUploadResultExt]",
|
|
148
|
+
auth_settings=auth_settings,
|
|
149
|
+
async_req=async_req,
|
|
150
|
+
_return_http_data_only=_return_http_data_only,
|
|
151
|
+
_preload_content=_preload_content,
|
|
152
|
+
_request_timeout=_request_timeout,
|
|
153
|
+
collection_formats={},
|
|
154
|
+
)
|