Installation
Requirements
- Python 3.11 or newer (3.11, 3.12, 3.13)
- Operating system: Linux, macOS, or Windows
Install from PyPI
pip install hermes-pltThe package name on PyPI is hermes-plt. After installation, you can import it as hermes:
import hermes as hrDependencies
Hermes installs the following dependencies automatically:
| Package | Purpose |
|---|---|
polars | Primary DataFrame library |
pyarrow | Arrow interchange and Parquet support |
yfinance | Yahoo Finance data (optional via hermes-plt[yfinance]) |
The compiled hermes._rust extension (built with PyO3) provides the HTTP client and the CLI; it is bundled with the wheel, so no Rust toolchain is needed on your machine.
Environment Variables
Create a .env file in your project root (or export these in your shell) to record your API keys:
# FRED connector (Federal Reserve Economic Data)
FRED_API=
# Finnhub connector (financial data)
FINNHUB_API=
# OpenSanctions connector
OPEN_SANCTIONS_API=
# SEC EDGAR connector (User-Agent identification)
SEC_USERNAME=
SEC_EMAIL=
# Reserved (newsdata source)
NEWS_DATA_API=Note: these variables are the documented convention in
.env.example. Hermes does not auto-load.envfiles yet. Connectors no longer take keys as constructor arguments — they read from the credential manager viahr.set_cred(name, value)(see Configuration).
| Variable | Connector | Notes |
|---|---|---|
FRED_API | FRED connector | API key from fred.stlouisfed.org |
FINNHUB_API | Finnhub connector | API key from finnhub.io |
OPEN_SANCTIONS_API | OpenSanctions connector | API key from opensanctions.org |
SEC_USERNAME | SEC EDGAR connector | Your name for User-Agent header |
SEC_EMAIL | SEC EDGAR connector | Your email for User-Agent header |
NEWS_DATA_API | Reserved (newsdata source) | Not yet wired to a connector |
Not all connectors require API keys. World Bank, IMF, Binance, and YFinance work without any configuration.
Verify Installation
hermes --helpOr from Python:
from importlib.metadata import version
print(version("hermes-plt"))Docker (optional)
No official Docker image is published yet. You can build your own:
FROM python:3.12-slim
RUN pip install hermes-pltNext Steps
- Quickstart — run your first pipeline
- Configuration — full configuration reference