Hello community,
here is the log from the commit of package python-envisage for openSUSE:Factory
checked in at 2018-12-31 09:46:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-envisage (Old)
and /work/SRC/openSUSE:Factory/.python-envisage.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-envisage"
Mon Dec 31 09:46:28 2018 rev:3 rq:660730 version:4.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-envisage/python-envisage.changes
2018-06-29 22:27:56.066413965 +0200
+++
/work/SRC/openSUSE:Factory/.python-envisage.new.28833/python-envisage.changes
2018-12-31 09:47:19.254170698 +0100
@@ -1,0 +2,11 @@
+Sat Dec 22 02:11:33 UTC 2018 - Todd R <[email protected]>
+
+- Update to version 4.7.0
+ * Add failing test and fix for old-style relative import. (#109)
+ * Old-style relative import ipython_kernel plugin (#108)
+ * Fix attractors example (#103)
+ * Use --gui rather than --matplotlib when starting IPython kernel. (#101)
+ * InternalIPKernel.shutdown method doesn't stop the kernel's IOPubThread
(#93)
+ * Fix task layout serialization under Python3
+
+-------------------------------------------------------------------
Old:
----
envisage-4.6.0.tar.gz
New:
----
envisage-4.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-envisage.spec ++++++
--- /var/tmp/diff_new_pack.Qfw2HV/_old 2018-12-31 09:47:19.926170147 +0100
+++ /var/tmp/diff_new_pack.Qfw2HV/_new 2018-12-31 09:47:19.926170147 +0100
@@ -17,10 +17,11 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
%define X_display ":98"
%bcond_with test
Name: python-envisage
-Version: 4.6.0
+Version: 4.7.0
Release: 0
Summary: Extensible application framework for Python
# Source code is under BSD but images are under different licenses
++++++ envisage-4.6.0.tar.gz -> envisage-4.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/envisage-4.6.0/PKG-INFO new/envisage-4.7.0/PKG-INFO
--- old/envisage-4.6.0/PKG-INFO 2017-01-19 16:51:29.000000000 +0100
+++ new/envisage-4.7.0/PKG-INFO 2018-08-15 21:19:05.000000000 +0200
@@ -1,12 +1,13 @@
Metadata-Version: 1.1
Name: envisage
-Version: 4.6.0
+Version: 4.7.0
Summary: extensible application framework
Home-page: http://docs.enthought.com/envisage
Author: ETS Developers
Author-email: [email protected]
License: BSD
Download-URL: https://github.com/enthought/envisage
+Description-Content-Type: UNKNOWN
Description: ==========================================
envisage: extensible application framework
==========================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/envisage-4.6.0/envisage/_version.py
new/envisage-4.7.0/envisage/_version.py
--- old/envisage-4.6.0/envisage/_version.py 2017-01-19 16:51:29.000000000
+0100
+++ new/envisage-4.7.0/envisage/_version.py 2018-08-15 21:19:04.000000000
+0200
@@ -1,7 +1,7 @@
# This file was automatically generated from the `setup.py` script.
-version = '4.6.0'
-full_version = '4.6.0'
-git_revision = '40fc473'
+version = '4.7.0'
+full_version = '4.7.0'
+git_revision = 'Unknown'
is_released = True
if not is_released:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/envisage-4.6.0/envisage/plugins/ipython_kernel/api.py
new/envisage-4.7.0/envisage/plugins/ipython_kernel/api.py
--- old/envisage-4.6.0/envisage/plugins/ipython_kernel/api.py 2016-06-24
12:13:11.000000000 +0200
+++ new/envisage-4.7.0/envisage/plugins/ipython_kernel/api.py 2018-08-10
20:08:30.000000000 +0200
@@ -1 +1 @@
-from ipython_kernel_plugin import IPythonKernelPlugin, IPYTHON_KERNEL_PROTOCOL
# noqa
+from .ipython_kernel_plugin import IPythonKernelPlugin,
IPYTHON_KERNEL_PROTOCOL # noqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/envisage-4.6.0/envisage/plugins/ipython_kernel/internal_ipkernel.py
new/envisage-4.7.0/envisage/plugins/ipython_kernel/internal_ipkernel.py
--- old/envisage-4.6.0/envisage/plugins/ipython_kernel/internal_ipkernel.py
2017-01-19 15:49:00.000000000 +0100
+++ new/envisage-4.7.0/envisage/plugins/ipython_kernel/internal_ipkernel.py
2018-08-10 20:08:30.000000000 +0200
@@ -9,14 +9,14 @@
from traits.api import Any, HasStrictTraits, Instance, List
-def mpl_kernel(gui_backend):
- """ Launch and return an IPython kernel with matplotlib support.
+def gui_kernel(gui_backend):
+ """ Launch and return an IPython kernel GUI with support.
Parameters
----------
gui_backend -- string or None
- The GUI mode used to initialize the matplotlib mode. For options, see
- the `ipython --matplotlib` help pages. If None, the kernel is initialized
+ The GUI mode used to initialize the GUI mode. For options, see
+ the `ipython --gui` help pages. If None, the kernel is initialized
without GUI support.
"""
@@ -24,7 +24,7 @@
argv = ['python']
if gui_backend is not None:
- argv.append('--matplotlib={}'.format(gui_backend))
+ argv.append('--gui={}'.format(gui_backend))
kernel.initialize(argv)
return kernel
@@ -55,11 +55,11 @@
Parameters
----------
gui_backend -- string
- The GUI mode used to initialize the matplotlib mode. For options, see
- the `ipython --matplotlib` help pages.
+ The GUI mode used to initialize the GUI mode. For options, see
+ the `ipython --gui` help pages.
"""
- # Start IPython kernel with GUI event loop and mpl support
- self.ipkernel = mpl_kernel(gui_backend)
+ # Start IPython kernel with GUI event loop support
+ self.ipkernel = gui_kernel(gui_backend)
# This application will also act on the shell user namespace
self.namespace = self.ipkernel.shell.user_ns
@@ -87,4 +87,5 @@
self.cleanup_consoles()
self.ipkernel.shell.exit_now = True
self.ipkernel.cleanup_connection_file()
+ self.ipkernel.iopub_thread.stop()
self.ipkernel = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/envisage-4.6.0/envisage/plugins/ipython_kernel/ipython_kernel_plugin.py
new/envisage-4.7.0/envisage/plugins/ipython_kernel/ipython_kernel_plugin.py
--- old/envisage-4.6.0/envisage/plugins/ipython_kernel/ipython_kernel_plugin.py
2016-06-24 12:13:11.000000000 +0200
+++ new/envisage-4.7.0/envisage/plugins/ipython_kernel/ipython_kernel_plugin.py
2018-08-10 20:08:30.000000000 +0200
@@ -30,7 +30,7 @@
name = 'IPython embedded kernel plugin'
def stop(self):
- logger.info('Shutting down the embedded ipython kernel')
+ logger.debug('Shutting down the embedded ipython kernel')
self.kernel.shutdown()
#### Extension points offered by this plugin ##############################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/envisage-4.6.0/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py
new/envisage-4.7.0/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py
---
old/envisage-4.6.0/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py
2017-01-19 15:49:00.000000000 +0100
+++
new/envisage-4.7.0/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py
2018-08-10 20:08:30.000000000 +0200
@@ -1,15 +1,24 @@
+import gc
import unittest
try:
- import IPython # noqa
+ import ipykernel # noqa: F401
except ImportError:
- from nose.plugins.skip import SkipTest
- raise SkipTest('IPython not available')
+ ipykernel_available = False
+else:
+ ipykernel_available = True
-from ipykernel.kernelapp import IPKernelApp
-from envisage.plugins.ipython_kernel.internal_ipkernel import InternalIPKernel
+if ipykernel_available:
+ from ipykernel.iostream import IOPubThread
+ from ipykernel.kernelapp import IPKernelApp
+ from envisage.plugins.ipython_kernel.internal_ipkernel import (
+ InternalIPKernel)
+
+
[email protected](ipykernel_available,
+ "skipping tests that require the ipykernel package")
class TestInternalIPKernel(unittest.TestCase):
def tearDown(self):
@@ -37,3 +46,18 @@
self.assertIn('x', kernel.namespace)
self.assertEqual(kernel.namespace['x'], 42.1)
kernel.shutdown()
+
+ def test_io_pub_thread_stopped(self):
+ kernel = InternalIPKernel()
+ kernel.init_ipkernel(gui_backend=None)
+ kernel.new_qt_console()
+ kernel.new_qt_console()
+ kernel.shutdown()
+
+ io_pub_threads = [
+ obj for obj in gc.get_objects()
+ if isinstance(obj, IOPubThread)
+ ]
+
+ for thread in io_pub_threads:
+ self.assertFalse(thread.thread.is_alive())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/envisage-4.6.0/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py
new/envisage-4.7.0/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py
---
old/envisage-4.6.0/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py
2017-01-19 15:49:00.000000000 +0100
+++
new/envisage-4.7.0/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py
2018-08-10 20:08:30.000000000 +0200
@@ -1,26 +1,40 @@
import unittest
+from traits.api import List
+
+from envisage._compat import STRING_BASE_CLASS
+from envisage.api import Application, Plugin
+from envisage.core_plugin import CorePlugin
+
+# Skip these tests unless ipykernel is available.
try:
- import IPython # noqa
+ import ipykernel # noqa: F401
except ImportError:
- from nose.plugins.skip import SkipTest
- raise SkipTest('IPython not available')
+ ipykernel_available = False
+else:
+ ipykernel_available = True
-from ipykernel.kernelapp import IPKernelApp
+if ipykernel_available:
+ from ipykernel.kernelapp import IPKernelApp
-from envisage.api import Application, Plugin
-from envisage.core_plugin import CorePlugin
-from envisage.plugins.ipython_kernel.internal_ipkernel import InternalIPKernel
-from envisage.plugins.ipython_kernel.ipython_kernel_plugin import (
- IPYTHON_KERNEL_PROTOCOL, IPYTHON_NAMESPACE, IPythonKernelPlugin)
-from traits.api import List
+ from envisage.plugins.ipython_kernel.internal_ipkernel import (
+ InternalIPKernel)
+ from envisage.plugins.ipython_kernel.ipython_kernel_plugin import (
+ IPYTHON_KERNEL_PROTOCOL, IPYTHON_NAMESPACE, IPythonKernelPlugin)
[email protected](ipykernel_available,
+ "skipping tests that require the ipykernel package")
class TestIPythonKernelPlugin(unittest.TestCase):
def tearDown(self):
IPKernelApp.clear_instance()
+ def test_import_from_api(self):
+ # Regression test for enthought/envisage#108
+ from envisage.plugins.ipython_kernel.api import IPYTHON_KERNEL_PROTOCOL
+ self.assertIsInstance(IPYTHON_KERNEL_PROTOCOL, STRING_BASE_CLASS)
+
def test_kernel_service(self):
# See that we can get the IPython kernel service when the plugin is
# there.
Binary files
old/envisage-4.6.0/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.6.egg and
new/envisage-4.7.0/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.6.egg differ
Binary files old/envisage-4.6.0/envisage/tests/eggs/acme.bar-0.1a1-py3.6.egg
and new/envisage-4.7.0/envisage/tests/eggs/acme.bar-0.1a1-py3.6.egg differ
Binary files old/envisage-4.6.0/envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg
and new/envisage-4.7.0/envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg differ
Binary files old/envisage-4.6.0/envisage/tests/eggs/acme.foo-0.1a1-py3.6.egg
and new/envisage-4.7.0/envisage/tests/eggs/acme.foo-0.1a1-py3.6.egg differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/envisage-4.6.0/envisage/ui/tasks/tasks_application.py
new/envisage-4.7.0/envisage/ui/tasks/tasks_application.py
--- old/envisage-4.6.0/envisage/ui/tasks/tasks_application.py 2017-01-05
11:02:50.000000000 +0100
+++ new/envisage-4.7.0/envisage/ui/tasks/tasks_application.py 2018-08-10
20:08:30.000000000 +0200
@@ -328,7 +328,7 @@
if os.path.exists(filename):
# Attempt to unpickle the saved application state.
try:
- with open(filename, 'r') as f:
+ with open(filename, 'rb') as f:
restored_state = pickle.load(f)
if state.version == restored_state.version:
state = restored_state
@@ -373,7 +373,7 @@
# Attempt to pickle the application state.
filename = os.path.join(self.state_location, 'application_memento')
try:
- with open(filename, 'w') as f:
+ with open(filename, 'wb') as f:
pickle.dump(self._state, f)
except:
# If anything goes wrong, log the error and continue.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/envisage-4.6.0/envisage.egg-info/PKG-INFO
new/envisage-4.7.0/envisage.egg-info/PKG-INFO
--- old/envisage-4.6.0/envisage.egg-info/PKG-INFO 2017-01-19
16:51:29.000000000 +0100
+++ new/envisage-4.7.0/envisage.egg-info/PKG-INFO 2018-08-15
21:19:04.000000000 +0200
@@ -1,12 +1,13 @@
Metadata-Version: 1.1
Name: envisage
-Version: 4.6.0
+Version: 4.7.0
Summary: extensible application framework
Home-page: http://docs.enthought.com/envisage
Author: ETS Developers
Author-email: [email protected]
License: BSD
Download-URL: https://github.com/enthought/envisage
+Description-Content-Type: UNKNOWN
Description: ==========================================
envisage: extensible application framework
==========================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/envisage-4.6.0/envisage.egg-info/SOURCES.txt
new/envisage-4.7.0/envisage.egg-info/SOURCES.txt
--- old/envisage-4.6.0/envisage.egg-info/SOURCES.txt 2017-01-19
16:51:29.000000000 +0100
+++ new/envisage-4.7.0/envisage.egg-info/SOURCES.txt 2018-08-15
21:19:04.000000000 +0200
@@ -221,21 +221,25 @@
envisage/tests/bad_eggs/acme.bad-0.1a1-py3.3.egg
envisage/tests/bad_eggs/acme.bad-0.1a1-py3.4.egg
envisage/tests/bad_eggs/acme.bad-0.1a1-py3.5.egg
+envisage/tests/bad_eggs/acme.bad-0.1a1-py3.6.egg
envisage/tests/eggs/acme.bar-0.1a1-py2.6.egg
envisage/tests/eggs/acme.bar-0.1a1-py2.7.egg
envisage/tests/eggs/acme.bar-0.1a1-py3.3.egg
envisage/tests/eggs/acme.bar-0.1a1-py3.4.egg
envisage/tests/eggs/acme.bar-0.1a1-py3.5.egg
+envisage/tests/eggs/acme.bar-0.1a1-py3.6.egg
envisage/tests/eggs/acme.baz-0.1a1-py2.6.egg
envisage/tests/eggs/acme.baz-0.1a1-py2.7.egg
envisage/tests/eggs/acme.baz-0.1a1-py3.3.egg
envisage/tests/eggs/acme.baz-0.1a1-py3.4.egg
envisage/tests/eggs/acme.baz-0.1a1-py3.5.egg
+envisage/tests/eggs/acme.baz-0.1a1-py3.6.egg
envisage/tests/eggs/acme.foo-0.1a1-py2.6.egg
envisage/tests/eggs/acme.foo-0.1a1-py2.7.egg
envisage/tests/eggs/acme.foo-0.1a1-py3.3.egg
envisage/tests/eggs/acme.foo-0.1a1-py3.4.egg
envisage/tests/eggs/acme.foo-0.1a1-py3.5.egg
+envisage/tests/eggs/acme.foo-0.1a1-py3.6.egg
envisage/tests/plugins/banana/__init__.py
envisage/tests/plugins/banana/banana_plugin.py
envisage/tests/plugins/banana/plugins.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/envisage-4.6.0/setup.cfg new/envisage-4.7.0/setup.cfg
--- old/envisage-4.6.0/setup.cfg 2017-01-19 16:51:29.000000000 +0100
+++ new/envisage-4.7.0/setup.cfg 2018-08-15 21:19:05.000000000 +0200
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/envisage-4.6.0/setup.py new/envisage-4.7.0/setup.py
--- old/envisage-4.6.0/setup.py 2017-01-19 16:08:50.000000000 +0100
+++ new/envisage-4.7.0/setup.py 2018-08-13 18:36:23.000000000 +0200
@@ -7,10 +7,10 @@
from setuptools import setup, find_packages
MAJOR = 4
-MINOR = 6
+MINOR = 7
MICRO = 0
-IS_RELEASED = True
+IS_RELEASED = True
VERSION = '%d.%d.%d' % (MAJOR, MINOR, MICRO)