Changes in Jupyter Client#
8.6.3#
Enhancements made#
Support psutil for finding network addresses #1033 (@juliangilbey)
Bugs fixed#
Maintenance and upkeep improvements#
Contributors to this release#
(GitHub contributors page for this release)
@andife | @hroncok | @ianthomas23 | @juliangilbey | @minrk
8.6.2#
Bugs fixed#
Use non-blocking zmq Poller #1023 (@fcollonval)
Documentation improvements#
Contributors to this release#
8.6.1#
Maintenance and upkeep improvements#
Update Release Scripts #1016 (@blink1073)
chore: update pre-commit hooks #1008 (@pre-commit-ci)
chore: update pre-commit hooks #1002 (@pre-commit-ci)
Bump actions/setup-python from 4 to 5 #1000 (@dependabot)
chore: update pre-commit hooks #999 (@pre-commit-ci)
Bump conda-incubator/setup-miniconda from 2 to 3 #998 (@dependabot)
chore: update pre-commit hooks #996 (@pre-commit-ci)
Documentation improvements#
Fix docs reference #1017 (@blink1073)
Add docs about packaging kernels #1013 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @dependabot | @mlucool | @pre-commit-ci | @Zsailer
8.6.0#
Bugs fixed#
Fix possibly not defined tracker #991 (@davidbrochart)
Maintenance and upkeep improvements#
Update typing for traitlets 5.13 #995 (@blink1073)
Use ruff format #992 (@blink1073)
Contributors to this release#
8.5.0#
Enhancements made#
Maintenance and upkeep improvements#
Enable strict typing #984 (@blink1073)
Update typings for mypy 1.6 #983 (@blink1073)
Contributors to this release#
8.4.0#
Maintenance and upkeep improvements#
Test on python 3.12 #978 (@blink1073)
Update typing for traitlets 5.11 #977 (@blink1073)
chore: update pre-commit hooks #975 (@pre-commit-ci)
Update typings for traitlets 5.10.1 #974 (@blink1073)
Do not use datetime.utcnow() that is deprecated in Python 3.12 #972 (@ellert)
Use sp-repo-review #971 (@blink1073)
Bump actions/checkout from 3 to 4 #968 (@dependabot)
Contributors to this release#
8.3.1#
Enhancements made#
Support external kernels #961 (@davidbrochart)
Bugs fixed#
Maintenance and upkeep improvements#
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @davidbrochart | @jkitchin | @kevin-bates | @pre-commit-ci | @tmaxwell-anthropic
8.3.0#
Enhancements made#
Maintenance and upkeep improvements#
Contributors to this release#
8.2.0#
Enhancements made#
Maintenance and upkeep improvements#
Use local coverage #945 (@blink1073)
Add more project URLs #944 (@fcollonval)
Contributors to this release#
8.1.0#
Bugs fixed#
Maintenance and upkeep improvements#
Documentation improvements#
Contributors to this release#
8.0.3#
Bugs fixed#
Maintenance and upkeep improvements#
Improving jsonutil tests #929 (@andrehora)
Contributors to this release#
(GitHub contributors page for this release)
@andrehora | @blink1073 | @dcsaba89 | @kevin-bates | @minrk | @pre-commit-ci | @xl0
8.0.2#
Bugs fixed#
Add papermill downstream check and fix kernel client replies #925 (@blink1073)
Maintenance and upkeep improvements#
Adopt more ruff rules #924 (@blink1073)
Prefer print in kernelspecapp #923 (@blink1073)
Contributors to this release#
8.0.1#
Bugs fixed#
Fix json_output in kernelspec app #921 (@blink1073)
Contributors to this release#
8.0.0#
This release is primarily focused on improving asyncio
support, while aiming to have minimal API changes.
Enhancements made#
Remove nest-asyncio dependency #835 (@blink1073)
Bugs fixed#
Allow interrupt during restart of pending kernels #898 (@blink1073)
Fix connection reconciliation to handle restarts #882 (@kevin-bates)
Reconcile connection information #879 (@kevin-bates)
Workaround for launch bug #861 (@blink1073)
Defer creation of ready future #858 (@blink1073)
Fix handling of initial ready promise #854 (@blink1073)
Revert “Fix pending kernels again” #853 (@blink1073)
Fix pending kernels again #845 (@blink1073)
Use pytest_asyncio fixture #826 (@davidbrochart)
Maintenance and upkeep improvements#
Remove deprecated zmq imports #915 (@blink1073)
Sync lint deps #911 (@blink1073)
MAINT: [async]start_kernel should only take kwarg only. #905 (@Carreau)
Add more ci checks #903 (@blink1073)
Allow releasing from repo #899 (@blink1073)
Adopt ruff and reduce pre-commit usage #895 (@blink1073)
Use pytest-jupyter #891 (@blink1073)
Import ensure_async and run_sync from jupyter_core #889 (@davidbrochart)
Use base setup dependency type #888 (@blink1073)
More CI Cleanup #886 (@blink1073)
More coverage #885 (@blink1073)
Clean up workflow and pyproject #884 (@blink1073)
Add more coverage #877 (@blink1073)
Add coverage config #876 (@blink1073)
Bump actions/setup-python from 2 to 4 #874 (@dependabot)
Bump actions/checkout from 2 to 3 #873 (@dependabot)
Use platform dirs in tests #872 (@blink1073)
Clean up types and remove use of entrypoints #871 (@blink1073)
Add dependabot #870 (@blink1073)
Support Python 3.8-3.11 #866 (@blink1073)
Maintenance cleanup #856 (@blink1073)
Ignore warnings in prereleases test #844 (@blink1073)
Use hatch for version #837 (@blink1073)
Move tests to top level #834 (@blink1073)
Fix nbconvert downstream test #827 (@blink1073)
Documentation improvements#
Reflect current protocol version in documentation #918 (@SylvainCorlay)
Add full api docs #908 (@blink1073)
Add more ci checks #903 (@blink1073)
Switch to pydata sphinx theme #840 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@arogozhnikov | @blink1073 | @Carreau | @ccordoba12 | @davidbrochart | @dependabot | @kevin-bates | @meeseeksdev | @minrk | @ophie200 | @pre-commit-ci | @samrat | @SylvainCorlay | @Zsailer
8.0.0rc0#
Maintenance and upkeep improvements#
Allow releasing from repo #899 (@blink1073)
Contributors to this release#
8.0.0b3#
Bugs fixed#
Allow interrupt during restart of pending kernels #898 (@blink1073)
Contributors to this release#
8.0.0b2#
Maintenance and upkeep improvements#
Adopt ruff and reduce pre-commit usage #895 (@blink1073)
Contributors to this release#
8.0.0b1#
No merged PRs
8.0.0b0#
Maintenance and upkeep improvements#
Use pytest-jupyter #891 (@blink1073)
Import ensure_async and run_sync from jupyter_core #889 (@davidbrochart)
Use base setup dependency type #888 (@blink1073)
More CI Cleanup #886 (@blink1073)
More coverage #885 (@blink1073)
Clean up workflow and pyproject #884 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@arogozhnikov | @blink1073 | @davidbrochart | @kevin-bates | @pre-commit-ci
8.0.0a4#
Bugs fixed#
Fix connection reconciliation to handle restarts #882 (@kevin-bates)
Maintenance and upkeep improvements#
Add more coverage #877 (@blink1073)
Contributors to this release#
8.0.0a3#
Bugs fixed#
Reconcile connection information #879 (@kevin-bates)
Maintenance and upkeep improvements#
Add coverage config #876 (@blink1073)
Bump actions/setup-python from 2 to 4 #874 (@dependabot)
Bump actions/checkout from 2 to 3 #873 (@dependabot)
Clean up types and remove use of entrypoints #871 (@blink1073)
Add dependabot #870 (@blink1073)
Contributors to this release#
8.0.0a2#
Maintenance and upkeep improvements#
Use platform dirs in tests #872 (@blink1073)
Support Python 3.8-3.11 #866 (@blink1073)
Contributors to this release#
8.0.0a1#
Bugs fixed#
Workaround for launch bug #861 (@blink1073)
Defer creation of ready future #858 (@blink1073)
Maintenance and upkeep improvements#
Maintenance cleanup #856 (@blink1073)
Contributors to this release#
8.0.0a0#
Enhancements made#
Remove nest-asyncio dependency #835 (@blink1073)
Bugs fixed#
Fix handling of initial ready promise #854 (@blink1073)
Use pytest_asyncio fixture #826 (@davidbrochart)
Maintenance and upkeep improvements#
Ignore warnings in prereleases test #844 (@blink1073)
Use hatch for version #837 (@blink1073)
Move tests to top level #834 (@blink1073)
Fix nbconvert downstream test #827 (@blink1073)
Documentation improvements#
Switch to pydata sphinx theme #840 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @ccordoba12 | @davidbrochart | @minrk | @pre-commit-ci | @Zsailer
7.3.5#
Enhancements made#
Bugs fixed#
Use tornado 6.2’s PeriodicCallback in restarter #822 (@vidartf)
Make _stdin_hook_default async #814 (@davidbrochart)
Maintenance and upkeep improvements#
[pre-commit.ci] pre-commit autoupdate #824 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #821 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #820 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #818 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #816 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #815 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #812 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #810 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #809 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #807 (@pre-commit-ci)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @davidbrochart | @helioz11 | @pre-commit-ci | @vidartf
7.3.4#
Bugs fixed#
Revert latest changes to
ThreadedZMQSocketChannel
because they break Qtconsole #803 (@ccordoba12)
Maintenance and upkeep improvements#
Fix sphinx 5.0 support #804 (@blink1073)
[pre-commit.ci] pre-commit autoupdate #799 (@pre-commit-ci)
Contributors to this release#
7.3.3#
Bugs fixed#
Contributors to this release#
7.3.2#
Enhancements made#
Maintenance and upkeep improvements#
[pre-commit.ci] pre-commit autoupdate #792 (@pre-commit-ci)
Use hatch backend #789 (@blink1073)
[pre-commit.ci] pre-commit autoupdate #788 (@pre-commit-ci)
Use flit build backend #781 (@blink1073)
Contributors to this release#
7.3.1#
Bugs fixed#
Check that channels exist before asking if they are alive #785 (@ccordoba12)
Maintenance and upkeep improvements#
Allow bot PRs to be automatically labeled #784 (@blink1073)
[pre-commit.ci] pre-commit autoupdate #783 (@pre-commit-ci)
Contributors to this release#
7.3.0#
Bugs fixed#
Fix shutdown and cleanup behavior #772 (@blink1073)
Maintenance and upkeep improvements#
[pre-commit.ci] pre-commit autoupdate #773 (@pre-commit-ci)
[pre-commit.ci] pre-commit autoupdate #770 (@pre-commit-ci)
Improve mypy config #769 (@blink1073)
Clean up pre-commit #768 (@blink1073)
Contributors to this release#
7.2.2#
Maintenance and upkeep improvements#
Include py.typed file #766 (@blink1073)
[pre-commit.ci] pre-commit autoupdate #765 (@pre-commit-ci)
More Cleanup #764 (@blink1073)
Contributors to this release#
7.2.1#
Maintenance and upkeep improvements#
Handle Warnings #760 (@blink1073)
Contributors to this release#
7.2.0#
Enhancements made#
Bugs fixed#
Json packer: handle TypeError and fallback to old json_clean #752 (@martinRenou)
Prefer sending signals to kernel process group #743 (@kevin-bates)
Maintenance and upkeep improvements#
Add pytest opts and clean up workflows #757 (@blink1073)
Clean up dependency handling #750 (@blink1073)
Use built in run cancellation #742 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @davidbrochart | @echarles | @hroncok | @kevin-bates | @martinRenou | @you-n-g
7.1.2#
Bugs fixed#
Contributors to this release#
7.1.1#
Enhancements made#
Maintenance and upkeep improvements#
Test against all kernels in jupyter kernel test and clean up CI #731 (@blink1073)
Replace master with main #729 (@davidbrochart)
Documentation improvements#
[DOC] improve kernel provisioner doc #730 (@abzymeinsjtu)
Contributors to this release#
(GitHub contributors page for this release)
@abzymeinsjtu | @blink1073 | @BoPeng | @davidbrochart | @minrk | @rgbkrk | @willingc | @Zsailer
7.1.0#
Enhancements made#
Add support for pending kernels #712 (@blink1073)
Bugs fixed#
Maintenance and upkeep improvements#
Enforce labels on PRs #720 (@blink1073)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @ci4ic4 | @davidbrochart | @kevin-bates | @vidartf
7.0.6#
Bugs fixed#
Fallback to the old ipykernel “json_clean” if we are not able to serialize a JSON message #708 (@martinRenou)
Other merged PRs#
Add test for serializing bytes #707 (@martinRenou)
Contributors to this release#
7.0.5#
Bugs fixed#
Maintenance and upkeep improvements#
Use logger.warning instead of deprecated warn method #700 (@kevin-bates)
Contributors to this release#
7.0.4#
Bugs fixed#
Fix json_default so that it’s closer to what ipykernel had before #698 (@martinRenou)
Prevent failure if kernel is not found when shutting it down #694 (@martinRenou)
Contributors to this release#
7.0.3#
Bugs fixed#
Address missing
local-provisioner
scenario #692 (@kevin-bates)use
load_connection_info(info)
when constructing a blocking client #688 (@minrk)
Contributors to this release#
7.0.2#
Bugs fixed#
Documentation improvements#
Improve migration guide #685 (@davidbrochart)
Contributors to this release#
(GitHub contributors page for this release)
@blink1073 | @davidbrochart | @dhirschfeld | @jankatins | @kevin-bates | @minrk | @takluyver | @yuvipanda
7.0.1#
Merged PRs#
Use formal method names when called internally #683 (@kevin-bates)
Contributors to this release#
7.0.0#
Summary#
The 7.0 release brings a major feature in Kernel Provisioners, which enable the ability for third parties to manage the lifecycle of a kernel’s runtime environment.
Being a major release, there are some backward incompatible changes. Please see the migration guide for further details.
Enhancements made#
Kernel Provisioning - initial implementation #612 (@kevin-bates)
Bugs fixed#
Fix up some async method aliases in KernelManager #670 (@kevin-bates)
Support
answer_yes
when removing kernel specs #659 (@davidbrochart)Include process ID in message ID #655 (@takluyver)
Fix qtconsole issues #638 (@davidbrochart)
Maintenance and upkeep improvements#
Added debugger key in
kernel_info_reply
#486 (@JohanMabille)Force install
jupyter_client
master #675 (@davidbrochart)Rename trait to
allowed_kernelspecs
#672 (@blink1073)Remove block parameter from
get_msg()
#671 (@davidbrochart)Only import
nest_asyncio
locally #665 (@SylvainCorlay)Use a default serializer that is not only for date types #664 (@martinRenou)
Updated
debug_info_response
#657 (@JohanMabille)Update test kernel with native coroutine, remove
async_generator
dependency #646 (@kevin-bates)Test downstream projects #644 (@davidbrochart)
Remove deprecations in kernel manager #643 (@kevin-bates)
Add
block=True
back toget_msg()
#641 (@davidbrochart)Pin
python>=3.6.1
#636 (@davidbrochart)Use
pre-commit
#631 (@davidbrochart)Attempt CI with
ipykernel
6.0 prerelease #629 (@SylvainCorlay)Make
KernelManager
subclass tests DRY #628 (@davidbrochart)Add tests to ensure MultiKernelManager subclass methods are called #627 (@kevin-bates)
Add type annotations, refactor sync/async #623 (@davidbrochart)
Documentation improvements#
Create migration guide #681 (@blink1073)
Update changelog for 7.0.0rc0 #673 (@blink1073)
Added documentation for
richInspectVariables
request #654 (@JohanMabille)Added missing documentation for the inspectVariables request and resp… #649 (@JohanMabille)
Add status field to other replies in documentation #648 (@yitzchak)
Contributors to this release#
(GitHub contributors page for this release)
@afshin | @blink1073 | @Carreau | @ccordoba12 | @davidbrochart | @dhirschfeld | @dolfinus | @echarles | @impact27 | @JohanMabille | @kevin-bates | @martinRenou | @mattip | @minrk | @MSeal | @SylvainCorlay | @takluyver | @vidartf | @yitzchak
6.2.0#
Yanked (PyPI) and marked as broken (conda)
6.1.13#
Yanked (PyPI) and marked as broken (conda)
6.1.12#
Shutdown request sequence has been modified to be more graceful, it now is preceded by interrupt, and will also send a
SIGTERM
before forcibly killing the kernel. #620Removal of
ipython_genutils
as a dependency. It was implicit before; but required by at least traitlets thus avoiding issues. We are working on completely removing it from all jupyter dependencies; as it might lead to issues packaging for Python 3.10, and was mostly used for compatibility with python 2. (#620, #605)Address a race condition between
shutdown_kernel
and restarter. (#607.)
See the full list of pull-requests
6.1.11#
Move jedi pinning to test requirements #599
6.1.10#
Add change parameter needed for observer method of kernel_spec_manager trait #598
6.1.9#
Pin jedi<=0.17.2 #596
6.1.8#
Fix path to the connection file #568
Silence kill_kernel when no process is present #576
Remove extra_env and corresponding test #581
Add documentation dependencies to setup.py #582
Fix for Windows localhost IP addresses #584
Drop Travis CI, add GitHub Actions #586
Adapt KernelManager._kernel_spec_manager_changed to observe #588
Allow use ~/ in the kernel’s command or its arguments #589
Change wait_for_ready logic #592
Fix test_session with msgpack v1 #594
6.1.6#
6.1.5#
6.1.4#
(Deleted release with incorrect local files)
6.1.3#
6.1.2#
Fixed a bug causing clients to sometimes hang after a stop call was made #536
6.1.1#
6.1.0#
This release includes support for asyncio patterns! Downstream tools should soon have releases to additionally support async patterns.
6.0.0#
The git history had to be reworked heavily in merging 5.x and master, so a link to all the changes at once in github had been left out as it’s just confusing.
An exciting change in this release is some async support (huge thanks to @davidbrochart for doing most of the work)! See linked PR below for more details, we’re working on integrating this into nbclient as well in the near future.
New Features:
Added async API #506
Changes:
Python 3.8 testing and support added #509
Session.msg_id optimization #493
Only cache ports if the cache_ports flag is set to True #492
Removed direct dependency on pywin32 as this is now in jupyter core #489
Fixes:
Prevent two kernels to have the same ports #490
Docs:
Document the handling of error in do_execute #500
Breaking changes:
Dropped support for Python 2.7!
5.3.5#
5.3.4#
Changed secure_write to be imported from jupyter_core with fix for extended usernames in Windows #483.
5.3.3#
Fixed issue with non-english windows permissions #478. Potential issue still open in use with jupyerlab.
5.3.2#
Important files creation now checks umask permissions #469.
5.3.1#
Fix bug with control channel socket introduced in 5.3.0 #456.
5.3.0#
New Features:
Changes:
Control channel now in the public API #447
Closing Jupyter Client is now faster #420
Pip support improvements #421
Breaking changes:
Dropped support for Python 3.3 and 3.4 (upstream packages dropped support already)
5.2.4#
5.2.3#
5.2.2#
Fix
.KernelSpecManager.get_all_specs
method in subclasses that only override.KernelSpecManager.find_kernel_specs
and.KernelSpecManager.get_kernel_spec
. See #338 and #339.Eliminate occasional error messages during process exit #336.
Improve error message when attempting to bind on invalid address #330.
Add missing direct dependency on tornado #323.
5.2.1#
5.2#
Define Jupyter protocol version 5.3:
Kernels can now opt to be interrupted by a message sent on the control channel instead of a system signal. See
kernelspecs
andmsging_interrupt
#294.
New
jupyter kernel
command to launch an installed kernel by name #240.Kernelspecs where the command starts with e.g.
python3
orpython3.6
—matching the versionjupyter_client
is running on—are now launched with the same Python executable as the launching process #306. This extends the special handling ofpython
added in 5.0.Command line arguments specified by a kernelspec can now include
{resource_dir}
, which will be substituted with the kernelspec resource directory path when the kernel is launched #289.Kernelspecs now have an optional
metadata
field to hold arbitrary metadata about kernels—seekernelspecs
#274.Make the
KernelRestarter
class used by aKernelManager
configurable #290.When killing a kernel on Unix, kill its process group #314.
If a kernel dies soon after starting, reassign random ports before restarting it, in case one of the previously chosen ports has been bound by another process #279.
Avoid unnecessary filesystem operations when finding a kernelspec with
.KernelSpecManager.get_kernel_spec
#311..KernelSpecManager.get_all_specs
will no longer raise an exception on encountering an invalidkernel.json
file. It will raise a warning and continue #310.Check for non-contiguous buffers before trying to send them through ZMQ #258.
Compatibility with upcoming Tornado version 5.0 #304.
Simplify setup code by always using setuptools #284.
Soften warnings when setting the sticky bit on runtime files fails #286.
Various corrections and improvements to documentation.
5.1#
Define Jupyter protocol version 5.2, resolving ambiguity of
cursor_pos
field in the presence of unicode surrogate pairs.::: {.seealso}
cursor_pos_unicode_note
:::Add
Session.clone
for making a copy of a Session object without sharing the digest history. Reusing a single Session object to connect multiple sockets to the same IOPub peer can cause digest collisions.Avoid global references preventing garbage collection of background threads.
5.0#
5.0.1#
Update internal protocol version number to 5.1, which should have been done in 5.0.0.
5.0.0#
New features:
Implement Jupyter protocol version 5.1.
Introduce
jupyter run
command for running scripts with a kernel, for instance:jupyter run --kernel python3 myscript.py
New method
.BlockingKernelClient.execute_interactive
for running code and capturing or redisplaying its output.New
KernelManager.shutdown_wait_time
configurable for adjusting the time for a kernel manager to wait after politely requesting shutdown before it resorts to forceful termination.
Fixes:
Set sticky bit on connection-file directory to avoid getting cleaned up.
jupyter_client.launcher.launch_kernel
passes through additional options to the underlying Popen, matchingKernelManager.start_kernel
.Check types of
buffers
argument in.Session.send
, so that TypeErrors are raised immediately, rather than in the eventloop.
Changes:
In kernelspecs, if the executable is the string
python
(as opposed to an absolute path),sys.executable
will be used rather than resolvingpython
on PATH. This should enable Python-based kernels to install kernelspecs as part of wheels.kernelspec names are now validated. They should only include ascii letters and numbers, plus period, hyphen, and underscore.
Backward-incompatible changes:
:py
.datetime
objects returned in parsed messages are now always timezone-aware. Timestamps in messages without timezone info are interpreted as the local timezone, as this was the behavior in earlier versions.
4.4#
4.4.0#
Add
.KernelClient.load_connection_info
on KernelClient, etc. for loading connection info directly from a dict, not just from files.Include parent headers when adapting messages from older protocol implementations (treats parent headers the same as headers).
Compatibility fixes in tests for recent changes in ipykernel.
4.3#
4.3.0#
Adds
--sys-prefix
argument tojupyter kernelspec install
, for better symmetry withjupyter nbextension install
, etc.
4.2#
4.2.2#
Another fix for the
start_new_kernel
issue in 4.2.1 affecting slow-starting kernels.
4.2.1#
Fix regression in 4.2 causing
start_new_kernel
to fail while waiting for kernels to become available.
4.2.0#
added
jupyter kernelspec remove
for removing kernelspecsallow specifying the environment for kernel processes via the
env
argumentadded
name
field to connection files identifying the kernelspec name, so that consumers of connection files (alternate frontends) can identify the kernelspec in useadded
KernelSpecManager.get_all_specs
for getting all kernelspecs more efficientlyvarious improvements to error messages and documentation
4.1#
4.1.0#
Highlights:
Setuptools fixes for
jupyter kernelspec
jupyter kernelspec list
includes pathsadd
KernelManager.blocking_client
provisional implementation of
comm_info
requests from upcoming 5.1 release of the protocol
4.0#
The first release of Jupyter Client as its own package.