{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "| [Contents](00.00-index.ipynb) | [Jupyter Widgets Tutorial Introduction](00.00-introduction.ipynb) >" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The Jupyter Interactive Widget Ecosystem \n", "## SciPy 2021\n", "\n", "### Matt Craig, Martin Renou, Itay Dafna, Mariana Meireles, Youness Bennani\n", "\n", "This tutorial will introduce you to the widgets in the Jupyter Notebook, walk through a few approaches to writing widgets, and introduce some relatively new widget packages.\n", "\n", "We are using ipywidgets 7.5 and Jupyter Lab 2.1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "00. [Introduction](00.00-introduction.ipynb)\n", "01. [Overview](01.00-overview.ipynb)\n", "02. [Widgets without writing widgets: interact](02.00-Using-Interact.ipynb)\n", " 01. [*OPTIONAL* Interact Exercises](02.01-OPTIONAL-More-About-Interact.ipynb)\n", "03. [Simple Widget Introduction](03.00-Widget_Basics.ipynb)\n", "04. [Widgets in the core ipywidgets package](04.00-widget-list.ipynb)\n", " 02. [Output widgets: leveraging Jupyter's display system](04.01-more-on-output-widget.ipynb)\n", "05. [Widget Events](05.00-Widget_Events.ipynb)\n", " 01. [*OPTIONAL* Three approaches to events](05.01-OPTIONAL-Widget_Events_2.ipynb)\n", " 02. [*OPTIONAL* Password generator: `observe`](05.02-OPTIONAL-Widget_Events_2_--_bad_password_generator,_version_1.ipynb)\n", " 03. [*OPTIONAL* Separating the logic from the widgets](05.03-OPTIONAL-Widget_Events_2_--_Separating_Concerns.ipynb)\n", " 04. [*OPTIONAL* Separating the logic using classes](05.04-OPTIONAL-Widget_Events_2--Separating_concerns,_object_oriented.ipynb)\n", "06. [Layout and Styling of Jupyter widgets](06.00-layout-and-styling-overview.ipynb)\n", " 01. [Layout and Styling of Jupyter widgets](06.01-widget-layout-and-styling.ipynb)\n", " 01. [Container Layout Widgets](06.01-widget-layout-and-styling.ipynb#Container-Layout-Widgets)\n", " 03. [*OPTIONAL* Widget label styling](06.02-OPTIONAL-widget-label-styling.ipynb)\n", " 03. [*OPTIONAL* Predefined widget specific styles](06.03-OPTIONAL-widget-specific-styling.ipynb)\n", " 04. [*OPTIONAL* Container exercises](06.00-OPTIONAL-container-exercises.ipynb)\n", "07. [More widget libraries](07.00-More_widget_libraries.ipynb)\n", " 01. [ipyleaflet: Interactive maps](07.01-ipyleaflet.ipynb)\n", " 02. [pythreejs: 3D rendering in the browser](07.02-pythreejs.ipynb)\n", " 03. [bqplot: complex interactive visualizations](07.03-bqplot.ipynb)\n", " 04. [ipyvolume: 3D plotting in the notebook](07.04-ipyvolume.ipynb)\n", " 05. You can find even more [here](widgets_libraries) \n", "08. [Dashboarding with widgets](08.00-voila.ipynb)\n", " 01. [So easy, *voilĂ *!](08.01-voila-basics.ipynb)\n", " 02. [Deploying voilĂ ](08.02-voila-vuetify.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## [Table of widget and style properties](Table_of_widget_keys_and_style_keys.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Acknowledgements\n", "\n", "+ Special thanks to the dozens of [ipywidgets developers](https://github.com/jupyter-widgets/ipywidgets/graphs/contributors), including Jonathan Frederic, who wrote much of the code in the early years of ipywidgets, Sylvain Corlay, who kept the project going at a critical time, and Jason Grout, who currently leads the project and has nurtured the growth of the widget ecosystem.\n", "+ Several of the notebooks in this tutorial were originally developed as part of [ipywidgets](http://ipywidgets.readthedocs.io/en/latest/) by Brian E. Granger ([@ellisonbg](https://github.com/ellisonbg)) and Jonathan Frederic ([@jdfreder](https://github.com/jdfreder)).\n", "+ Thanks to Doug Redden ([@DougRzz](https://github.com/DougRzz))\n", "+ Project Jupyter core developer Carol Willing ([@willingc](https://github.com/willingc)) and [Minnesota State University Moorhead](http://physics.mnstate.edu) students Andrew Block ([@ACBlock](https://github.com/ACBlock)) and Jane Glanzer ([@janeglanzer](https://github.com/janeglanzer)) provided very useful feedback on early drafts of this tutorial.\n", "+ Thanks to [Jason Grout](https://github.com/jasongrout), [Sylvain Corlay](https://github.com/SylvainCorlay) and [Maarten Breddels](https://github.com/maartenbreddels) who also contributed to these tutorial Notebooks." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "| [Contents](00.00-index.ipynb) | [Jupyter Widgets Tutorial Introduction](00.00-introduction.ipynb) >" ] } ], "metadata": { "kernelspec": { "display_name": "widgets-tutorial", "language": "python", "name": "widgets-tutorial" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }