HERMES Python Client
This Python client provides a simple interface to the HERMES API, allowing users to easily access and interact with the HERMES data.
Installation
You can install the client using pip:
pip install hermes-client
Generally, the client is compatible with the respective vMajor.minor version of the HERMES webservice. For example, the hermes-client version 0.1.x is compatible with the HERMES webservice version 0.1.x.
Usage
You will mainly interact with two client classes. The HermesClient as well as the ForecastSeriesClient. The former should mainly be used to explore the available Projects and Forecastseries, while the latter can be used to access the data linked to specific ForecastSeries, Forecasts and ModelRuns.
Find the correct ForecastSeries
To find the correct ForecastSeries, you can use the HermesClient to search for ForecastSeries by name or other attributes. For example:
from hermes_client import HermesClient
client = HermesClient(url="https://example.com/api/")
projects = client.list_projects()
projects
This will return a list of available projects.
[{'oid': 'c9d163c4-02ea-4d4d-9ef5-26e82c025c92',
'name': 'project_induced',
'starttime': '2022-04-21T00:00:00',
'endtime': '2022-04-21T23:59:59',
'description': 'This is a test project',
'creationinfo': {'creationtime': '2025-05-22T16:51:41'}},
...
Likewise, you can list all ForecastSeries within a project:
forecastseries = client.list_forecastseries(project="project_induced")
Which will again return a list of ForecastSeries
[{'oid': 'c9d163c4-02ea-4d4d-9ef5-26e82c025c92',
'name': 'forecastseries_induced',
...
},
...
]
Access ForecastSeries data
Once you have identified the correct ForecastSeries, you can use the ForecastSeriesClient to access the data. For example:
from hermes_client import ForecastSeriesClient
client = ForecastSeriesClient(
url="https://example.com/api/",
forecastseries="c9d163c4-02ea-4d4d-9ef5-26e82c025c92"
)
client.forecasts
Which will return a list of ForecastClient objects, each allowing you to access the data for a specific forecast:
[Forecast(COMPLETED, 2022-04-21 15:00:00, 2022-04-21 18:00:00),
Forecast(COMPLETED, 2022-04-21 16:00:00, 2022-04-21 18:00:00),
Forecast(COMPLETED, 2022-04-21 17:00:00, 2022-04-21 18:00:00)]
You can then access the data for a specific forecast by using the ForecastClient:
forecast = client.forecasts[0]
injectionplan_name = forecast.metadata.injectionplans[0]
model_name = forecast.metadata.modelconfigs[0]
results = forecast.get_results(injectionplan_name, model_name)
This will return a ForecastGRRateGrid object (or ForecastCatalog, depending on the model result types).
Further Information
For more information on the available methods and attributes, please refer to the API reference.
The documentation will be extended in the future to include more examples and use cases - The API Reference should however give a good overview of the available methods and attributes.
Release files for hermes-client 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hermes_client-1.0.1.tar.gz | 259.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hermes_client-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:302.6 kB
Release files / hermes_client-1.0.1.tar.gz
| Download URL | hermes_client-1.0.1.tar.gz |
|---|---|
| Size | 259.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42611a78234c403657c0f528a3131613cd999ee294a2b6fbf645b13582341743
|
|
BLAKE2b-256 checksum How to use checksums |
2cd7c5999c18cbb70669d16de67d4cdf3c32b38a83fa5ec1e423e725fc669e3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 11, 2025.
Transparency logRelease files / hermes_client-1.0.1-py3-none-any.whl
| Download URL | hermes_client-1.0.1-py3-none-any.whl |
|---|---|
| Size | 43.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
053263f805fdf8ed0f25c35b8e69f97241245fcc6506f1a41a65636579a37fd2
|
|
BLAKE2b-256 checksum How to use checksums |
b6c530321bdf4c087cc8a2296757238b134164bec78be04bf9acaf10fb992592
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 11, 2025.
Transparency log