Upgrade to Pro — share decks privately, control downloads, hide ads and more …

bokeh-scipyla-2016.pdf

Bryan
May 20, 2016
170

 bokeh-scipyla-2016.pdf

Bryan

May 20, 2016
Tweet

Transcript

  1. Bryan Van de Ven @bryvdv, @BokehPlots SciPy LA 2016 Bokeh

    Today https://speakerdeck.com/bryanv/bokeh-scipyla-2016
  2. No JavaScript Bokeh? https://bokeh.pydata.org/en/latest Interactive visualization, widgets, and tools For

    the browser, with or without a server Versatile and high-level graphics Streaming, dynamic, large data
  3. No JavaScript No JavaScript Bokeh? https://bokeh.pydata.org/en/latest Interactive visualization, widgets, and

    tools For the browser, with or without a server Versatile and high-level graphics Streaming, dynamic, large data
  4. New Annotations • spans, bars, polys, hover policies What’s new?

    Custom User Extensions Code cleanup, Expanded CI testing
  5. New Annotations • spans, bars, polys, hover policies WebGL for

    lines and markers What’s new? Custom User Extensions Code cleanup, Expanded CI testing
  6. New Annotations • spans, bars, polys, hover policies WebGL for

    lines and markers What’s new? GeoJSON and Tile Renderers Custom User Extensions Code cleanup, Expanded CI testing
  7. Stabilized and Expanded Charts API New Annotations • spans, bars,

    polys, hover policies WebGL for lines and markers What’s new? GeoJSON and Tile Renderers Custom User Extensions Code cleanup, Expanded CI testing
  8. Stabilized and Expanded Charts API New Annotations • spans, bars,

    polys, hover policies WebGL for lines and markers What’s new? Python→JS compilation for CustomJS callbacks GeoJSON and Tile Renderers Custom User Extensions Code cleanup, Expanded CI testing
  9. New Bokeh Server What’s new? • More robust and performant

    • tornado and websocket protocol • Simpler to use and deploy • simple python scripts, no special classes
  10. New Bokeh Server What’s new? • More robust and performant

    • tornado and websocket protocol • Simpler to use and deploy • simple python scripts, no special classes • Extensive User Guide Documentation
  11. New Bokeh Server What’s new? • More robust and performant

    • tornado and websocket protocol • Simpler to use and deploy • simple python scripts, no special classes • Extensive User Guide Documentation • Hosted examples at https://demo.bokehplots.com
  12. Data Shader What’s new? • New project in the Bokeh

    GH org • https://github.com/bokeh/datashader
  13. Data Shader What’s new? • New project in the Bokeh

    GH org • https://github.com/bokeh/datashader • Visualize millions and billions of points • simple python scripts, no special classes
  14. Data Shader What’s new? • New project in the Bokeh

    GH org • https://github.com/bokeh/datashader • Visualize millions and billions of points • simple python scripts, no special classes • Efficient visual queries
  15. Data Shader What’s new? • New project in the Bokeh

    GH org • https://github.com/bokeh/datashader • Visualize millions and billions of points • simple python scripts, no special classes • Efficient visual queries • Webinar: https://go.continuum.io/datashader
  16. Community Makes the Dream Work Damian Luke Bryan Fabio Mateusz

    Havoc Almar Peter Maggie Sarah Brendan Kevin
  17. Community Makes the Dream Work New faces too: Damian Luke

    Bryan Fabio Mateusz Havoc Almar Peter Maggie Sarah Brendan Kevin
  18. Community Makes the Dream Work New faces too: Damian Luke

    Bryan Fabio Mateusz Havoc Almar Peter Maggie Sarah Brendan Kevin !!!
  19. Community Makes the Dream Work New faces too: Damian Luke

    Bryan Fabio Mateusz Havoc Almar Peter Maggie Sarah Brendan Kevin !!! Special Thanks: @merqurio, @justacec, @clairetang6, @dennisobrien
  20. Community Makes the Dream Work New faces too: Damian Luke

    Bryan Fabio Mateusz Havoc Almar Peter Maggie Sarah Brendan Kevin !!! Special Thanks: @merqurio, @justacec, @clairetang6, @dennisobrien
  21. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Server Simple python scripts, no special classes of frameworks
  22. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Server Simple python scripts, no special classes of frameworks Useful for exploratory analysis or sharing and deploying
  23. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Utilizes only out-of the box features of Bokeh 0.11.1 Server Simple python scripts, no special classes of frameworks Useful for exploratory analysis or sharing and deploying
  24. Efficient data, Efficient code Plotting commands, application code, simulation, everything

    < 100 LOC Performance enhancements (only send latest data points) Streaming
  25. Efficient data, Efficient code Plotting commands, application code, simulation, everything

    < 100 LOC Performance enhancements (only send latest data points) Further features and improvements planned Streaming
  26. Scratch Your Own Itch Customize Extend any aspect of Bokeh

    with custom models Lowers the bar for trying out new ideas
  27. Scratch Your Own Itch Customize Extend any aspect of Bokeh

    with custom models Users don’t have to wait on core team schedule Lowers the bar for trying out new ideas
  28. Scratch Your Own Itch Customize Extend any aspect of Bokeh

    with custom models Users don’t have to wait on core team schedule The future: Atom-style user extension repository Lowers the bar for trying out new ideas
  29. Pipelines for visual queries Datashader Bokeh passes data directly into

    the browser, where users can interact with it
  30. Pipelines for visual queries Datashader Bokeh passes data directly into

    the browser, where users can interact with it For very large datasets (hundreds of millions or billions of points), passing all the data into the browser is not feasible
  31. Pipelines for visual queries Datashader Bokeh passes data directly into

    the browser, where users can interact with it Datashader renders into an off-screen buffer and can handle arbitrarily large datasets without downsampling For very large datasets (hundreds of millions or billions of points), passing all the data into the browser is not feasible
  32. Pipelines for visual queries Datashader Bokeh passes data directly into

    the browser, where users can interact with it Datashader renders into an off-screen buffer and can handle arbitrarily large datasets without downsampling Powered by Dask and Numba For very large datasets (hundreds of millions or billions of points), passing all the data into the browser is not feasible
  33. Speaking of Dask Dask http://dask.pydata.org/en/latest/ Comes with a Bokeh app

    for monitoring performance of distributed array tasks
  34. Speaking of Dask Dask http://dask.pydata.org/en/latest/ Comes with a Bokeh app

    for monitoring performance of distributed array tasks CPU and memory and communications use across the cluster over time
  35. Speaking of Dask Dask http://dask.pydata.org/en/latest/ Comes with a Bokeh app

    for monitoring performance of distributed array tasks “Invaluable for understanding and optimizing distributed computing performance.” CPU and memory and communications use across the cluster over time
  36. Speaking of Dask Dask http://dask.pydata.org/en/latest/ Comes with a Bokeh app

    for monitoring performance of distributed array tasks “Invaluable for understanding and optimizing distributed computing performance.” “It's not something for which I need to go out and find a web developer to help me with.” CPU and memory and communications use across the cluster over time
  37. • Arrows, Labels, Colorbars • Legend and Hover improvements •

    New high-level Chord chart • New JS / TypeScript API 0.12
  38. Real Soon Now BokehJS on its own Author in TypeScript

    or JavaScript Direct port of bokeh.plotting Available on NPM New high-level BokehJS Charts API
  39. • Arrows, Labels, Colorbars • Legend and Hover improvements •

    New high-level Chord chart • New JS / TypeScript API • Foundational layout improvements • Custom server templates 0.12
  40. • Computed data source columns • Arrows, Labels, Colorbars •

    Legend and Hover improvements • New high-level Chord chart • New JS / TypeScript API • Foundational layout improvements • Custom server templates 0.12
  41. • Computed data source columns • Lots of bug fixes

    • Arrows, Labels, Colorbars • Legend and Hover improvements • New high-level Chord chart • New JS / TypeScript API • Foundational layout improvements • Custom server templates 0.12
  42. • Computed data source columns • Lots of bug fixes

    • and then… • Arrows, Labels, Colorbars • Legend and Hover improvements • New high-level Chord chart • New JS / TypeScript API • Foundational layout improvements • Custom server templates 0.12
  43. 1.0

  44. • API guarantees (Semantic Versioning) • Visual / Design pass

    • BEP for project governance • July 2016 target 1.0
  45. 1.0 (and beyond) • API guarantees (Semantic Versioning) • Visual

    / Design pass • BEP for project governance • July 2016 target
  46. 1.0 (and beyond) • API guarantees (Semantic Versioning) • Visual

    / Design pass • BEP for project governance • July 2016 target • NumFOCUS fiscal sponshorship
  47. 1.0 (and beyond) • API guarantees (Semantic Versioning) • Visual

    / Design pass • BEP for project governance • July 2016 target • NumFOCUS fiscal sponshorship • LaTeX labels, Networks/Graphs
  48. 1.0 (and beyond) • API guarantees (Semantic Versioning) • Visual

    / Design pass • BEP for project governance • July 2016 target • NumFOCUS fiscal sponshorship • LaTeX labels, Networks/Graphs • Scriptable animations and transitions
  49. 1.0 (and beyond) • API guarantees (Semantic Versioning) • Visual

    / Design pass • BEP for project governance • July 2016 target • NumFOCUS fiscal sponshorship • LaTeX labels, Networks/Graphs • Scriptable animations and transitions • Bokeh “develop” mode
  50. 1.0 (and beyond) • API guarantees (Semantic Versioning) • Visual

    / Design pass • BEP for project governance • July 2016 target • NumFOCUS fiscal sponshorship • LaTeX labels, Networks/Graphs • Scriptable animations and transitions • Bokeh “develop” mode • SVG output
  51. Call To Action Install Bokeh and Data Shader and provide

    feedback • BSD license for everything (JS, Python, server) • https://github.com/bokeh/bokeh • https://github.com/bokeh/datashader