Skip to main content

Foundational intelligence data platform for acquiring, validating, normalizing, storing, and serving intelligence datasets

Project description

Hermes

Universal data acquisition and feature engineering SDK for intelligence, finance, and defense applications.

Hermes fetches data from 40+ free global sources, normalizes it, engineers intelligence-ready features, and exposes everything through a clean Python interface (with CLI and TUI). It is not an API server — it is an SDK you import, run, and own.

pip install hermes-plt
# or
uv add hermes-plt

Quickstart

from hermes import Hermes

hr = Hermes()

# FRED — US macro data (free key required)
hr.fred.connect("YOUR_API_KEY")
gdp = hr.fred.get_series("GDP")

# FRED — search by keyword
results = hr.fred.search_series("inflation")

# FRED — multiple series in one DataFrame
multi = hr.fred.get_multiple_series(["GDP", "UNRATE", "CPIAUCSL"])

# World Bank — no key needed
china_gdp = hr.world_bank.get_data("NY.GDP.MKTP.CD", country="CHN")

# World Bank — browse indicators
hr.world_bank.search_indicators("gdp")

# Feature engineering
from hermes.features import FeatureEngineer
fe = FeatureEngineer()
risk = fe.build_country_risk_features(country="UKR", date="2026-07-14")

Every connector returns a pandas DataFrame. Optional export=True saves to JSON, CSV, Parquet, or Pickle.


Interfaces

Interface Command Purpose
Python SDK from hermes import Hermes Primary interface
CLI $ hermes fetch <source> <indicator> Scripting, automation
TUI $ hermes tui Terminal dashboard
$ hermes fetch fred GDP --country USA --start 2020-01-01
$ hermes fetch world-bank NY.GDP.MKTP.CD --country CHN
$ hermes features build --country UKR --output risk_features.parquet
$ hermes connectors list
$ hermes cache clear --older-than 7d

Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│                              HERMES SDK                                     │
│                    from hermes import Hermes                                │
│                                                                             │
│  ┌───────────────────────────────────────────────────────────────────────┐  │
│  │                         CONNECTOR LAYER                               │  │
│  │  FRED  World Bank  IMF  GDELT  NewsAPI  UN Comtrade  BIS  OECD  ...   │  │
│  └───────────────────────────────────────────────────────────────────────┘  │
│                                   ▼                                         │
│  ┌───────────────────────────────────────────────────────────────────────┐  │
│  │                      CORE / CLEANING LAYER                            │  │
│  │  • Schema normalization (ISO dates, ISO country codes, USD values)    │  │
│  │  • Missing value handling (forward-fill, interpolation)               │  │
│  │  • Frequency alignment (D → M → Q → A)                                │  │
│  │  • Outlier detection (IQR, Z-score, MAD)                              │  │
│  │  • Deduplication (hash-based + fuzzy)                                 │  │
│  └───────────────────────────────────────────────────────────────────────┘  │
│                                   ▼                                         │
│  ┌───────────────────────────────────────────────────────────────────────┐  │
│  │                   FEATURE ENGINEERING LAYER                           │  │
│  │  ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────┐  │  │
│  │  │     Economic     │ │  Geopolitical   │ │       Composite        │  │  │
│  │  │   • Growth       │ │   • Conflict    │ │  • Country Risk Score  │  │  │
│  │  │   • Volatility   │ │   • Diplomatic  │ │  • Financial Stress    │  │  │
│  │  │   • Inflation    │ │   • Protest     │ │  • Supply Chain Vuln.  │  │  │
│  │  │   • External     │ │   • Governance  │ │  • Social Stability    │  │  │
│  │  └─────────────────┘ └─────────────────┘ └─────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────────────────┘  │
│                                   ▼                                         │
│  ┌───────────────────────────────────────────────────────────────────────┐  │
│  │                   STORAGE & METADATA LAYER                            │  │
│  │  Raw Cache (Parquet) · Feature Store · Metadata Registry · Lineage    │  │
│  └───────────────────────────────────────────────────────────────────────┘  │
│                                   ▼                                         │
│  ┌───────────────────────────────────────────────────────────────────────┐  │
│  │                      USER INTERFACES                                  │  │
│  │        Python SDK (Primary)    CLI    TUI (Terminal Dashboard)        │  │
│  └───────────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘

Feature Engineering

Hermes transforms raw connector output into intelligence-ready features through a declarative pipeline. Features are versioned, cached, and documented in the metadata registry.

Economic

Category Examples Input Sources Output Use
Growth GDP YoY/QoQ, industrial production growth FRED, WB, IMF Risk scoring, forecasting
Volatility Rolling std (12m), max drawdown, CV FRED, IMF Anomaly detection
Stress Credit spread, yield curve inversion FRED, BIS Financial risk
External Current account/GDP, FX reserves, debt/GDP WB, IMF Sovereign risk
Inflation CPI YoY, PPI, hyperinflation flag FRED, WB Monetary stability
Labor Unemployment, youth unemployment FRED, WB, OECD Social stability

Geopolitical

Category Examples Input Sources Output Use
Conflict Event count, Goldstein scale, battle deaths GDELT, UCDP Security risk
Diplomatic Treaty signings, diplomatic expulsions GDELT Political risk
Protest Event count, violence level, spread GDELT Social stability
Governance WGI composite, corruption, rule of law WB, V-DEM Institutional risk
Media News sentiment, narrative shift velocity NewsAPI, GDELT GKG Trend analysis

Sources

Build Order

Prio Connector Key Required Aegis Uses Atlas Uses
W1 FRED Free (any email) Economic risk, forecasting Macro context
W1 World Bank None GDP, poverty, governance Country properties
W2 IMF None Financial stats, BOP, WEO Financial context
W3 BIS None Banking stress, credit Financial institutions
W3 UN Comtrade Free (any email) Trade flows, sanctions Trade relationships
W4 GDELT None Conflict, protest, events Event / actor nodes
W4 UCDP None Armed conflict baseline Conflict nodes
W5 NewsAPI Free (any email) RAG, sentiment, trends Entity extraction
W5 FAO None Food security, prices Commodity nodes
W6 OECD None Policy, tax, trade Policy context
W6 Eurostat None EU economic data EU country properties
W7 EIA Free (any email) Energy prices, production Energy nodes
W7 IEA Free account Energy dependence Energy relationships
W8 USGS None Minerals, earthquakes Mineral / location nodes
W8 V-DEM Free download Democracy, regime type Governance edges
W9 Freedom House Free download Political rights Freedom properties
W9 Transparency Int. Free download Corruption index Corruption properties
W10 ND-GAIN None Climate vulnerability Climate risk properties
W10 EM-DAT Free account Natural disasters Disaster event nodes
W11 NASA POWER None Climate data Environmental context
W11 Open-Meteo None Weather, forecasts Agricultural risk
W12 Wikidata None Entity resolution Entity enrichment
W12 OpenStreetMap None Geocoding, boundaries Location nodes

Complete Inventory (40+ sources)

Economic & Financial — FRED ✅ · World Bank ✅ · IMF · BIS · UN Comtrade · OECD · Eurostat · Penn World Table · Maddison Project · CEPII

Geopolitical & Conflict — GDELT · UCDP · PRIO / Prio Grid · Correlates of War · SIPRI Arms Transfers · Polity IV / V-DEM · CIRI Human Rights · Freedom House · Transparency International · Reporters Without Borders · Fragile States Index · Fund for Peace

Environmental, Social & Commodity — FAO · IEA · EIA · USGS · ND-GAIN · EM-DAT · NASA POWER · Open-Meteo · Our World in Data · UN Data

Media, Knowledge & Geospatial — NewsAPI · GDELT GKG · Wikidata · Wikipedia API · OpenStreetMap · Natural Earth · Sentinel Hub · OpenCorporates

All sources are free to access. None require an institutional (.edu/.org/.gov) email.


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_plt-0.1.16.tar.gz (210.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_plt-0.1.16-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file hermes_plt-0.1.16.tar.gz.

File metadata

  • Download URL: hermes_plt-0.1.16.tar.gz
  • Upload date:
  • Size: 210.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hermes_plt-0.1.16.tar.gz
Algorithm Hash digest
SHA256 8d73eb6eeda50b9b49e3824b8e308b8ae2add748f722b64f4d55c78e47c58a81
MD5 aca08c1d53b9d4abe2892eaa399132e8
BLAKE2b-256 f78693373e9f2db480209333ad02218867b7ac42c289085a05dbe2eaa00935be

See more details on using hashes here.

File details

Details for the file hermes_plt-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: hermes_plt-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hermes_plt-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 16d189bc4e1cf09f6a2fc2faf26a20a0f88f280211bee29ccc95044648229667
MD5 4c58b52a962c152a8c879b44abb02293
BLAKE2b-256 9d4657c60fbb05006a29a7a16e97c7fe386c0ae9ad8315734354ff67bb9ec573

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page