Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
1c61bd9
feat: add routing strategies, docs, and deep-dive fixes
AadilLatif Jul 16, 2026
5a799a6
feat(ui): scaffold UI API and map frontend
AadilLatif Jul 16, 2026
c4f5f2c
feat(ui): add Fix Violations button powered by gdm-flow
AadilLatif Jul 21, 2026
3b17f5d
Add existing-graph routing, capacity-distance clustering, and UI studio
AadilLatif Jul 23, 2026
390d219
Add DiGress-biased weighted-Steiner routing strategy
AadilLatif Jul 23, 2026
ab0cce3
feat(graph): polygon-confined spring layout for abstract graphs
AadilLatif Jul 23, 2026
f01d7d5
fix(mapper): synthesize a transformer when no catalog match exists
AadilLatif Jul 23, 2026
33c42a6
refactor: migrate MCP server to SDK 2.0 and extract routing algorithm…
AadilLatif Jul 30, 2026
708a22c
fix: address CodeFactor security and quality warnings
AadilLatif Jul 30, 2026
d5cdf0d
fix: update MCP server test assertions for new tool count and resourc…
AadilLatif Jul 30, 2026
dc79159
refactor: reduce method complexity flagged by CodeFactor
AadilLatif Jul 30, 2026
6310dd2
refactor: decompose complex JS functions and secondary strategy method
AadilLatif Jul 30, 2026
8baf784
refactor: decompose edge_equipment_mapper to reduce cyclomatic comple…
AadilLatif Jul 30, 2026
bd0f4ac
refactor: split create_app into _register_* route groups
AadilLatif Jul 30, 2026
14e34da
ci: add .codefactor.yml to suppress false-positive complexity on rout…
AadilLatif Jul 30, 2026
2f80705
chore: remove ineffective .codefactor.yml (config is web-UI only)
AadilLatif Jul 30, 2026
abd9a78
ci: re-trigger workflows
AadilLatif Jul 30, 2026
081e3c4
ci: trigger test workflows on push to feature/ui
AadilLatif Jul 30, 2026
72d8ed6
Merge branch 'main' into feature/ui
AadilLatif Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/pull_request_tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: Pytest

on: pull_request
on:
push:
branches: [feature/ui]
pull_request:

jobs:
test:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Tests

on:
push:
branches: [main, develop]
branches: [main, develop, feature/ui]
pull_request:
branches: [main, develop]

Expand Down
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -164,3 +164,13 @@ cache

# macOS Finder metadata
.DS_Store

# Research papers (PDFs not tracked)
.papers/

# Local OSM PBF dumps (large binaries — do not commit)
.dump/

# GATES build artifacts (generated distribution systems)
gates_system_*.json
gates_system_*_time_series/
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ A Python framework for building synthetic power distribution feeder models from
- **Phase Balancing** — Automatically balance phases across distribution transformers
- **Voltage Mapping** — Assign voltage levels throughout the distribution network based on transformer topology
- **Visualization** — Built-in Plotly-based plotting for parcels, networks, and phase/voltage overlays
- **Interactive UI Studio** — Browser-based workflow for parcel fetch, clustering, strategy selection, graph build, and side-by-side comparisons
- **Simulator Export** — Write models to OpenDSS, CYME, Synergi, and other simulators via Grid Data Models

## Installation
Expand Down Expand Up @@ -42,10 +43,30 @@ pip install -e ".[doc]"
# MCP server (AI agent integration)
pip install -e ".[mcp]"

# UI API + browser studio
pip install -e ".[ui]"

# Everything
pip install -e ".[dev,doc,mcp]"
pip install -e ".[dev,doc,mcp,ui]"
```

## UI Studio

NREL-shift includes a FastAPI-backed UI that exposes core modeling workflows through a browser interface.

```bash
pip install -e ".[ui]"
shift-ui-server
```

Open `http://127.0.0.1:8000` to access the UI. The first vertical slice includes:

- map-assisted source selection,
- parcel fetch and clustering,
- routing/secondary strategy selection,
- graph build and strategy comparison,
- mapper/system build endpoints ready for UI wiring.

## Quick Start

The typical workflow has four stages: **fetch data → build graph → configure mappers → build system**.
Expand Down Expand Up @@ -167,6 +188,7 @@ These guides walk through individual stages of the workflow:
| [Mapping Voltages](./docs/usage/mapping_voltages.md) | Assigning voltage levels via transformer topology |
| [Mapping Equipment](./docs/usage/mapping_equipment.md) | Mapping loads, sources, and catalog equipment |
| [Building a System](./docs/usage/building_system.md) | Assembling the final distribution system model |
| [UI Studio](./docs/usage/ui_studio.md) | Running and using the browser-based UI/API workflow |

### MCP Server (AI Agent Integration)

Expand Down
4 changes: 4 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,16 @@ execute:

only_build_toc_files: true

bibtex_bibfiles:
- references.bib

sphinx:
extra_extensions:
- sphinx.ext.autodoc
- sphinx.ext.autosummary
- sphinx.ext.napoleon
- sphinxcontrib.autodoc_pydantic
- sphinxcontrib.bibtex
config:
autodoc_member_order: bysource
autoclass_content: both
6 changes: 6 additions & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
format: jb-book
root: index
parts:
- caption: What's New
chapters:
- file: new_features
- caption: User Guides
chapters:
- file: example/example
Expand All @@ -14,6 +17,7 @@ parts:
- file: usage/mapping_voltages
- file: usage/mapping_equipment
- file: usage/building_system
- file: usage/ui_studio
- caption: API Reference
chapters:
- file: references/index
Expand All @@ -22,6 +26,8 @@ parts:
- file: references/dist_graph
- file: references/openstreet_graph
- file: references/prsg
- file: references/routing_strategies
- file: references/secondary_strategies
- file: references/phase_mapper
- file: references/voltage_mapper
- file: references/equipment_mapper
Expand Down
Loading
Loading