Skip to main content

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

Generated Documentation

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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • destination: destination path of file
  • data: file content
  • noredirect: API parameter
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • destination: destination of file
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • destination: destination of file
  • a_sync: API parameter
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • path: path to source file
  • start_after: API parameter for paging result
  • headers: Passing optional parameter to API
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • verify: 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 url
  • certificate: filename with path to certificate or pkcs12-keystore
  • password: filename with path to key or passphrase for keystore
  • verify: 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)

Source distribution for pyhdlfs 0.0.17
File Size Uploaded Provenance
pyhdlfs-0.0.17.tar.gz 13.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyhdlfs 0.0.17
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page