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

pydata-seattle-2017-bokeh-and-friends

Bryan
July 07, 2017

 pydata-seattle-2017-bokeh-and-friends

PyData Seattle 2017 talk discussing Bokeh status as well as HoloViews and Datashader

Bryan

July 07, 2017
Tweet

More Decks by Bryan

Other Decks in Programming

Transcript

  1. Bryan Van de Ven [email protected] @bigreddot PyData Seattle 2017 Bokeh

    and Friends https://speakerdeck.com/bryanv/pydata-seattle-2017-bokeh-and-friends
  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. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Fractint: Making pictures from math
  5. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Fractint: Making pictures from math
  6. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Fractint: Making pictures from math
  7. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Conda: Users pay attention Fractint: Making pictures from math
  8. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Conda: Users pay attention Bokeh: All of the above Fractint: Making pictures from math
  9. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Server Simple python scripts, no special classes of frameworks
  10. 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 publishing
  11. 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 publishing Automatically mirrors and synchronizes Python and browser state
  12. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Connect the full PyData stack to interactive web apps Server Simple python scripts, no special classes of frameworks Useful for exploratory analysis or sharing and publishing Automatically mirrors and synchronizes Python and browser state
  13. Streaming Data Today Two new data source methods: .stream to

    append data incrementally to column ends .patch for random access updates anywhere
  14. Wrapping different widgets Custom Extensions Today Add capability for… Adapting

    3D JavaScript libraries Adding LaTeX labels Community doesn’t have to wait!
  15. To be continued… PNG/SVG export option Network/Graph rendering Binary Array

    Protocol Better JupyterLab support PNG/SVG export option (DONE)
  16. To be continued… PNG/SVG export option Network/Graph rendering Binary Array

    Protocol Better JupyterLab support Altair/VegaLite integration PNG/SVG export option (DONE)
  17. To be continued… PNG/SVG export option Network/Graph rendering Binary Array

    Protocol Better JupyterLab support Altair/VegaLite integration Animations and transitions PNG/SVG export option (DONE)
  18. To be continued… PNG/SVG export option Network/Graph rendering Binary Array

    Protocol Better JupyterLab support Altair/VegaLite integration Animations and transitions BokehJS as a first-class project PNG/SVG export option (DONE)
  19. To be continued… PNG/SVG export option Network/Graph rendering Binary Array

    Protocol Better JupyterLab support Altair/VegaLite integration Animations and transitions BokehJS as a first-class project Expand WebGL capability PNG/SVG export option (DONE)
  20. To be continued… 1.0 PNG/SVG export option Network/Graph rendering Binary

    Array Protocol Better JupyterLab support Altair/VegaLite integration Animations and transitions BokehJS as a first-class project Expand WebGL capability PNG/SVG export option (DONE)
  21. Datashader Today http://datashader.readthedocs.io/en/latest/ Flexible, configurable pipeline for automatic rendering Solves

    problems of overplotting, underplotting, saturation Mitigates binning problems by affording interactivity across large datasets
  22. Datashader Today http://datashader.readthedocs.io/en/latest/ Flexible, configurable pipeline for automatic rendering Statistical

    transforms are a first-class aspect of visualization Solves problems of overplotting, underplotting, saturation Mitigates binning problems by affording interactivity across large datasets
  23. Datashader Today http://datashader.readthedocs.io/en/latest/ An independent project under the Bokeh GitHub

    organization Flexible, configurable pipeline for automatic rendering Statistical transforms are a first-class aspect of visualization Solves problems of overplotting, underplotting, saturation Mitigates binning problems by affording interactivity across large datasets
  24. Speaking of Dask Today http://dask.pydata.org/en/latest/ A pure Python library for

    parallel and distributed computing Comes with a Bokeh app for monitoring performance of distributed tasks
  25. Speaking of Dask Today http://dask.pydata.org/en/latest/ A pure Python library for

    parallel and distributed computing Comes with a Bokeh app for monitoring performance of distributed tasks “Invaluable for understanding and optimizing distributed computing performance.”
  26. Speaking of Dask Today http://dask.pydata.org/en/latest/ A pure Python library for

    parallel and distributed computing Comes with a Bokeh app for monitoring performance of distributed 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.”
  27. Stop Plotting Your Data Today Holoviews aims to make data

    analysis and visualization seamless and simple. • Express what you want to do in very few lines of code • Focus on what you are trying to explore and convey, not on the process of plotting.
  28. Stop Plotting Your Data Today Holoviews aims to make data

    analysis and visualization seamless and simple. • Express what you want to do in very few lines of code • Focus on what you are trying to explore and convey, not on the process of plotting.
  29. • Bokeh • GitHub: https://github.com/bokeh/bokeh • Documentation: http://bokeh.pydata.org/en/latest • Example

    Apps: https://demo.bokehplots.com • Mailing List: https://groups.google.com/a/continuum.io/forum/#!forum/bokeh • Gitter Chat: https://gitter.im/bokeh/bokeh • Datashader • GitHub: https://github.com/bokeh/datashader • Documentation: http://datashader.readthedocs.io/en/latest/ • HoloViews • GitHub https://github.com/ioam/holoviews • Documentation: http://holoviews.org Resources
  30. Call to Action Install Bokeh, Datashader, and HoloViews and provide

    feedback • BSD license for everything (JS, Python, Server, Notebooks)
  31. Call to Action Install Bokeh, Datashader, and HoloViews and provide

    feedback • BSD license for everything (JS, Python, Server, Notebooks) Get involved! (contribute code, examples, docs, support) • Hours/day is fixed, only more people can accelerate development
  32. Call to Action Install Bokeh, Datashader, and HoloViews and provide

    feedback • BSD license for everything (JS, Python, Server, Notebooks) Engage us to work on custom apps and dashboards • Feedback helps the open source efforts Get involved! (contribute code, examples, docs, support) • Hours/day is fixed, only more people can accelerate development