PyHDLFS
PythonAPI for SAP HDLFS using the RestAPI
For authentication both options are supported: key/certification and keystore/passphrase. The suffix of the certification file is used for selecting the authentication method.
- Certification: .crt or .pem
- Keystore: .pkcs12, .p12 or .pfx
Status: In Progress, unsupported
Table of Contents
hdlfs
get_path_content
def get_path_content(response: dict) -> list
Extracts the path items from response of LISTSTATUS API
Arguments:
response: Response from LISTSTATUS
Returns:
List of path items (folders and files)
get_recursive_path_content
def get_recursive_path_content(response: dict) -> list
Extracts the path items from response of LISTSTATUS_RECURSIVE API
Arguments:
response: Response from LISTSTATUS_RECURSIVE
Returns:
List of path items (folders and files)
hdlfs_api
def hdlfs_api(method: str, operation: str) -> dict
DECORATOR for all API-calls
Arguments:
method: HTTP-method [get, put, ..]operation: RESTAPI name
Returns:
response of Rest API
upload
@hdlfs_api(method='put', operation='CREATE')
def upload(endpoint: str,
certificate: str,
password: str,
destination='',
data="",
noredirect=False,
headers={},
verify=True) -> dict
Upload file to HDFS using CREATE-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystoredestination: destination path of filedata: file contentnoredirect: API parameterheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
rename
@hdlfs_api(method='put', operation='RENAME')
def rename(endpoint: str,
certificate: str,
password: str,
path='',
destination='',
headers={},
verify=True) -> dict
Rename/Move file in HDFS with RENAME-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystorepath: path to source filedestination: destination of fileheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
copy
@hdlfs_api(method='put', operation='COPY')
def copy(endpoint,
certificate,
password,
path='',
destination='',
a_sync=False,
headers={},
verify=True)
Copy file in HDFS with Copy-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystorepath: path to source filedestination: destination of filea_sync: API parameterheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
delete
@hdlfs_api(method='del', operation='DELETE')
def delete(endpoint: str,
certificate: str,
password: str,
path='',
headers={},
verify=True) -> dict
Delete file in HDFS with DELETE-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystorepath: path to source fileheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
file_status
@hdlfs_api(method='get', operation='GETFILESTATUS')
def file_status(endpoint: str,
certificate: str,
password: str,
path='',
headers={},
verify=True)
Get file status
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystorepath: path to source fileheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
list_path
@hdlfs_api(method='get', operation='LISTSTATUS')
def list_path(endpoint: str,
certificate: str,
password: str,
path='',
headers={},
verify=True)
Get all items of folder by using LISTSTATUS-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystorepath: path to source fileheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
list_path_recursive
@hdlfs_api(method='get', operation='LISTSTATUS_RECURSIVE')
def list_path_recursive(endpoint: str,
certificate: str,
password: str,
path='',
start_after=None,
headers={},
verify=True) -> dict
Get all items of folder and sub-folders by using LISTSTATUS_RECURSIVE-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystorepath: path to source filestart_after: API parameter for paging resultheaders: Passing optional parameter to APIverify: Enables/ disables server verification
Returns:
response
whoami
@hdlfs_api(method='get', operation='WHOAMI')
def whoami(endpoint: str, certificate: str, password: str, verify=True)
Get user information by WHOAMI-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystoreverify: Enables/ disables server verification
Returns:
response
get_operations_status
@hdlfs_api(method='get', operation='GETOPERATIONSTATUS')
def get_operations_status(endpoint: str,
certificate: str,
password: str,
token='',
verify=True) -> dict
Get operation status by GETOPERATIONSTATUS-API
Arguments:
endpoint: endpoint urlcertificate: filename with path to certificate or pkcs12-keystorepassword: filename with path to key or passphrase for keystoreverify: Enables/ disables server verification
Returns:
response
Metadata
Release files for pyhdlfs 0.0.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyhdlfs-0.0.17.tar.gz | 13.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyhdlfs-0.0.17-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.1 kB
Release files / pyhdlfs-0.0.17.tar.gz
| Download URL | pyhdlfs-0.0.17.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
409c3aa40bae25285ff0f0e2c96c375a4310d8b052bdd13dce70c68a23e5ec0f
|
|
BLAKE2b-256 checksum How to use checksums |
84be9193892907180c61b17d7fd212f554b5f1b238bd6636534e5c800a8481ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.24.1
|
Release files / pyhdlfs-0.0.17-py3-none-any.whl
| Download URL | pyhdlfs-0.0.17-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4ea2395759b4661bcf0ca0ab933d0fe4f6772185b33046f24b1636c12861ba2
|
|
BLAKE2b-256 checksum How to use checksums |
d181383c1bb99d36c93d12218052c3efc23284d1a1f79b96fe6681c861984526
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.24.1
|
Security for pyhdlfs 0.0.17
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.