Skip to main content

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 --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.
  • --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
                )

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collider_dashboard-1.1.1.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

collider_dashboard-1.1.1.0-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file collider_dashboard-1.1.1.0.tar.gz.

File metadata

  • Download URL: collider_dashboard-1.1.1.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.3.0

File hashes

Hashes for collider_dashboard-1.1.1.0.tar.gz
Algorithm Hash digest
SHA256 fc8022b0bf4d1247adba749399e8db8d36e450e510a140f212104b2ee9f99d57
MD5 d2f12f82f19b11262cf4d2f69149ec4b
BLAKE2b-256 b73e5c9c3def48bcb189c3476387b2e5ac470c3b2c3aa6c84a17079be62d6bb6

See more details on using hashes here.

File details

Details for the file collider_dashboard-1.1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for collider_dashboard-1.1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60a285f3385ca84eea9cb04ad65039e72ae3e392cc006fa02b50644a37c97a8d
MD5 b171099e120458ce7377efaf48367ecd
BLAKE2b-256 f4983298dfd2c83fef5956301e18b27636a649b52c930296330a0c736e5b6c6b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page