commit python-envisage for openSUSE:Factory
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 <toddrme2178@gmail.com> + +- 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: enthought-dev@enthought.com 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) + + +@unittest.skipUnless(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) +@unittest.skipUnless(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: enthought-dev@enthought.com 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)
participants (1)
-
root