Skip to content

Port 7.x changes to master #3086

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 109 commits into from
Feb 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
a30e7dd
Backport pull request #2654 from jasongrout/upgrades
jasongrout Jan 2, 2020
1868d45
Backport pull request #2683 from jasongrout/jlab2b2
jasongrout Jan 7, 2020
6ed9063
Update to JLab 2.0rc0
jasongrout Feb 13, 2020
e3382e6
Update yarn.lock
jasongrout Feb 13, 2020
9335455
Upgrade all notebooks to notebook format 4.2
jasongrout Jan 7, 2020
05d1bb9
Revert "Merge pull request #2651 from ossdev07/arm_support"
jasongrout Feb 13, 2020
4b1dff6
Merge pull request #2781 from jasongrout/w7jlab2
jasongrout Feb 15, 2020
9bb15c6
Publish npm packages
jasongrout Feb 15, 2020
a5a0804
Publish
jasongrout Feb 15, 2020
75a3ff5
Publish
jasongrout Feb 15, 2020
5941cba
Change fontawesome support to work for fontawesome 4 and 5.
jasongrout Feb 25, 2020
0f75c9f
Merge pull request #2793 from jasongrout/fontawesome
jasongrout Feb 25, 2020
47db2a9
Publish npm packages
jasongrout Feb 25, 2020
3973409
Update to JupyterLab 2.0 final release packages.
jasongrout Mar 2, 2020
666e582
Update yarn.lock
jasongrout Mar 2, 2020
c138c0f
Merge pull request #2803 from jasongrout/jlab2
jasongrout Mar 2, 2020
e6016b4
Publish npm packages
jasongrout Mar 2, 2020
30515db
Backport #2801
SylvainCorlay Feb 28, 2020
c62e00f
Add backwards-compatible fallback for css values
jasongrout Mar 2, 2020
84b8e41
Adjust formatting for clearer diff
jasongrout Mar 2, 2020
476cb91
Merge pull request #2804 from jasongrout/fontcolor
jasongrout Mar 2, 2020
32d2a7b
Update jlab manager compatibility table
jasongrout Mar 3, 2020
bed7b2c
Publish npm packages
jasongrout Mar 3, 2020
b2469ce
Add new juptyerlab_widgets python package for the jupyterlab manager …
jasongrout Sep 2, 2020
05abb58
Update jlab beta versions
jasongrout Sep 17, 2020
12ece98
Do not compile with strict mode
jasongrout Sep 17, 2020
8d988a5
Update widgetsnbextension to the new jlab versions
jasongrout Sep 17, 2020
2287ccf
Ignore generated static files
jasongrout Sep 17, 2020
a0e32ca
More updates from the cookiecutter
jasongrout Sep 17, 2020
286eef1
Upgrade webpack again to beta 31
jasongrout Sep 17, 2020
e863309
Update yarn.lock
jasongrout Sep 17, 2020
f699b73
Bump jupyterlab_widgets to 1.0a0
jasongrout Sep 17, 2020
f73c36e
Package schema files
jasongrout Sep 17, 2020
8c4f9f3
Bump jlab package to alpha 1
jasongrout Sep 17, 2020
899dc27
fix ci test
jasongrout Sep 17, 2020
a26e3c6
disable lint check for now
jasongrout Sep 17, 2020
7b20016
drop 3.4, 3.5 test
jasongrout Sep 17, 2020
fb9182c
Fix webpack config
jasongrout Sep 18, 2020
80d1415
Downgrade webpack to what we had before
jasongrout Sep 18, 2020
176db0f
Update to jlab 3 beta 7
jasongrout Sep 18, 2020
776880f
Update yarn.lock
jasongrout Sep 18, 2020
cb9cabc
fix github action
jasongrout Sep 18, 2020
c38ed09
Merge pull request #2973 from jasongrout/jlab3
jasongrout Sep 18, 2020
1344b59
Publish npm packages
jasongrout Sep 18, 2020
b91fd35
jupyterlab_widgets 1.0.0a2
jasongrout Sep 18, 2020
96e69b4
Update release instructions
jasongrout Sep 18, 2020
bd3b2e9
Merge pull request #2974 from jasongrout/release
jasongrout Sep 18, 2020
5db81b6
Add license file to jupyterlab_widgets
jasongrout Oct 3, 2020
ade591f
Add twine check to release instructions
jasongrout Oct 3, 2020
ec47e33
Update jlab version
jasongrout Oct 3, 2020
a6ebd34
Merge pull request #2990 from jasongrout/packaging
jasongrout Oct 3, 2020
6c1a3f2
jupyterlab_widgets 1.0.0a3
jasongrout Oct 3, 2020
e4a1b94
Do not build the js assets if the static directory is populated.
jasongrout Oct 4, 2020
019256d
Merge pull request #2991 from jasongrout/packaging
jasongrout Oct 4, 2020
8bde0df
Update JupyterLab packages to latest 3.0rc4 packages.
jasongrout Oct 4, 2020
c9c9b2c
Update yarn.lock.
jasongrout Oct 4, 2020
567108b
Merge pull request #2992 from jasongrout/upjlab
jasongrout Oct 4, 2020
71b22ba
Publish npm packages
jasongrout Oct 4, 2020
3b3085e
jupyterlab_widgets 1.0.0a4
jasongrout Oct 4, 2020
ba0ec46
Add license statements from the bundled js packages
jasongrout Oct 5, 2020
5754418
Merge pull request #2993 from jasongrout/license
jasongrout Oct 5, 2020
09ebda3
jupyterlab_widgets 1.0.0a5
jasongrout Oct 5, 2020
6008586
Remove JupyterLab dependency in jupyterlab_widgets
martinRenou Oct 13, 2020
5bb6573
Merge pull request #2995 from martinRenou/remove_jlab_dependency
jasongrout Oct 24, 2020
5c4f706
jupyterlab_widgets 1.0.0a6
jasongrout Oct 24, 2020
6677b45
Add jupyterlab_widgets dependency
martinRenou Nov 5, 2020
73f6731
add alt text so images aren't duplicated in html
ianhi Nov 9, 2020
0a44e11
Update to JupyterLab 3 packages.
jasongrout Dec 24, 2020
c288bfb
Update yarn.lock
jasongrout Dec 24, 2020
24fe9e6
Merge pull request #3044 from jasongrout/jlab3
jasongrout Dec 24, 2020
f52839d
Merge pull request #3008 from martinRenou/jupyterlab_widgets_dependency
jasongrout Dec 24, 2020
36592c0
Publish npm packages
jasongrout Dec 24, 2020
23a899f
7.6.0rc0
jasongrout Dec 24, 2020
c9a2225
Update release instructions now that jlab 3 is out
jasongrout Dec 24, 2020
da6399f
Update jupyterlab_widgets with updates from the current jlab 3.0 cook…
jasongrout Dec 24, 2020
d689085
Merge pull request #3045 from jasongrout/jlab3-2
jasongrout Dec 24, 2020
36a8db2
jupyterlab_widgets 1.0.0rc1
jasongrout Dec 24, 2020
0c8de5b
Add changelog entry for 7.6.0
jasongrout Dec 24, 2020
4b2f390
Fix jupyter_sphinx error.
jasongrout Dec 24, 2020
37bc11f
Update installation documentation.
jasongrout Dec 24, 2020
7429ee3
Tweak changelog wording
jasongrout Dec 24, 2020
56c113e
Tweak jupyterlab_widgets readme
jasongrout Dec 24, 2020
2c1ba62
Update dev-install for jupyterlab_widgets and jlab 3
jasongrout Dec 24, 2020
249a7cc
Merge pull request #3046 from jasongrout/ch2
jasongrout Dec 24, 2020
c2bade9
Update changelog with instructions for widget maintainers.
jasongrout Dec 24, 2020
b729417
Update github action to use jlab 3
jasongrout Dec 24, 2020
c25d3cc
Merge pull request #3047 from jasongrout/updatewidget
jasongrout Dec 24, 2020
8ec6746
Publish npm packages
jasongrout Dec 24, 2020
2d7ebee
ipywidgets 7.6.0, jupyterlab_widgets 1.0.0
jasongrout Dec 24, 2020
b7dcbc3
Update release instructions
jasongrout Dec 26, 2020
85755a7
JupyterLab 3 only works on python >=3.5, so only depend on jupyterlab…
jasongrout Dec 26, 2020
e7fa45c
Merge pull request #3050 from jasongrout/py2
jasongrout Dec 26, 2020
71333cc
ipywidgets 7.6.1
jasongrout Dec 26, 2020
d94ddb0
Mention adding a sharedPackages configuration when updating to JLab 3.
jasongrout Dec 26, 2020
e15debb
Merge pull request #3051 from jasongrout/update
jasongrout Dec 27, 2020
139363b
ipywidgets 7.6.2
jasongrout Dec 27, 2020
a4bd5df
Merge pull request #3014 from ianhi/7.x
vidartf Jan 6, 2021
bf9f335
Only install jupyterlab_widgets if py3.6 or above
patviafore-canonical Jan 6, 2021
4e94892
Merge pull request #3059 from patviafore-canonical/7.x
jasongrout Jan 6, 2021
5532c91
ipywidgets 7.6.3
jasongrout Jan 7, 2021
eadb5ef
Merge branch '7.x'
jasongrout Feb 5, 2021
55d9958
Update versions and fix other merge errors
jasongrout Feb 5, 2021
a027642
Revert Backbone typings to 1.4.1
jasongrout Feb 5, 2021
1b96f21
Fix eslint
jasongrout Feb 5, 2021
d379d95
Install JupyterLab for the Javascript tests (to build jupyterlab_widg…
jasongrout Feb 5, 2021
d531365
Update yarn.lock
jasongrout Feb 5, 2021
2b7331b
yarn lock update using yarn-deduplicate -s fewer
jasongrout Feb 5, 2021
96f52ba
Lint
jasongrout Feb 5, 2021
dbfdc4f
Replace jqueryui license with nouislider license
jasongrout Feb 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

59 changes: 59 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build jupyterlab_widgets

on:
push:
branches: master
pull_request:
branches: '*'

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Install node
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Install Python
uses: actions/setup-python@v1
with:
python-version: '3.8'
architecture: 'x64'
- name: Cache pip on Linux
uses: actions/cache@v1
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python }}

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache yarn
uses: actions/cache@v1
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: |
python -m pip install jupyterlab~=3.0
python -m pip install jupyter_packaging
- name: Build the extension
run: |
pip install .
jlpm install
jlpm run build
cd jupyterlab_widgets
pwd
pip install -e .
jupyter labextension develop . --overwrite
jupyter labextension list

python -m jupyterlab.browser_check
24 changes: 19 additions & 5 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ jobs:
run: |
sudo apt-get install -y pandoc
python -m pip install --upgrade pip
pip install file://$PWD#egg=ipywidgets
pip install -r ./docs/requirements.txt
python -m pip install file://$PWD#egg=ipywidgets
python -m pip install -r ./docs/requirements.txt
- name: Build docs
run: |
cd docs
Expand All @@ -34,13 +34,26 @@ jobs:

steps:
- uses: actions/checkout@v2
- name: Use Node.js 10.x
uses: actions/setup-node@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
node-version: 10.x
python-version: 3.7
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}-${{hashFiles('**/requirements.txt')}}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
sudo apt-get install -y firefox
python -m pip install --upgrade pip
python -m pip install jupyterlab~=3.0

- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
Expand All @@ -50,6 +63,7 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

- name: yarn install, build, test
run: |
yarn install --frozen-lockfile
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ npm-debug.log
!.vscode/extensions.json

widgetsnbextension/widgetsnbextension/static
jupyterlab_widgets/jupyterlab_widgets/labextension/

index.built.js
index.built.js.map
Expand Down
10 changes: 4 additions & 6 deletions dev-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ if [ $? -ne 0 ]; then
exit 1
fi

echo -n "Checking jupyter lab... "
echo -n "Checking JupyterLab (assuming JupyterLab >=3)... "
jupyter lab --version 2>/dev/null
if [ $? -ne 0 ]; then
echo "no, skipping installation of widgets for jupyterlab"
Expand Down Expand Up @@ -52,9 +52,7 @@ echo -n "ipywidgets"
pip install -v -e ".[test]"

if test "$skip_jupyter_lab" != yes; then
jupyter labextension link ./packages/base --no-build
jupyter labextension link ./packages/base-manager --no-build
jupyter labextension link ./packages/controls --no-build
jupyter labextension link ./packages/output --no-build
jupyter labextension install ./packages/jupyterlab-manager
pip install jupyter_packaging
pip install -ve ./jupyterlab_widgets
jupyter labextension develop ./jupyterlab_widgets --overwrite
fi
54 changes: 40 additions & 14 deletions docs/source/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@

A summary of changes in ipywidgets. For more detailed information, see the issues and pull requests for the appropriate milestone on [GitHub](https://github.com/jupyter-widgets/ipywidgets).

## 7.6

To see the full list of pull requests and issues, see the [7.6.0 milestone](https://github.com/jupyter-widgets/ipywidgets/milestone/31?closed=1) on GitHub.

The main change in this release is that installing `ipywidgets` 7.6.0 will now automatically enable ipywidgets support in JupyterLab 3.0—a user has no extra JupyterLab installation step and no rebuild of JupyterLab, nor do they need Node.js installed. Simply install the python ipywidgets package with pip (`pip install ipywidgets==7.6.0`) or conda/mamba (`conda install -c conda-forge ipywidgets=7.6.0`) and ipywidgets will automatically work in classic Jupyter Notebook and in JupyterLab 3.0.

This is accomplished with the new python package `jupyterlab_widgets` version 1.0, on which `ipywidgets` 7.6.0 now depends (similar to how `ipywidgets` already depends on the `widgetsnbextension` package to configure ipywidgets for the classic Jupyter Notebook). The `jupyterlab_widgets` Python package is a JupyterLab 3.0 prebuilt extension, meaning that it can be installed into JupyterLab 3.0 without rebuilding JupyterLab and without needing Node.js installed.

### Updates for Widget Maintainers

Custom widget maintainers will need to make two changes to update for JupyterLab 3:

1. Update the `@jupyter-widgets/base` dependency version to include `^4` to work in JupyterLab 3.0. For example, if you had a dependency on `@jupyter-widgets/base` version `^2 || ^3`, update to `^2 || ^3 || ^4` for your widget to work in classic Jupyter Notebook, JupyterLab 1, JupyterLab 2, and JupyterLab 3. See [#2472](https://github.com/jupyter-widgets/ipywidgets/pull/2472) for background.
2. In the `package.json`, add the following `sharedPackages` configuration inside the `jupyterlab` key. See the [JupyterLab extension documentation](https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html#requiring-a-service) for more information.

```json
"jupyterlab": {
"sharedPackages": {
"@jupyter-widgets/base": {
"bundled": false,
"singleton": true
}
}
}
```

Separate from these two steps to update for JupyterLab 3, we also recommend that you make your widget's JupyterLab extension a prebuilt extension for JupyterLab 3.0. Users will be able to install your JupyterLab 3.0 prebuilt extension without rebuilding JupyterLab or needing Node.js. See the [JupyterLab 3 extension developer documentation](https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html) or the new [widget extension cookiecutter](https://github.com/jupyter-widgets/widget-ts-cookiecutter/tree/jlab3) for more details.

## 7.5

To see the full list of pull requests and issues, see the [7.5 milestone](https://github.com/jupyter-widgets/ipywidgets/milestone/268?closed=1) on GitHub.
Expand All @@ -17,14 +45,15 @@ Changes include:

Custom widget maintainers will need to update their `@jupyter-widgets/base` dependency version to work in JupyterLab 1.0. For example, if you had a dependency on `@jupyter-widgets/base` version `^1.1`, update to `^1.1 || ^2` for your widget to work in classic notebook, JupyterLab 0.35, and JupyterLab 1.0. See [#2472](https://github.com/jupyter-widgets/ipywidgets/pull/2472) for background.


## 7.4

To see the full list of pull requests and issues, see the [7.4 milestone](https://github.com/jupyter-widgets/ipywidgets/milestone/26?closed=1) on GitHub.

Changes include:

- New `Video` and `Audio` widgets have been introduced. [#2162](https://github.com/jupyter-widgets/ipywidgets/pull/2162)
We updated the `@jupyter-widgets/controls` widget specification version to `1.4.0`, leading to the version bump to 7.4.
We updated the `@jupyter-widgets/controls` widget specification version to `1.4.0`, leading to the version bump to 7.4.
- The use of mappings for the `options` attribute of selection widgets is deprecated. [#2130](https://github.com/jupyter-widgets/ipywidgets/pull/2130)

## 7.3
Expand Down Expand Up @@ -61,7 +90,6 @@ User-visible changes include:
- `link` and `dlink` are now exported from ipywidgets for convenience, so that you can import them directly from ipywidgets instead of needing to import them from traitlets. ([#1923](https://github.com/jupyter-widgets/ipywidgets/pull/1923))
- A new option `manual_name` has been added to `interact_manual()` to change the name of the update button, for example `interact_manual(manual_name='Update')`. ([#1924](https://github.com/jupyter-widgets/ipywidgets/pull/1923))
- The Output widget now has a `.capture()` method, which returns a decorator to capture the output of a function.

```python
from ipywidgets import Output
out = Output()
Expand All @@ -70,9 +98,7 @@ User-visible changes include:
def f():
print('This output is captured')
```

The `.capture()` method has a `clear_output` boolean argument to automatically clear the output every time the function is run, as well as a `wait` argument corresponding to the `clear_output` wait argument. ([#1934](https://github.com/jupyter-widgets/ipywidgets/pull/1934))

- The Output widget has much more comprehensive documentation in its own section. ([#2020](https://github.com/jupyter-widgets/ipywidgets/pull/2020))
- Installing `widgetsnbextension` now automatically enables the nbextension in Jupyter Notebook 5.3 or later. ([#1911](https://github.com/jupyter-widgets/ipywidgets/pull/1911))
- The default rendering of a widget if widgets are not installed is now a short description of the widget in text instead of a much longer HTML message. ([#2007](https://github.com/jupyter-widgets/ipywidgets/pull/2007))
Expand Down Expand Up @@ -149,19 +175,19 @@ If you are developing a custom widget or widget manager, here are some major cha

Major user-visible changes in ipywidgets 6.0 include:

- Rendering of Jupyter interactive widgets in various web contexts
- Rendering of Jupyter interactive widgets in various web contexts

sphinx documentation: http://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html
nbviewer: http://nbviewer.jupyter.org/github/jupyter-widgets/ipywidgets/blob/master/docs/source/examples/Widget%20List.ipynb
Static web pages: http://jupyter.org/widgets
sphinx documentation: http://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html
nbviewer: http://nbviewer.jupyter.org/github/jupyter-widgets/ipywidgets/blob/master/docs/source/examples/Widget%20List.ipynb
Static web pages: http://jupyter.org/widgets

- Addition of a DatePicker widget in the core widget collection.

- Changes to the automatic control generation syntax in @interact, inspired by the Sage interact syntax.
- Changes to the automatic control generation syntax in @interact, inspired by the Sage interact syntax.

- Removal of APIs which had been deprecated in 5.0, including top-level styling in attributes of DOMWidgets and some corner cases in the behavior of `@interact`.
- Removal of APIs which had been deprecated in 5.0, including top-level styling in attributes of DOMWidgets and some corner cases in the behavior of `@interact`.

- A new API for custom styling of widgets is provided, through a top-level `style` attribute. For example, the color of a slider handler can be set by `slider.style.handle_color`.
- A new API for custom styling of widgets is provided, through a top-level `style` attribute. For example, the color of a slider handler can be set by `slider.style.handle_color`.

- Removal of the Proxy and PlaceProxy widgets.

Expand All @@ -175,16 +201,15 @@ Major user-visible changes in ipywidgets 6.0 include:

- Removal of the `button_style` attribute of the Dropdown widget

- Addition of an OutputWidget for capturing output and rich display objects. @interact has changed to use an OutputWidget for function output instead of overwriting the output area of a cell.
- Addition of an OutputWidget for capturing output and rich display objects. @interact has changed to use an OutputWidget for function output instead of overwriting the output area of a cell.

- The jupyter-js-widgets Javascript implementation now relies on the PhosphorJS framework for the management of rich layout and a better integration of JupyterLab.
- The jupyter-js-widgets Javascript implementation now relies on the PhosphorJS framework for the management of rich layout and a better integration of JupyterLab.

- Numerous bug fixes.

_Note for custom widget authors:_

ipywidgets 6.0 breaks backward compatibility with respect to the handling of default values of the JavaScript side. Now, the default values for core widget models are specified with a `default()` method returning a dictionary instead of a `default` dictionary attribute. If you want your library to be backwards compatible with ipywidgets 5.x, you could use [\_.result](http://underscorejs.org/#result) like this:

```javascript
...
defaults: function() {
Expand All @@ -195,6 +220,7 @@ defaults: function() {
...
```


This should not have an impact when using your custom widgets in the classic notebook, but will be really important when deploying your interactive widgets in web contexts.

## 5.x
Expand Down
17 changes: 16 additions & 1 deletion docs/source/dev_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ conda deactivate
conda remove --all -y -n releasewidgets
rm -rf ipywidgets

conda create -c conda-forge --override-channels -y -n releasewidgets notebook nodejs twine
conda create -c conda-forge --override-channels -y -n releasewidgets notebook nodejs yarn twine jupyterlab=3 jupyter-packaging
conda activate releasewidgets

git clone [email protected]:jupyter-widgets/ipywidgets.git
Expand Down Expand Up @@ -55,6 +55,20 @@ yarn run publish

Lerna will prompt you for version numbers for each of the changed npm packages in the version step. Lerna will then change the versions appropriately (including the interdependency versions), commit, and tag. The `yarn run publish` step then publishes the public packages that were versioned to npm.

### jupyterlab_widgets

Go into the `jupyterlab_widgets` directory. Change `jupyterlab_widgets/_version.py` to reflect the new version number.
```
python setup.py sdist bdist_wheel
twine check dist/*
twine upload dist/*
```

Verify that the package is uploaded.
```
curl -s https://pypi.org/pypi/jupyterlab-widgets/json | jq -r '[.releases[][] | [.upload_time, .digests.sha256, .filename] | join(" ")] | sort '
```

### widgetsnbextension

Go into the `widgetsnbextension` directory. Change `widgetsnbextension/_version.py` to reflect the new version number.
Expand Down Expand Up @@ -103,6 +117,7 @@ Using the above script, you can do:
```
hashes dist/*
hashes widgetsnbextension/dist/*
hashes jupyterlab_widgets/dist/*
```

Commit the changes you've made above, and include the uploaded files hashes in the commit message. Tag the release if ipywidgets was released. Push to origin master (and include the tag in the push).
Expand Down
2 changes: 1 addition & 1 deletion docs/source/embedding.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ The [jupyter_sphinx](https://jupyter-sphinx.readthedocs.io) extension
enables jupyter-specific features in sphinx. It can be installed with `pip` and
`conda`.

In the `conf.py` sphinx configuration file, add `jupyter_sphinx.execute`
In the `conf.py` sphinx configuration file, add `jupyter_sphinx`
to the list of enabled extensions.

Then use the `jupyter-execute` directive to embed the output of code execution
Expand Down
Loading