diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..fcc7b97
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ test
+
diff --git a/jupyter-client.pdf b/jupyter-client.pdf
deleted file mode 100644
index d178711..0000000
--- a/jupyter-client.pdf
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:91c04459831b92b0609541f3c4037cfbe8322d13f5a154414e02c845228a3407
-size 398672
diff --git a/jupyter-client.zip b/jupyter-client.zip
deleted file mode 100644
index bf17487..0000000
--- a/jupyter-client.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:aa31351d64bd29adcc268817fc8f596653927a11f4bd9f86001db851c8c2ab72
-size 3560469
diff --git a/jupyter_client-5.3.4.tar.gz b/jupyter_client-5.3.4.tar.gz
deleted file mode 100644
index 3b0fbbe..0000000
--- a/jupyter_client-5.3.4.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910
-size 275850
diff --git a/jupyter_client-6.0.0.tar.gz b/jupyter_client-6.0.0.tar.gz
new file mode 100644
index 0000000..f8fc33e
--- /dev/null
+++ b/jupyter_client-6.0.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1fac6e3be1e797aea33d5cd1cfa568ff1ee71e01180bc89f64b24ee274f1f126
+size 286697
diff --git a/python-jupyter-client-doc.changes b/python-jupyter-client-doc.changes
deleted file mode 100644
index 2d66c2d..0000000
--- a/python-jupyter-client-doc.changes
+++ /dev/null
@@ -1,242 +0,0 @@
--------------------------------------------------------------------
-Tue Nov 12 15:39:47 UTC 2019 - Todd R
-
-- Update to version 5.3.4
- * Updated for latest core release
- * Changed requirement to min version needed to run
- * Changed secure write to load from core
-- Update to version 5.3.3
- * Fix get admin group SID
-- Update to version 5.3.2
- * Attempt to fix for python 2
- * Added support for secure windows file writes
- * Added test and chmod catch for secure_write
- * Secure write for connection file
-- Rename to python-jupyter-client to reflect upstream rename.
-
--------------------------------------------------------------------
-Sat Jul 27 23:06:22 UTC 2019 - Todd R
-
-- Update to 5.3.1
- * Fix bug with control channel socket introduced in 5.3.0
-- Update to 5.3.0
- + New Features:
- * Multiprocessing and Threading support
- * Setup package long_description
- + Changes:
- * Control channel now in the public API
- * Closing Jupyter Client is now faster
- * Pip support improvements
- + Breaking changes:
- * Dropped support for Python 3.3 and 3.4 (upstream packages dropped support already)
-
--------------------------------------------------------------------
-Thu Apr 25 01:59:57 UTC 2019 - Todd R
-
-- Split jupyter components into own subpackage.
-- Rename doc package to match jupyter name.
-
--------------------------------------------------------------------
-Sat Dec 22 07:00:02 UTC 2018 - Todd R
-
-- Update to 5.2.4
- * Prevent creating new console windows on Windows (:ghpull:`346`)
- * Fix interrupts on Python 3.7 on Windows (:ghpull:`408`)
-
--------------------------------------------------------------------
-Thu Apr 12 20:47:13 UTC 2018 - arun@gmx.de
-
-- specfile:
- - remove fix_COPY_THRESHOLD.patch, included upstream
-
-- update to version 5.2.3:
- * Fix hang on close in :class:`.ThreadedKernelClient` (used in
- QtConsole) when using tornado with asyncio (default behavior of
- tornado 5, see :ghpull:`352`).
- * Fix errors when using deprecated :attr:`.KernelManager.kernel_cmd`
- (:ghpull:`343`, :ghpull:`344`).
-
--------------------------------------------------------------------
-Tue Feb 13 04:21:49 UTC 2018 - toddrme2178@gmail.com
-
-- Update dependencies.
-- Add fix_COPY_THRESHOLD.patch
- Fixes tests for pyzmq < 17
- See: https://github.com/jupyter/jupyter_client/pull/349
-
--------------------------------------------------------------------
-Sat Feb 10 17:57:17 UTC 2018 - arun@gmx.de
-
-- update to version 5.2.2:
- * Fix :meth:`.KernelSpecManager.get_all_specs` method in subclasses
- that only override :meth:`.KernelSpecManager.find_kernel_specs`
- and :meth:`.KernelSpecManager.get_kernel_spec`. See :ghissue:`338`
- and :ghpull:`339`.
- * Eliminate occasional error messages during process exit
- (:ghpull:`336`).
- * Improve error message when attempting to bind on invalid address
- (:ghpull:`330`).
- * Add missing direct dependency on tornado (:ghpull:`323`).
-
--------------------------------------------------------------------
-Thu Jan 4 17:16:22 UTC 2018 - arun@gmx.de
-
-- specfile:
- * update copyright year
-
-- update to version 5.2.1:
- * Add parenthesis to conditional pytest requirement to work around a
- bug in the wheel package, that generate a .whl which otherwise
- always depends on pytest see :ghissue:`324` and :ghpull:`325`
-
--------------------------------------------------------------------
-Thu Dec 21 18:46:10 UTC 2017 - arun@gmx.de
-
-- specfile:
- * add binary for python3 jupyter-{kernel, kernelspec, run}
-
-- update to version 5.2.0:
- * 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
- :ref:`kernelspecs` and :ref:`msging_interrupt` (:ghpull:`294`).
- * New jupyter kernel command to launch an installed kernel by name
- (:ghpull:`240`).
- * Kernelspecs where the command starts with e.g. python3 or
- python3.6—matching the version jupyter_client is running on—are
- now launched with the same Python executable as the launching
- process (:ghpull:`306`). This extends the special handling of
- python 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
- (:ghpull:`289`).
- * Kernelspecs now have an optional metadata field to hold arbitrary
- metadata about kernels—see :ref:`kernelspecs` (:ghpull:`274`).
- * Make the KernelRestarter class used by a KernelManager
- configurable (:ghpull:`290`).
- * When killing a kernel on Unix, kill its process group
- (:ghpull:`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 (:ghpull:`279`).
- * Avoid unnecessary filesystem operations when finding a kernelspec
- with :meth:`.KernelSpecManager.get_kernel_spec` (:ghpull:`311`).
- * :meth:`.KernelSpecManager.get_all_specs` will no longer raise an
- exception on encountering an invalid kernel.json file. It will
- raise a warning and continue (:ghpull:`310`).
- * Check for non-contiguous buffers before trying to send them
- through ZMQ (:ghpull:`258`).
- * Compatibility with upcoming Tornado version 5.0 (:ghpull:`304`).
- * Simplify setup code by always using setuptools (:ghpull:`284`).
- * Soften warnings when setting the sticky bit on runtime files fails
- (:ghpull:`286`).
- * Various corrections and improvements to documentation.
-
--------------------------------------------------------------------
-Tue Sep 19 19:45:32 UTC 2017 - toddrme2178@gmail.com
-
-- Update to version 5.1
- * Define Jupyter protocol version 5.2,
- resolving ambiguity of ``cursor_pos`` field in the presence
- of unicode surrogate pairs.
- * Add :meth:`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.
-
--------------------------------------------------------------------
-Wed Apr 26 18:38:46 UTC 2017 - toddrme2178@gmail.com
-
-- Implement single-spec version.
-
--------------------------------------------------------------------
-Fri Apr 7 18:56:07 UTC 2017 - toddrme2178@gmail.com
-
-- Clean up alternatives usage.
-
--------------------------------------------------------------------
-Fri Apr 7 03:06:54 UTC 2017 - toddrme2178@gmail.com
-
-- Update to 5.0.1
- * Update internal protocol version number to 5.1,
- which should have been done in 5.0.0.
-
--------------------------------------------------------------------
-Thu Mar 30 19:12:38 UTC 2017 - toddrme2178@gmail.com
-
-- Update to 5.0.0
- + New features:
- * Introduce :command:`jupyter run` command for running scripts with a kernel, for instance::
- jupyter run --kernel python3 myscript.py
- * New method :meth:`.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.
- * :func:`jupyter_client.launcher.launch_kernel` passes through additional options to the underlying Popen,
- matching :meth:`KernelManager.start_kernel`.
- * Check types of ``buffers`` argument in :meth:`.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 resolving ``python`` 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:class:`.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.
-- Update to 4.4.0
- * Add :meth:`.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.
-- Update to 4.3.0
- * Adds ``--sys-prefix`` argument to :command:`jupyter kernelspec install`,
- for better symmetry with :command:`jupyter nbextension install`, etc.
-- Update to 4.2.2
- * Another fix for the :func:`start_new_kernel` issue in 4.2.1 affecting slow-starting kernels.
-- Update to 4.2.1
- * Fix regression in 4.2 causing :func:`start_new_kernel`
- to fail while waiting for kernels to become available.
-- Update to 4.2.0
- * added :command:`jupyter kernelspec remove` for removing kernelspecs
- * allow specifying the environment for kernel processes via the ``env`` argument
- * added ``name`` field to connection files identifying the kernelspec name,
- so that consumers of connection files (alternate frontends) can identify the kernelspec in use
- * added :meth:`KernelSpecManager.get_all_specs` for getting all kernelspecs more efficiently
- * various improvements to error messages and documentation
-- Split documentation into own subpackage
-
--------------------------------------------------------------------
-Mon Oct 12 13:44:23 UTC 2015 - toddrme2178@gmail.com
-
-- update to version 4.1.1:
- * Setuptools fixes for jupyter kernelspec
- * jupyter kernelspec list includes paths
- * add :meth:`KernelManager.blocking_client`
- * provisional implementation of comm_info requests from upcoming 5.1
- release of the protocol
-
--------------------------------------------------------------------
-Thu Oct 1 12:04:25 UTC 2015 - toddrme2178@gmail.com
-
-- Build documentation
-
--------------------------------------------------------------------
-Fri Aug 14 07:03:18 UTC 2015 - toddrme2178@gmail.com
-
-- Fix update-alternatives usage
-
--------------------------------------------------------------------
-Tue Jul 21 14:28:11 UTC 2015 - toddrme2178@gmail.com
-
-- Initial version
-
diff --git a/python-jupyter-client-doc.spec b/python-jupyter-client-doc.spec
deleted file mode 100644
index 309250f..0000000
--- a/python-jupyter-client-doc.spec
+++ /dev/null
@@ -1,107 +0,0 @@
-#
-# spec file for package python-jupyter-client-doc
-#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
-#
-# All modifications and additions to the file contributed by third parties
-# remain the property of their copyright owners, unless otherwise agreed
-# upon. The license for this file, and modifications and additions to the
-# file, is the same license as for the pristine package itself (unless the
-# license for the pristine package is not an Open Source License, in which
-# case the license is the MIT License). An "Open Source License" is a
-# license that conforms to the Open Source Definition (Version 1.9)
-# published by the Open Source Initiative.
-
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
-#
-
-
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define doc_ver 5.2.3
-%bcond_without tests
-Name: python-jupyter-client-doc
-Version: 5.3.4
-Release: 0
-Summary: Documentation for the Jupyter client libraries
-License: BSD-3-Clause
-Group: Documentation/Other
-URL: https://github.com/jupyter/jupyter_client
-Source0: https://files.pythonhosted.org/packages/source/j/jupyter_client/jupyter_client-%{version}.tar.gz
-Source1: https://buildmedia.readthedocs.org/media/pdf/jupyter-client/%{doc_ver}/jupyter-client.pdf
-Source2: https://buildmedia.readthedocs.org/media/htmlzip/jupyter-client/%{doc_ver}/jupyter-client.zip
-BuildRequires: %{python_module jupyter-client}
-BuildRequires: fdupes
-BuildRequires: python-rpm-macros
-BuildRequires: unzip
-Provides: %{name}-html = %{version}
-Provides: %{name}-pdf = %{version}
-Obsoletes: %{name}-html < %{version}
-Obsoletes: %{name}-pdf < %{version}
-BuildArch: noarch
-%if %{with tests}
-# Test Requirements
-BuildRequires: %{python_module backcall}
-BuildRequires: %{python_module ipykernel}
-BuildRequires: %{python_module nose}
-BuildRequires: %{python_module pytest}
-# Python 2.7 test requirements
-BuildRequires: python-mock
-%endif
-# Documentation requirements
-%if %{with pdf} || %{with html}
-BuildRequires: %{python_module sphinxcontrib-github-alt}
-BuildRequires: python3-Sphinx
-%endif
-%if %{with pdf}
-BuildRequires: python3-Sphinx-latex
-%endif
-
-%description
-This package contains documentation and help files for the Jupyter
-client libraries.
-
-%package -n jupyter-jupyter-client-doc
-Summary: Documentation for the Jupyter client libraries
-Group: Documentation/Other
-Requires: jupyter-jupyter-client = %{version}
-Provides: python-jupyter-client-doc = %{version}
-Obsoletes: python-jupyter-client-doc < %{version}
-Provides: jupyter-jupyter_client-doc = %{version}
-Obsoletes: jupyter-jupyter_client-doc < %{version}
-Provides: %{python_module jupyter-client-doc = %{version}}
-Obsoletes: %{python_module jupyter-client-doc < %{version}}
-
-%description -n jupyter-jupyter-client-doc
-This package contains documentation and help files for the Jupyter
-client libraries.
-
-%prep
-%setup -q -n jupyter_client-%{version}
-unzip %{SOURCE2} -d docs
-mv docs/jupyter-client-* docs/html
-rm docs/html/.buildinfo
-
-%build
-# Not needed
-
-%install
-mkdir -p %{buildroot}%{_docdir}/jupyter-jupyter-client
-
-cp %{SOURCE1} %{buildroot}%{_docdir}/jupyter-jupyter-client/
-cp -r docs/html %{buildroot}%{_docdir}/jupyter-jupyter-client/
-
-%fdupes %{buildroot}%{_docdir}/jupyter-jupyter-client/
-
-%if %{with tests}
-%check
-pushd jupyter_client/tests
-%pytest
-popd
-%endif
-
-%files -n jupyter-jupyter-client-doc
-%license COPYING.md
-%{_docdir}/jupyter-jupyter-client/jupyter-client.pdf
-%{_docdir}/jupyter-jupyter-client/html/
-
-%changelog
diff --git a/python-jupyter-client.changes b/python-jupyter-client.changes
index 2d66c2d..75144de 100644
--- a/python-jupyter-client.changes
+++ b/python-jupyter-client.changes
@@ -1,3 +1,25 @@
+-------------------------------------------------------------------
+Mon Feb 24 15:15:04 UTC 2020 - Todd R
+
+- Update to version 6.0.0
+ + New Features:
+ * Added async API
+ + Changes:
+ * Python 3.8 testing and support added
+ * Session.msg_id optimization
+ * Only cache ports if the cache_ports flag is set to True
+ * Removed direct dependency on pywin32 as this is now in jupyter core
+ + Fixes:
+ * Prevent two kernels to have the same ports
+ + Docs:
+ * Document the handling of error in do_execute
+ + Breaking changes:
+ * Dropped support for Python 2.7!
+- Implement tests via multibuild
+- Drop doc subpackage. This was only around to resolve dependency
+ cycles in testing, which the multibuild now does. Keeping up
+ with rapid changes in readthedocs was becoming difficult.
+
-------------------------------------------------------------------
Tue Nov 12 15:39:47 UTC 2019 - Todd R
diff --git a/python-jupyter-client.spec b/python-jupyter-client.spec
index 5476430..036694d 100644
--- a/python-jupyter-client.spec
+++ b/python-jupyter-client.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-jupyter-client
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,19 @@
#
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test"
+%define psuffix -test
+%bcond_without test
+%else
+%define psuffix %{nil}
+%bcond_with test
+%endif
+
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define oldpython python
-Name: python-jupyter-client
-Version: 5.3.4
+%define skip_python2 1
+Name: python-jupyter-client%{psuffix}
+Version: 6.0.0
Release: 0
Summary: Jupyter protocol implementation and client libraries
License: BSD-3-Clause
@@ -38,11 +47,12 @@ Requires: python-tornado >= 4.1
Requires: python-traitlets
Provides: python-jupyter_client = %{version}
Obsoletes: python-jupyter_client < %{version}
-%ifpython2
-Provides: %{oldpython}-jupyter_client = %{version}
-Obsoletes: %{oldpython}-jupyter_client < %{version}
-%endif
BuildArch: noarch
+%if %{with test}
+BuildRequires: %{python_module Sphinx}
+BuildRequires: %{python_module ipykernel}
+BuildRequires: %{python_module pytest}
+%endif
%python_subpackages
%description
@@ -60,6 +70,8 @@ Group: Development/Languages/Python
Requires: python3-jupyter-client = %{version}
Provides: jupyter-jupyter_client = %{version}
Obsoletes: jupyter-jupyter_client < %{version}
+Provides: jupyter-jupyter-client-doc = %{version}
+Obsoletes: jupyter-jupyter-client-doc < %{version}
%description -n jupyter-jupyter-client
This package contains the reference implementation of the Jupyter protocol.
@@ -77,9 +89,19 @@ This package provides the jupyter components.
%python_build
%install
+%if !%{with test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%endif
+%if %{with test}
+%check
+pushd jupyter_client/tests
+%pytest
+popd
+%endif
+
+%if !%{with test}
%files %{python_files}
%license COPYING.md
%{python_sitelib}/jupyter_client-%{version}-py*.egg-info
@@ -91,5 +113,6 @@ This package provides the jupyter components.
%{_bindir}/jupyter-kernel
%{_bindir}/jupyter-kernelspec
%{_bindir}/jupyter-run
+%endif
%changelog