nt2gui
A browser UI for visualizing Entity simulation output, read with nt2py.
The server runs where the data lives (e.g. a cluster node), does all the data processing, and serves the UI. Your browser connects to it through an SSH tunnel, so nothing needs to be installed on your laptop.
Usage
On the cluster:
python -m venv ~/nt2gui-env
~/nt2gui-env/bin/pip install nt2gui
~/nt2gui-env/bin/nt2gui serve # --port, --host, --state-file, --threads
It prints the tunnel command to run on your machine, e.g.
ssh -N -L 8765:localhost:8765 you@node042 # add -J you@login-node if needed
then open http://localhost:8765/.
Running the server and the UI separately
You can also serve only the API on the cluster and run the UI from the package on your own machine:
# on the cluster
nt2gui server # API only; --allow-origin ORIGIN (repeatable) for UIs on other ports/hosts
# on your machine, with the tunnel above open
pip install nt2gui
nt2gui client # UI only on http://localhost:8766; --server URL (default http://localhost:8765)
nt2gui client prints a link that points the UI at the server; you can change the server any time under Settings → Server URL (remembered by your browser). For safety, the API only accepts browser calls from the origins it allows — by default the nt2gui client default (http://localhost:8766).
Data read from disk is kept in memory so that changing colors, zooming, slicing or switching between quantities doesn't re-read it: up to 2 GB of field data and 2 GB of particle data per open simulation. Adjust with NT2GUI_FIELD_CACHE_MB / NT2GUI_PARTICLE_CACHE_MB (in MB) before starting the server. The server log reports any request that takes longer than half a second.
By default the server listens on 127.0.0.1 only. The UI session is saved to .nt2gui/session.json in the working directory (override with --state-file or $NT2GUI_STATE_FILE) and restored on restart.
Development
pip install -r requirements.txt # or: pip install -e ".[dev]"
npm i
npm run dev # Flask on :5000 and vite with /api proxied to it
npm run test # typecheck + vitest + pytest
npm run package # build the client into nt2gui/static, then the wheel/sdist into dist/
Metadata
Release files for nt2gui 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 | |
|---|---|---|---|
| nt2gui-1.0.tar.gz | 244.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nt2gui-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 475.3 kB
Release files / nt2gui-1.0.tar.gz
| Download URL | nt2gui-1.0.tar.gz |
|---|---|
| Size | 244.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ea3a07fac9738bed75c6416052a1325d6d3c0ce25fc5a42aabe6283d595e15e
|
|
BLAKE2b-256 checksum How to use checksums |
10a53b2790fe22747859ecc90ea80f66408ba56aabc0146e6993ee531ebb7bc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / nt2gui-1.0-py3-none-any.whl
| Download URL | nt2gui-1.0-py3-none-any.whl |
|---|---|
| Size | 230.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa9e676670a24363d742cfeef2f87a0dce618bc26d8a43de8d27a72dddf8f8b1
|
|
BLAKE2b-256 checksum How to use checksums |
05cac5dd49c1dd5f6ba70c7b874002e1b66ca656cbe206470c1a906b9a24cb1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency log