Skip to main content

A Bokeh on screen gesture/mouse drag based joystick widget for use in a dashboard with controls

Project description

Bokeh Joystick Widget

This is a custom widget for the Python Bokeh library that allows you to control a joystick via mouse drags or touch gestures.

The widget has x and y properties that are updated as the joystick is moved. The x and y properties are in the range -100 to 100.

The widget is derived from https://github.com/bobboteck/JoyStick/.

Setup

Install with pip:

pip install bokeh-joystick-widget

Or poetry:

poetry add bokeh-joystick-widget

Usage

In your bokeh app, you can use the joystick widget like this:

from bokeh_joystick_widget import JoystickWidget
:
# some plot
:
joystick = JoystickWidget()
joystick.on_change("position", lambda attr, old, new: print(f'x: {new["x"]}, y: {new["y"]}'))
:
:
show(column(joystick, plot))

Examples

There are 3 examples:

  • examples/static_joystick_example.py - show a column with a plot and the joystick, then exit.
  • examples/console_joystick_example.py - show a plot and the joystick in a bokeh server app. Callbacks from the front end drive console logs of the joystick position.
  • examples/bigger_joystick.py - Scale the size of the rendered joystick.

Screenshots

Joystick

Output data:

Joystick

Roadmap

  • Get the example JS demo widget/bokeh model to work - whatever that widget is. - done
  • Figure out how to get values back to the python end with it. - done
  • Figure out how to swap their control for the joystick (however hacky) - done
    • Note - this is a TS file from the original, adapted here. The DOM element change is important.
  • Figure out how to make that tidier. - done
  • Figure out how to publish to PyPi (alpha) and test in a pip installed test. - done

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

bokeh_joystick_widget-0.3.3.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

bokeh_joystick_widget-0.3.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file bokeh_joystick_widget-0.3.3.tar.gz.

File metadata

  • Download URL: bokeh_joystick_widget-0.3.3.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.18 Darwin/21.6.0

File hashes

Hashes for bokeh_joystick_widget-0.3.3.tar.gz
Algorithm Hash digest
SHA256 0ca710c56c54440c2271ea519fa60b939d78c40f38a9b2f82baaec5884d5b94c
MD5 6b480adc01feae60533e940c8e0f8c75
BLAKE2b-256 7e699cd52182997a17e8e7fd3dcd7514e8bed7e7e9821e614303194889f0ff04

See more details on using hashes here.

File details

Details for the file bokeh_joystick_widget-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for bokeh_joystick_widget-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6857b969e2b57afda1b7e243061f8944278414ce85f787167f6ee9eb7976e7a5
MD5 b098238e56705c9e062dd2ddddf38248
BLAKE2b-256 b39b60cd745ae8829f40c10e0dcdacc380f3d4d0700cf6fc8d557a3714c21601

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