Skip to main content

pypi PyPI - License PyPI - Python Version test codecov Documentation Status

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)

Source distribution for hermes-client 1.0.1
File Size Uploaded
hermes_client-1.0.1.tar.gz 259.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hermes-client 1.0.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.0

2 release files

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