Skip to main content

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)

Source distribution for nt2gui 1.0
File Size Uploaded
nt2gui-1.0.tar.gz 244.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nt2gui 1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page