Skip to main content

Py4HEAppE is client library for easy access to HEAppE Middleware

Project description

Py4HEAppE (Python for HEAppE Middleware)

Py4HEAppE simplifies access to the HEAppE features by providing a high-level Python interface that abstracts away the complexities of direct API interactions. This allows users to focus on their core tasks without worrying about the underlying details of API communication. It can be usable in two modes depends what the end-user needs:

  • HEAppE CLI Commands
  • HEAppE API Wrapper Library

Key Benefits

Ease of Use:

Py4HEAppE provides a straightforward and intuitive interface for interacting with the HEAppE API. Users can perform complex operations with simple function calls.

Abstraction:

The library abstracts the intricacies of the HEAppE API, allowing users to work with high-level concepts and operations.

Efficiency:

By using Py4HEAppE, users can quickly integrate HEAppE functionalities into their Python applications, reducing development time and effort.

Consistency:

The library ensures consistent and reliable communication with the HEAppE API, handling errors and edge cases gracefully.

Supported HEAppE versions

Py4HEAppE HEAppE Version Notes
2.7.X 6.4.X, 6.X.X, 5.X.X 4.X.X W/O Admin/File sections in CLI
2.6.X 6.3.X, 6.2.X 6.1.X, 5.X.X, 4.X.X W/O Admin/File sections in CLI
2.5.X 6.3.X, 6.2.X 6.1.X, 5.X.X, 4.X.X W/O Admin/File sections in CLI
2.4.X 6.1.X, 6.0.X, 5.X.X, 4.X.X W/O Admin/File sections in CLI
2.3.X 6.0.x, 5.0.X, 4.X.X W/O Admin/File sections in CLI
2.2.X 5.0.X, 4.3.X, 4.2.X W/O Admin/File sections in CLI
2.1.X 5.0.X, 4.3.X, 4.2.X W/O Admin/Job/File sections in CLI
2.0.X 5.0.X W/O Admin/Job/File sections in CLI
1.X.X 4.3.X, 4.2.X W/O Admin/Job/File sections in CLI

Getting Started

Prerequisites

  • Python (version 3.11)
  • Pip (package installer)
  • Access to Deployed HEAppE instance (HEAppE instance URL and HPC project identificator)

Installation

pip install Py4HEAppE

Note: In some cases, you can obtain a warning message like this "WARNING: The script py4heappe.exe is installed in 'C:\Users\user\AppData\Roaming\Python\Python311\Scripts' which is not on PATH." If you obtained a similar warning message, it is necessary to add the mentioned path into your operation system PATH variable or use a path with an executable file (i.e. C:\Users\user\AppData\Roaming\Python\Python311\Scripts\py4heappe.exe).

HEAppE CLI

The HEAppE CLI (Command Line Interface) provides a convenient way to interact with the HEAppE Middleware directly from your terminal. It allows users to perform various operations such as authentication, job management, and information retrieval without needing to write any code. This makes it an ideal tool for end-users who need to manage HEAppE Instance efficiently.

Usage

For using HEAppE CLI it is neeaded to initializing Py4HEAppE for usage with a specific HEAppE Instance (It is necessary to call for the first usage). Command requires HPC project accounting string and HEAppE Instance URL.

# Initial Setup
py4heappe Conf Init

All mentioned functions are aggregated to CLI's specific commands groups (commands aggregations). To do so, type the following to provide help on how to use managers via CLI.

# List of commands groups (commands aggregations)
py4heappe --help

Available Commands Groups (commands aggregations):

# Authentication commands group
py4heappe Auth --help

# Command Template Management commands group
py4heappe CmdTemp --help

# Information commands group
py4heappe Info --help

# Job Management commands group
py4heappe Job --help

# Report commands group
py4heappe Report --help

Note: On Windows operation system need to use "py4heappe.exe" instead of "py4heappe".

(back to top)

HEAppE API Wrapper Library

In this mode, the Py4HEAppE package is used as a wrapper for HEAppE API specification. It allows users to perform various operations from HEAppE API, such as authentication, job management, and information retrieval, without needing to write their API wrapper code. It can be easily integrated with internal Python projects that HEAppE Middleware wants to be used. More information about usability can be found in the section below.

Usage

It is required to specify following modules in "requirements.txt" file.

paramiko>=4.0.0
scp==0.15.0
urllib3>=2.0.2

The code snapshot illustrated an example of "how to" obtain cluster information from the HEAppE Instance. For more detailed examples of basic HPC workflow, please refer to the example.py file.

import json
import os
import time
from io import StringIO
from pathlib import Path

import py4heappe.core as hp

print("\nFetching cluster info...")
lac_body = {
    "_preload_content": False
}

ciEndpoint = hp.ClusterInformationApi(api_instance)
r = ciEndpoint.heappe_cluster_information_list_available_clusters_get(**lac_body)
r_data = json.loads(r.data)
print(json.dumps(r_data, indent = 3))

(back to top)

Acknowledgement

e-Infra CZ This work was supported by the Ministry of Education, Youth and Sports of the Czech Republic through the e-INFRA CZ (ID:90254)

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py4heappe-2.7.0.tar.gz (580.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py4heappe-2.7.0-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file py4heappe-2.7.0.tar.gz.

File metadata

  • Download URL: py4heappe-2.7.0.tar.gz
  • Upload date:
  • Size: 580.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for py4heappe-2.7.0.tar.gz
Algorithm Hash digest
SHA256 d6c27a61b39be5d4e1341084039027b78180fb2f22e0ac8169e2f5d9179d4df7
MD5 031d0b24b59e290e55e2d24cb6d20efd
BLAKE2b-256 221f5479422b16082bfb1fffbec2e565631485d07d4d8f8aad46a195b9508374

See more details on using hashes here.

File details

Details for the file py4heappe-2.7.0-py3-none-any.whl.

File metadata

  • Download URL: py4heappe-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for py4heappe-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 971f9a9bbd96e1bb20df83a2e831a14afe003ffd60740d3b48d7ded07ba5c8e7
MD5 82d1197b5344b4d5d3a3e94df373c60b
BLAKE2b-256 9bd62b74ce9a9affa884e1c501fd7d6ab2eaa81acfed2f160ea8268ca47d46a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page