gui4gmns
(in the *4gmns family alongside plot4gmns / path4gmns / osm2gmns)
AI-guided dashboards for GMNS: DTALite · TAPLite · Dynamic ODME · DLSim.
GMNS run folder in → one self-contained, offline-capable dashboard.html out. No install to view,
no editing to learn — the legacy NEXTA GUI stays the editor; this is the modern viewer + generator.
gui4gmns is the project name — the pip-installable generator core plus its viewers. It is the
cross-platform successor of the Windows-only MFC NEXTA GUI, rebuilt on one shared data contract with an
AI-guided generator at its core. See NAMING.md.
The process — decompose it forward, transfer to any city
Five steps forward — osm2gmns → demand → assignment → integrate → visualize — then swap the city's inputs
and the steps + dashboards stay the same. Full how-to: docs/GMNS_TO_DASHBOARD_SKILL.md.
Quickstart
# 1) install (pure-Python core, no required deps)
pip install gui4gmns
gui4gmns datasets/01_sioux_falls # -> datasets/01_sioux_falls/dashboard.html
# options: --basemap osm|satellite|none --max-traj N --single
# 2) or import it, like plot4gmns
python -c "from gui4gmns import generate; generate('datasets/01_sioux_falls')"
# no install? run the generator straight from the repo instead:
python ai-gen/gui4gmns.py datasets/01_sioux_falls
# 3) open the dashboard (double-click, or serve for the basemap)
python -m http.server 8765 # then browse to datasets/01_sioux_falls/dashboard.html
What a generated dashboard gives you
- Network map with MOE coloring/bandwidth: volume · V/C · queue · time-dependent flow · QVDF speed
- Hybrid basemap: OSM network-wide, satellite as you zoom into detail — both embedded (offline)
- Animation: play/scrub 15-min bins; vehicle dots (green moving / red queued) from trajectories
- Demand OD desire lines + demand matrix heatmap and attribute distributions (learned from
plot4gmns — see
ai-gen/LEARNINGS_FROM_PLOT4GMNS.md) - Corridor speed contour: INRIX-observed vs QVDF-model space-time, with RMSE / R² / bias validation
- Data-quality audit in every dashboard (MOE coverage, conservation, oversaturation, suspicious zero-volume major links, connector sentinels) — it checks its own inputs
- Split lightweight layer files (
dashboard_layers/*.js) so each layer is inspectable & regenerable
Repository layout (this is the canonical home — release + continuous updates happen here)
ai-gen/ the generator core (gui4gmns.py) + VIZ_SCHEMA + design studies
nexta_x.html web-lite viewer (zero-install, drag-drop)
web-gl/ GPU viewer (regional-scale animation, live-follow)
desktop-qt/ Qt desktop app (Run engine button, basemaps, headless snapshots)
engine/DLSim_STE/ the DLSim space-time-event engine (C++17 source + toy testdata; build.sh)
engine/bin/ local binaries (git-ignored; build from source or copy dlsim_run.exe here)
datasets/ public samples: 01 Sioux Falls · 02 Chicago Sketch · 05 toys · 07 West Jordan
docs/ Users Guide (md + pdf)
SHARED_CONTRACT.md the one data contract every branch implements
Provenance: consolidated 2026-07 from the dtalite/ (gui4gmns, DLSim_STE), the DTALite/TAPLite C++
kernel workspace, and dynamic_ODME/ sample sets, so releases happen in ONE place. Heavy kernels stay
in their dev homes: DTALite/TAPLite C++ → dtalite_with_taplite_Cpp_kernel/ · large networks →
asu-trans-ai-lab/dynamic-odme-lab.
The viewers (one shared contract, SHARED_CONTRACT.md)
| branch | file | for |
|---|---|---|
| AI-Gen | ai-gen/gui4gmns.py |
the core: preprocess + generate self-contained dashboards |
| web-lite | nexta_x.html |
zero-install QC: drag-drop GMNS files in any browser |
| web-gl | web-gl/nexta_xgl.html |
GPU animation at regional scale + live-follow of a running sim |
| desktop-qt | desktop-qt/nexta_qt.py |
desktop app: open folders, Run engine, basemap, snapshots |
Visualization portals — online + offline
GMNS is a shared exchange format — think DICOM in medical imaging: you don't read the raw file, you open it in a portal. gui4gmns opens one GMNS folder in a whole family of them. Offline (no internet): the dashboard, web-lite, web-gl, desktop-qt, QGIS, Google Earth Pro, static figures. Online (richer 3D + trajectories): Kepler.gl, deck.gl, Google Earth. One command exports outward to all four:
python exporters/gmns_to_viz.py <gmns_folder> --target all # -> kepler + deckgl + qgis + kml, each with a README
Every generated dashboard auto-writes a portals/ folder beside it (kepler/deckgl/qgis/kml) — one run,
every portal (--no-portals to skip). Full guide — what each portal is for, 3D & trajectories, and how
students swap in their own datasets: docs/VISUALIZATION_PORTALS.md.
▶ Live demo (no install — opens in your browser): a deck.gl view of the Chicago Sketch network at https://asu-trans-ai-lab.github.io/gui4gmns/portal_demo/ · browse the gallery at https://asu-trans-ai-lab.github.io/gui4gmns/gallery.html.
Data policy
This repository ships the generator, viewers, and public sample networks only. Agency data
(NVTA / VDOT / INRIX / CBI and any QVDF corridor derived from them) is never committed — it is
git-ignored via *PRIVATE* / *nvta* rules. Large public networks (ARC Atlanta, Chicago Regional)
are referenced from asu-trans-ai-lab/dynamic-odme-lab rather than duplicated here. Run
python validate_no_private_data.py before any commit.
Sample-data attribution: Sioux Falls / Chicago from bstabler/TransportationNetworks; basemap tiles © OpenStreetMap contributors and Imagery © Esri, Maxar, Earthstar Geographics (embedded per their terms). The local-only ITS I-95 (VA) data-hub demo is sourced from the USDOT JPO CodeHub Data Cleaning and Fusion Tool (https://github.com/usdot-jpo-codehub/data-cleaning-and-fusion-tool); its INRIX/VDOT/probe layers are restricted and never committed.
Docs
docs/VISUALIZATION_PORTALS.md (online+offline portals, 3D/trajectories,
student how-to) · docs/gui4gmns_Users_Guide.md · SHARED_CONTRACT.md · REFACTOR_PLAN.md ·
ai-gen/VIZ_SCHEMA.md (build your own dashboard, AI-guided) · ai-gen/LEARNINGS_FROM_PLOT4GMNS.md.
Metadata
Release files for gui4gmns 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gui4gmns-0.1.0.tar.gz | 23.1 kB | With provenance | Details for gui4gmns-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gui4gmns-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for gui4gmns-0.1.0-py3-none-any.whl |
Total release size: 46.3 kB
Release files / gui4gmns-0.1.0.tar.gz
| Download URL | gui4gmns-0.1.0.tar.gz |
|---|---|
| Size | 23.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c0a06035d8bae6acc33e65bce3e3ea0d0d78491e7018571c1c1c07c05f7b334
|
|
BLAKE2b-256 checksum How to use checksums |
6fb98c2e2eed656df29badb1915490f0c0fd31fb36dedc7e509a8487fbfdbda6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 7, 2026.
Transparency logRelease files / gui4gmns-0.1.0-py3-none-any.whl
| Download URL | gui4gmns-0.1.0-py3-none-any.whl |
|---|---|
| Size | 23.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3618253c27f602f8164beee3113b5e76f534dc02a8f344645e1de676e2c250a1
|
|
BLAKE2b-256 checksum How to use checksums |
565f2aa20fa83adacfab5321917704d3a28909e0be49b4d3697668700bb25585
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 7, 2026.
Transparency logSecurity for gui4gmns 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for gui4gmns-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 7, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.