Skip to main content

Jupyter widgets for scheduling processes and visualizing the resulting (live) data

Project description

name name

Juts

Jupyter widgets for scheduling processes and visualizing the resulting (live) data. While it is designed to use custom data-specific visualizations (plot widgets) based on ipywidgets, visualizations for time series data (bqplot), animations (matplotlib) and 3D data (ipyvolume) are included.

Quickstart

To start a process a so-called job has to be set up. A job consists of a Python function and a configuration. The function contains the code (machine learning, simulation, ....) to be executed, for example:

import time as tim
def wait_n_times_x_ms(config, process_queue=None, return_dict=None):
    n = config["parameter"]["n"]
    x = config["parameter"]["x"]
    
    time = list()
    time_series = list()
    for i in range(n):
        time.append(i)
        time_series.append(i / x)
        
        process_queue.put(dict(progress=int(i/n * 100),
                               time=i,
                               time_series=i/x))
        tim.sleep(x)

The configuration(s) can be read from a yaml file like this:

wait_40_times_100_ms:
    parameter:
        n: 40
        x: 0.1
        
wait_10_times_300_ms:
    parameter:
        n: 10
        x: 0.3

or can be defined as python dictionary.

Screencast min example.webm

Also live data can be monitored during script execution:

Screencast min example live.webm

A simulation example

A more practical relevant example is the following simulation of a reaction wheel pendulum under state feedback control.

Screencast pendulum.webm

Widgets can be easily connected if required:

Screencast pendulum link.webm

Since the simulation runs quite fast, a loop was put after it which sends the data with a delay. This shows that a job could also record live data from an experiment, so one could compare the simulation data with the measurements from a real pendulum.

Screencast pendulum live.webm

Visualizing 3D data

An example plot widget to view 3D data is also included. This one relies on ipyvolume.

Screencast 3d.webm

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

juts-2023.4.2.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

juts-2023.4.2-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file juts-2023.4.2.tar.gz.

File metadata

  • Download URL: juts-2023.4.2.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for juts-2023.4.2.tar.gz
Algorithm Hash digest
SHA256 56e8943eba41bd482c4ca9df254bbcdf2b2a2323b6892782decf3dfded560dce
MD5 73f93119076ff539b44776c8f8681f7b
BLAKE2b-256 b1740b09f8912576b5cd80dcbf693c39eaf8829cb0547d61740453f0eb911ce5

See more details on using hashes here.

File details

Details for the file juts-2023.4.2-py3-none-any.whl.

File metadata

  • Download URL: juts-2023.4.2-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for juts-2023.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 34caf5b582874fcd7a559222eec38476ec2f3095e82d49ef07c90c9f1e97f7cd
MD5 5be5c08bd85b0ae3d225b5b422c63eee
BLAKE2b-256 400e3272ec23787ee4a81ad69806f0237ea881922a8fb86230b7dcd51cc3151f

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