Metadata-Version: 2.4
Name: gridappsd-field-bus
Version: 2026.1.1b2
Summary: GridAPPS-D Field Bus Implementation
Project-URL: Repository, https://github.com/GRIDAPPSD/gridappsd-python
Project-URL: Homepage, https://gridappsd.readthedocs.io
Author-email: "C. Allwardt" <3979063+craig8@users.noreply.github.com>, "P. Sharma" <poorva.sharma@pnnl.gov>, "A. Fisher" <andrew.fisher@pnnl.gov>
License-Expression: BSD-3-Clause
Keywords: activemq,grid,gridappsd,library,powergrid,simulation
Requires-Python: <4.0,>=3.10
Requires-Dist: cim-graph>=0.4.3a6
Requires-Dist: click>=8.1
Requires-Dist: gridappsd-python>=2025.3.1a1
Description-Content-Type: text/markdown

# gridappsd-field-bus

A distributed field bus communication framework for the [GridAPPS-D](https://gridappsd.readthedocs.io) platform. Provides hierarchical agent-based communication across power grid field devices, enabling decentralized control and context management at the substation, feeder, switch area, and secondary area levels.

## Features

- **Message Bus Abstraction** - Pluggable message bus architecture with support for STOMP, GridAPPS-D, and VOLTTRON connection types
- **Distributed Agents** - Hierarchical agent framework (`SubstationAgent`, `FeederAgent`, `SwitchAreaAgent`, `SecondaryAreaAgent`) for multi-level grid communication
- **Context Management** - Topology-aware context managers that provide neighborhood information to distributed agents via CIM-Graph
- **Field Proxy Forwarding** - Bridges field device buses to the operational technology (OT) bus when direct connections are unavailable
- **Protocol Support** - Extensible protocol transformers for IEEE 2030.5 and DNP3 field protocols

## Installation

```bash
pip install gridappsd-field-bus
```

## Requirements

- Python >= 3.10
- [gridappsd-python](https://pypi.org/project/gridappsd-python/)
- [cim-graph](https://pypi.org/project/cim-graph/)

## CLI Commands

**Start the field proxy forwarder:**

```bash
start-field-bus-forwarder --username app_user --password 1234App
```

**Start centralized context managers:**

```bash
context_manager --feeder_id <feeder_mrid> --simulation_id <sim_id>
```

## Documentation

See the main [GridAPPS-D Python repository](https://github.com/GRIDAPPSD/gridappsd-python) for full documentation.
