Skip to main content

Build Status

JSmol bokeh extension

This extension lets you visualize atomic structures in bokeh using JSmol.

Features

  • Works both using bokeh and bokeh server
  • See example.html. Structure displays in standalone html, button will start working in bokeh server

Prerequisites

Note: As of 2019-06, NodeJS is required to compile the .ts / .coffee files. Once bokeh provides guidelines on how to bundle compiled javascript, the NodeJS dependency may be dropped.

Installation

Versioning

  • jsmol-bokeh-extension 0.1.x works with bokeh < 1.1 (written in CoffeScript)
  • jsmol-bokeh-extension 0.2 and above works with bokeh >= 1.1 (written in TypeScript)
pip install jsmol-bokeh-extension

Usage

Below a complete example.py demonstrating how to use the jsmol bokeh extension:

rom bokeh.models import ColumnDataSource
from bokeh.io import show, curdoc
from bokeh.models.widgets import Button, TextInput
from bokeh.layouts import layout, widgetbox

from jsmol_bokeh_extension import JSMol

script_source = ColumnDataSource()

info = dict(
    height="100%",
    width="100%",
    serverURL="https://chemapps.stolaf.edu/jmol/jsmol/php/jsmol.php",
    use="HTML5",
    j2sPath="https://chemapps.stolaf.edu/jmol/jsmol/j2s",
    script=
    "background black;load https://chemapps.stolaf.edu/jmol/jsmol-2013-09-18/data/caffeine.mol",
)

applet = JSMol(
    width=600,
    height=600,
    script_source=script_source,
    info=info,
)

button = Button(label='Execute')
inp_script = TextInput(value='background white;')


def run_script():
    script_source.data['script'] = [inp_script.value]


button.on_click(run_script)

ly = layout([applet, widgetbox(button, inp_script)])

show(ly)
curdoc().add_root(ly)

Note: The example can be run both using bokeh and bokeh server:

# run locally (displays structure but button won't work)
python example.py

# run using bokeh server (displays structure and button should work)
bokeh serve example.py --show

Links

Metadata

Release files for jsmol-bokeh-extension 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsmol-bokeh-extension 0.2.2
File Size Uploaded
jsmol-bokeh-extension-0.2.2.tar.gz 5.5 kB Details

Release files / jsmol-bokeh-extension-0.2.2.tar.gz

Download URL jsmol-bokeh-extension-0.2.2.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1a08b152284cc689f705961db9c859a65f0197bf039d86b6a41944a015a95038
BLAKE2b-256 checksum
How to use checksums
ffc2b9df0a9c265ffc9907062c5130c2b5ef6fa2b5efb45de7c9cabfe0bbdbe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file

0.2.1

1 release file

0.2.0

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