Developer Guide¶
This section is for developers working on or extending the Hera platform. It covers architecture, data model internals, testing, and how to build new toolkits.
Architecture¶
- Core Concepts - Deep dive into
Project,ToolkitHome,abstractToolkit, anddataToolkitwith class diagrams - Data Layer - MongoDB document model,
datatypes, the repository JSON pipeline, connections, and function caching
Toolkit Implementation¶
- Measurements - GIS, meteorology, and experiment toolkit internals, class hierarchies, coordinate utilities
- Simulations - OpenFOAM, LSM, Gaussian, wind profile, ML/DL, workflow system internals
- Risk Assessment - Agent/effects/injury system, protection policies, risk area algorithms
RAG Search¶
- RAG Search Toolkit - Architecture, indexer, search API, REST server, file watcher, MkDocs plugin, CLI reference
API Reference¶
- API Reference - Auto-generated documentation from Python source code covering all public classes and functions
Testing¶
- Getting Started with Tests - Setting up the test environment and running tests
- Test Flow - Pytest test-session lifecycle, fixtures, repository data loading, and teardown
- Unit Tests - The hermetic unit-test layer under
hera/tests/unit/(pending merge into master)
Roadmap¶
- Roadmap - Planned improvements: contract-first typed interfaces, unified toolkit registry, env var DB config, async DB access, data-handler plugins
Reference¶
-
Coding Guidelines — Naming conventions and style rules for the Hera codebase (snake_case, exceptions, linting).
-
Repository Schema - Detailed schema documentation for the data repository
- Environment Variables - Complete reference of all environment variables