Open-FDD

The open-fdd package (open_fdd/ in this repository) is a rules engine for building science and HVAC workflows: you define fault checks in YAML, map columns on a pandas DataFrame, and run them with RuleRunner. It is published to PyPI as a small, dependency-conscious wheel (pandas, NumPy, PyYAML, pydantic).

Full platform (data model, APIs, Docker, Brick/223P tooling beyond column_map): open-fdd-afdd-stack — docs/ — it uses this library under the hood.


What it does

  • Loads rule definitions from YAML (bounds, flatline, hunting, expressions, schedules, weather gates, …).
  • Maps Brick, Haystack, DBO, 223P, or vendor names to DataFrame columns via column_map (dict, manifest, or composite resolvers) — same YAML can target different ontologies by swapping the map.
  • Runs checks over time-indexed or ordered data and returns structured fault results (see open_fdd.schema).

Desktop mode is also available and under active construction in this repository. The current desktop path uses local Feather-backed ingestion plus optional batched rule execution for large datasets.

Bring your own data: CSV exports, historian extracts, lab benches, or notebooks. The engine does not connect to databases or field buses by itself.


Quick start

pip install open-fdd

From a git checkout:

git clone https://github.com/bbartling/open-fdd.git
cd open-fdd
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

See Getting started and examples/README.md in the repository for runnable entrypoints.


Behind the firewall; cloud export is vendor-led

Open-FDD is meant to run on the building network. Vendors and MSI platforms that need cloud analytics pull from your deployment over the LAN; Open-FDD does not push to their cloud for you. See Cloud export example for a sample integration script.


Documentation

Section Description
Getting started Install, tests, examples
Rules overview Rule types and YAML structure
Expression rule cookbook Expressions, ontology labels, schedule & weather gates
Column map resolvers Brick / Haystack / DBO / 223P → columns
Engine API RuleRunner, loaders, resolvers
Desktop app (under construction) Local gateway (open_fdd.gateway), MCP, React UI, Feather storage, batched rule runs
Data modeling & platform (pointer) Full stack docs live in open-fdd-afdd-stack
Open FDD Claw (OpenClaw integration) Gateway, host startup order, Codex-aligned LLM, skills + workspace bootstrap (contrib/openclaw-*)
How-to guides PyPI releases, verification, operations
Appendix Technical reference, developer guide

License

MIT — see the repository LICENSE file.