A Dash application to visualize the observables and parameters of a collider built and configured with Xsuite.
Project description
Collider Dashboard
A Dash application to visualize the observables and parameters of a collider built and configured with Xsuite.
Installation
The dashboard can be installed from PyPI with pip:
pip install collider-dashboard
This will install the required packages and build the application. If you haven't done it already, it is recommended to prebuild the Xsuite kernel to gain some computation time:
xsuite-prebuild
Usage
For personal usage, the simplest way to use the dashboard is to run the package as a development server from the command line, providing a few arguments:
python -m collider_dashboard --collider-path path_to_collider.json --filling-path path_to_scheme.json --port 8080 --force-reload --ignore-footprint --full-twiss --type-particles proton --debug
--collider-path, or-c, sets the path to the collider configuration file. Default value to the path of a dummy collider used for testing.--filling-path, or-f, sets the path to the filling scheme, instead of using the one in the collider configuration file. Optional.--port, or-p, sets the port on which the dashboard will be deployed. Default value to `8080``.--force-reload, or-r, sets a boolean indicating whether the collider dashboard data should be reloaded if already existing. Optional.--ignore-footprint, or-i, sets a boolean indicating whether the footprint should be ignored to gain computation time. Optional.--full-twiss, or-t, sets a boolean indicating whether the Twiss/Survey tables should be computed fully (not removing duplicates and entry/exit elements), at the expense of computation time. Optional.--type-particles, or-a, sets the type of particles to be used for the collider. Default value toproton.--debug, or-d, sets a boolean indicating whether the dashboard should be run in debug mode. Optional.
After computing some temporary variables (this may take a while the first time), this will deploy a local server and open the dashboard in a browser window.
Alternatively, one can import the dashboard as a module and use it in a custom script:
# my-awesome-dashboard.py
from collider_dashboard import build_app
app, server = build_app(path_to_collider.json,
path_scheme=path_to_scheme.json,
port=8080,
force_reload=False,
ignore_footprint=False,
debug = False,
simplify_tw=True
type_particles='proton'
)
The dashboard can then be deployed e.g. with gunicorn:
gunicorn my-awesome-dashboard:server -b :8080
Note that, as the dashboard deals with global variables, it is not thread-safe. It is therefore recommended to run it with a single worker (it's the case by default).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for collider_dashboard-1.4.2.0.tar.gz
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 6e4ecf2d37081d65f5634fa9e1f62474ec642029d50e47a98ec6f55ff03dafbf |
|
| MD5 | 8d2d6219a71976540e21ef1dcb559a4a |
|
| BLAKE2b-256 | dc54825d72b8a8732fdbfe42e7050f4391605cd7b6a9ecd2be05af2301c6e54c |
Hashes for collider_dashboard-1.4.2.0-py3-none-any.whl
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 2a14c1a83e4da247d98419c84cd82fbf7fded5f33d0d0af89a41356a82b99aa5 |
|
| MD5 | e43d9bf75b7c86a640b0674270a0da9c |
|
| BLAKE2b-256 | 4803d1d27d2ac455600ebbc298086d74f2addc609d6de93b68abdf7de01574b7 |