Package: h5pyd
Python client library for HDF5 REST interfaceIntroductionThis repository contains library, test, and examples of h5pyd - a Python package for the
HDF REST interface.The library is provides a high-level interface to the REST specification that is generally
easier to use than invoking http calls directly.The package is based on the popular h5py package and aims to be source compatible with
the h5py high level interface.WebsitesMain website:http://www.hdfgroup.orgSource code:https://github.com/HDFGroup/h5pydForum:https://forum.hdfgroup.org/c/hsdsDocumentation: TBD (buthttp://docs.h5py.org/en/latest/should be helpful)Related ProjectsHSDS:https://github.com/HDFGroup/hsdsHDF Server:https://github.com/HDFGroup/h5servHDF5-JSON:https://github.com/HDFGroup/hdf5-jsonh5py:https://github.com/h5py/h5pyREST API Documentation:https://github.com/HDFGroup/hdf-rest-apiInstallingVia pip:pip install h5pydFrom a release tarball or Git checkout:python setup.py installBy default the examples look for a local instance of HSDS.  See thehttps://github.com/HDFGroup/hsdsfor instructions on installing and running HSDS.These tests are also to designed to work with HSDS (seehttps://github.com/HDFGroup/hsds).  Install HSDS locally, or set environment variables (see next section)
to point to an existing HSDS instance.h5pyd can all be run in serverless mode with either AWS Lambda or direct mode (storage system accessed directly).To use with AWS Lambda, set the HS_ENDPOINT to: “http+lambda://hslambda” where “hslambda” is the name
of the lambda function.  When using AWS Lambda some additional environment variables need to be set:AWS_LAMBDA_GATEWAY- AWS Lambda endpoint, e.g.:https://lambda.us-west-2.amazonaws.comAWS_REGION- Region where the Lambda function is installed, e.g.:us-west-2AWS_SECRET_ACCESS_KEY- Your AWS secret access AWS_SECRET_ACCESS_KEYAWS_ACCESS_KEY_ID- Your AWS access key IDTo use in direct mode, set the HS_ENDPOINT to “local”.  For direct mode, some additional environment
variables are needed to be defined:BUCKET_NAME- name of the S3 Bucket, Azure Container, or Posix top level folderTo use “local” mode with S3, define these variables:AWS_S3_GATEWAY- AWS S3 endpoint, e.g.:https://s3.us-west-2.amazonaws.comAWS_REGION- Region where the Lambda function is installed, e.g.:us-west-2AWS_SECRET_ACCESS_KEY- Your AWS secret access AWS_SECRET_ACCESS_KEYAWS_ACCESS_KEY_ID- Your AWS access key IDTo use “local” mode with Azure, defined these variables:AZURE_CONNECTION_STRING- The connection string for your Azure storage accountTo use “local” with Posix storage, define these variables:ROOT_DIR- The top level directory used for storage (i.e. the parent directory of “buckets”)H5PYD Command Line AppsServeral utility applications are included with this package:hsconfigure- save endpoint, username, and password in config fileshsacl- read/update ACL (access control list) for a given folder or domainhscopy- copy a domainhsrm- delete a domain or folderhsdiff- compare HDF5 file with HSDS domainhsget- create an HDF5 file from HSDS domainhsinfo- get server status or domain detailshsload- upload an HDF5 file to an HSDS domainhsls- list contents of domain or folderhsmv- change the naame of a domainhstouch- create new domain or folderUse the--helpoption to get usage information for each command.TestingSetup the following environment variables that inform h5pyd which endpoint and username to use:HS_ENDPOINT- “http://127.0.0.1:5000” for HSDS installed locally or appropriate remote endpointHS_USERNAME- “test_user1” or your preferred usernameHS_PASSWORD- password for above username - “test” for test_user1 with local HSDS installTEST2_USERNAME- “test_user2” or your preffered usernameTEST2_PASSWORD- password for above username - “test” for test_user2 with local HSDS installH5PYD_TEST_FOLDER- server folder that will be used for generated files.  Example: “/home/test_user1/h5pyd_test/”. Use hstouch command to create the folder before running the test, e.g.:$ hstouch /home/test_user1/h5pyd_test/Run:$python testall.pyto execute the test suite.UninstallingJust remove the install directory and all contents to uninstall.Reporting bugs (and general feedback)Create new issues athttp://github.com/HDFGroup/h5pyd/issuesfor any problems you find.For general questions/feedback, please use the HSDS forum (https://forum.hdfgroup.org/c/hsds).