Slide 1

Slide 1 text

Bryan Van de Ven [email protected] @bryvdv SciPy 2015 Story Time with Bokeh

Slide 2

Slide 2 text

Prologue

Slide 3

Slide 3 text

New tools • lasso, poly, and point selections • crosshair inspector • hover tool for lines Prologue

Slide 4

Slide 4 text

New tools • lasso, poly, and point selections • crosshair inspector • hover tool for lines Improved visual design Prologue

Slide 5

Slide 5 text

New tools • lasso, poly, and point selections • crosshair inspector • hover tool for lines Improved visual design Docs! • 100% complete reference guide • all new expanded user guide Prologue

Slide 6

Slide 6 text

Callback for sophisticated static documents New tools • lasso, poly, and point selections • crosshair inspector • hover tool for lines Improved visual design Docs! • 100% complete reference guide • all new expanded user guide Prologue

Slide 7

Slide 7 text

Callback for sophisticated static documents New tools • lasso, poly, and point selections • crosshair inspector • hover tool for lines Improved visual design Docs! • 100% complete reference guide • all new expanded user guide RBokeh Prologue

Slide 8

Slide 8 text

Present Day

Slide 9

Slide 9 text

Today Setting the Stage

Slide 10

Slide 10 text

Today Setting the Stage

Slide 11

Slide 11 text

Today Makes the Dream Work Damian Luke Bryan Sara Fabio Mateusz Havoc Almar Peter Nick Kevin Maggie Sarah

Slide 12

Slide 12 text

Static Documents, Dynamic Interaction Today http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/blob/master/tutorial/00 - intro.ipynb#Interaction

Slide 13

Slide 13 text

Static Documents, Dynamic Interaction Today JS Callbacks extend capability now, for a marginal cost (a few lines of JS)

Slide 14

Slide 14 text

Static Documents, Dynamic Interaction Today JS Callbacks extend capability now, for a marginal cost (a few lines of JS) Will encapsulate common patterns as they are discovered (no more JS!)

Slide 15

Slide 15 text

Static Documents, Dynamic Interaction Today JS Callbacks extend capability now, for a marginal cost (a few lines of JS) Will encapsulate common patterns as they are discovered (no more JS!) A dream: write callbacks in Python, translate automatically

Slide 16

Slide 16 text

Static Documents, Dynamic Interaction Today JS Callbacks extend capability now, for a marginal cost (a few lines of JS) Will encapsulate common patterns as they are discovered (no more JS!) A dream: write callbacks in Python, translate automatically See the new User’s Guide for much more info: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html

Slide 17

Slide 17 text

Spectrogram Remixed https://www.youtube.com/watch?v=L6p7Cd3uDis Today

Slide 18

Slide 18 text

Spectrogram Remixed Completely customizable visual styling and templating Today

Slide 19

Slide 19 text

Spectrogram Remixed Completely customizable visual styling and templating Performance enhancements (smoother and faster updates) Today

Slide 20

Slide 20 text

Spectrogram Remixed Completely customizable visual styling and templating Performance enhancements (smoother and faster updates) Mostly written in python (previously lots of frontend Javascript) Today

Slide 21

Slide 21 text

Fraud and falsehood… https://www.youtube.com/watch?v=0qGSmDeEQ6Y Today

Slide 22

Slide 22 text

…only dread examination • Identify fraudulent market manipulation activity from a variety of potential sources on the web (Twitter, Facebook, SPAM, forum posts). • Correlate that against "legitimate" market activity, SEC Filings, News and Press Releases, and other market activity. FEAT (Financial Event Analysis Tool) is being evaluated by us.gov in order to Uses only out-of the box features of Bokeh 0.9.1 Today

Slide 23

Slide 23 text

Oceans in the Cloud Today

Slide 24

Slide 24 text

Oceans in the Cloud Today (Small) code you can actually run today

Slide 25

Slide 25 text

Oceans in the Cloud Today (Small) code you can actually run today Uses recent AjaxDataSource

Slide 26

Slide 26 text

Oceans in the Cloud Today (Small) code you can actually run today Still too much JS (but working on it) Uses recent AjaxDataSource

Slide 27

Slide 27 text

Oceans in the Cloud Today (Small) code you can actually run today Still too much JS (but working on it) Flask(+Dask) server written in 15 minutes Uses recent AjaxDataSource

Slide 28

Slide 28 text

Speaking of Dask Today Generates .dot file for execution graphs http://dask.pydata.org/en/latest/

Slide 29

Slide 29 text

Speaking of Dask Today Generates .dot file for execution graphs These are converted to Bokeh glyphs http://dask.pydata.org/en/latest/

Slide 30

Slide 30 text

Speaking of Dask Today Generates .dot file for execution graphs These are converted to Bokeh glyphs Will enable “live monitoring” for Dask http://dask.pydata.org/en/latest/

Slide 31

Slide 31 text

To be continued…

Slide 32

Slide 32 text

• LaTeX annotations (KaTeX) To be continued…

Slide 33

Slide 33 text

• LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) To be continued…

Slide 34

Slide 34 text

• LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) • New Charts / Faceting (in progress) To be continued…

Slide 35

Slide 35 text

• LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) • New Charts / Faceting (in progress) • Validation (started in 0.9.1) To be continued…

Slide 36

Slide 36 text

Tomorrow Bokeh Authoring https://www.youtube.com/watch?v=VOAXC7XUCto

Slide 37

Slide 37 text

Tomorrow Zeroth System Syndrome Simplify and narrow the focus of the Bokeh Server (less is more)

Slide 38

Slide 38 text

Tomorrow Zeroth System Syndrome Simplify and narrow the focus of the Bokeh Server (less is more) Extensible facility for reflective, persistent RPC

Slide 39

Slide 39 text

Tomorrow Zeroth System Syndrome Simplify and narrow the focus of the Bokeh Server (less is more) Extensible facility for reflective, persistent RPC Only pay in size for features you use (shrink BokehJS) Create custom models and widgets (a platform for anyone to extend)

Slide 40

Slide 40 text

• LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) • New Charts / Faceting (in progress) • Validation (started in 0.9.1) • Bokeh App Authoring • Server revamp, Extensibility To be continued…
 (continued)

Slide 41

Slide 41 text

• R (Trelliscope), Scala, JS (Angular, React) • LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) • New Charts / Faceting (in progress) • Validation (started in 0.9.1) • Bokeh App Authoring • Server revamp, Extensibility To be continued…
 (continued)

Slide 42

Slide 42 text

• R (Trelliscope), Scala, JS (Angular, React) • WebGL backend (underway) • LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) • New Charts / Faceting (in progress) • Validation (started in 0.9.1) • Bokeh App Authoring • Server revamp, Extensibility To be continued…
 (continued)

Slide 43

Slide 43 text

• R (Trelliscope), Scala, JS (Angular, React) • WebGL backend (underway) • 1.0 • LaTeX annotations (KaTeX) • SVG output (MPL or Cairo backend) • New Charts / Faceting (in progress) • Validation (started in 0.9.1) • Bokeh App Authoring • Server revamp, Extensibility To be continued…
 (continued)

Slide 44

Slide 44 text

Call to Action Install Bokeh and provide feedback • BSD license for everything (JS, Python, server) • https://github.com/Bokeh/bokeh

Slide 45

Slide 45 text

Call to Action Install Bokeh and provide feedback • BSD license for everything (JS, Python, server) • https://github.com/Bokeh/bokeh Engage us to work on custom apps and dashboards • Code integration, analytical and visualization expertise • Feedback helps the open source efforts

Slide 46

Slide 46 text

No content