HydroShare has a public RESTful web-service Application Programming Interface (API). This has been developed with the intent of enabling many of the functions that are accessible through the web user interface, to be done programmatically. The API follows OpenAPI standards and is documented at https://www.hydroshare.org/hsapi/
Hsclient is a package that allows users to access and make changes to resources in HydroShare. Users can use it to change metadata, change access levels, and download and upload files. More documentation is available on hsclient at https://hydroshare.github.io/hsclient/
There is a Python Client Library to simplify the use of the API from Python. It can be obtained from PyPI, the Python Package Index (pip install hs_restclient). Documentation is at https://hs-restclient.readthedocs.io/en/latest/, and the source code is in GitHub) https://github.com/hydroshare/hs_restclient.
There is an example Jupyter Notebook that can run on CUAHSI HydroShare that illustrates use of the Python client.