Hello community,

here is the log from the commit of package python-oct2py for openSUSE:Factory 
checked in at 2019-07-24 20:34:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oct2py (Old)
 and      /work/SRC/openSUSE:Factory/.python-oct2py.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oct2py"

Wed Jul 24 20:34:17 2019 rev:3 rq:718006 version:5.0.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oct2py/python-oct2py.changes      
2019-06-02 15:18:10.390031775 +0200
+++ /work/SRC/openSUSE:Factory/.python-oct2py.new.4126/python-oct2py.changes    
2019-07-24 20:34:18.446582168 +0200
@@ -1,0 +2,9 @@
+Tue Jul 23 20:26:33 UTC 2019 - Todd R <[email protected]>
+
+- Update to version 5.0.4
+  * update example docs
+- Update to version 5.0.3
+  * switch to line_handler and add a carriage return test
+  * remove hardcoded email
+
+-------------------------------------------------------------------

Old:
----
  oct2py-5.0.2.tar.gz

New:
----
  oct2py-5.0.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oct2py.spec ++++++
--- /var/tmp/diff_new_pack.Y5Kb5p/_old  2019-07-24 20:34:18.942582113 +0200
+++ /var/tmp/diff_new_pack.Y5Kb5p/_new  2019-07-24 20:34:18.942582113 +0200
@@ -21,19 +21,23 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define         skip_python2 1
 Name:           python-oct2py
-Version:        5.0.2
+Version:        5.0.4
 Release:        0
 Summary:        Python to GNU Octave bridge
 License:        MIT
 Group:          Development/Languages/Python
 Url:            http://github.com/blink1073/oct2py
 Source:         
https://files.pythonhosted.org/packages/source/o/oct2py/oct2py-%{version}.tar.gz
+BuildRequires:  %{python_module numpy >= 1.12}
 BuildRequires:  %{python_module octave-kernel >= 0.30}
+BuildRequires:  %{python_module scipy >= 0.17}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 BuildRequires:  fdupes
+Requires:       python-numpy >= 1.12
 Requires:       python-octave-kernel >= 0.30
+Requires:       python-scipy >= 0.17
 BuildArch:      noarch
 
 %python_subpackages

++++++ oct2py-5.0.2.tar.gz -> oct2py-5.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/PKG-INFO new/oct2py-5.0.4/PKG-INFO
--- old/oct2py-5.0.2/PKG-INFO   2019-05-06 02:23:52.000000000 +0200
+++ new/oct2py-5.0.4/PKG-INFO   2019-06-02 12:07:56.000000000 +0200
@@ -1,110 +1,111 @@
-Metadata-Version: 2.1
-Name: oct2py
-Version: 5.0.2
-Summary: Python to GNU Octave bridge --> run m-files from python.
-Home-page: http://github.com/blink1073/oct2py
-Maintainer: Steven Silvester
-Maintainer-email: [email protected]
-License: MIT
-Download-URL: http://github.com/blink1073/oct2py
-Description: Oct2Py: Python to GNU Octave Bridge
-        ===================================
-        
-        .. image:: https://badge.fury.io/py/oct2py.png/
-            :target: http://badge.fury.io/py/oct2py
-        
-        .. image:: 
https://codecov.io/github/blink1073/oct2py/coverage.svg?branch=master
-          :target: https://codecov.io/github/blink1073/oct2py?branch=master
-        
-        .. image:: http://pepy.tech/badge/oct2py
-           :target: http://pepy.tech/project/oct2py
-           :alt: PyPi Download stats
-        
-        Oct2Py allows you to seamlessly call M-files and Octave functions from 
Python.
-        It manages the Octave session for you, sharing data behind the scenes 
using
-        MAT files.  Usage is as simple as:
-        
-        .. code-block:: python
-        
-            >>> oc = oct2py.Oct2Py()
-            >>> x = oc.zeros(3,3)
-            >>> print(x, x.dtype)
-            [[ 0.  0.  0.]
-             [ 0.  0.  0.]
-             [ 0.  0.  0.]] float64
-            ...
-        
-        If you want to run legacy m-files, do not have MATLAB®, and do not 
fully
-        trust a code translator, this is your library.
-        
-        
-        Features
-        --------
-        
-        - Supports all Octave datatypes and most Python datatypes and Numpy 
dtypes.
-        - Provides OctaveMagic_ for IPython, including inline plotting in 
notebooks.
-        - Supports cell arrays and structs/struct arrays with arbitrary 
nesting.
-        - Supports sparse matrices.
-        - Builds methods on the fly linked to Octave commands (e.g. `zeros` 
above).
-        - Thread-safety: each Oct2Py object uses an independent Octave session.
-        - Can be used as a context manager.
-        - Supports Unicode characters.
-        - Supports logging of session commands.
-        - Optional timeout command parameter to prevent runaway Octave 
sessions.
-        
-        
-        .. _OctaveMagic: 
https://nbviewer.jupyter.org/github/blink1073/oct2py/blob/master/example/octavemagic_extension.ipynb?create=1
-        
-        
-        Installation
-        ------------
-        You must have GNU Octave installed and in your ``PATH`` environment 
variable.
-        Alternatively, you can set an ``OCTAVE_EXECUTABLE`` or ``OCTAVE`` 
environment
-        variable that points to ``octave-cli`` executable itself.
-        
-        You must have the Numpy and Scipy libraries for Python installed.
-        See the installation instructions_ for more details.
-        
-        Once the dependencies have been installed, run:
-        
-        .. code-block:: bash
-        
-            $ pip install oct2py
-        
-        If using conda, it is available on conda-forge:
-        
-        .. code-block:: bash
-        
-           $ conda install -c conda-forge oct2py
-        
-        .. _instructions: 
http://blink1073.github.io/oct2py/source/installation.html
-        
-        
-        Documentation
-        -------------
-        
-        Documentation is available online_.
-        
-        For version information, see the Revision History_.
-        
-        .. _online: https://oct2py.readthedocs.io/en/latest/
-        
-        .. _History: 
https://github.com/blink1073/oct2py/blob/master/HISTORY.rst
-        
-Platform: Any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Topic :: Scientific/Engineering
-Classifier: Topic :: Software Development
-Requires: numpy (>= 1.12)
-Requires: scipy (>= 0.17)
-Requires: octave_kernel (>= 0.30.0)
-Provides-Extra: docs
-Provides-Extra: test
+Metadata-Version: 2.1
+Name: oct2py
+Version: 5.0.4
+Summary: Python to GNU Octave bridge --> run m-files from python.
+Home-page: http://github.com/blink1073/oct2py
+Maintainer: Steven Silvester
+Maintainer-email: [email protected]
+License: MIT
+Download-URL: http://github.com/blink1073/oct2py
+Description: Oct2Py: Python to GNU Octave Bridge
+        ===================================
+        
+        .. image:: https://badge.fury.io/py/oct2py.png/
+            :target: http://badge.fury.io/py/oct2py
+        
+        .. image:: 
https://codecov.io/github/blink1073/oct2py/coverage.svg?branch=master
+          :target: https://codecov.io/github/blink1073/oct2py?branch=master
+        
+        .. image:: http://pepy.tech/badge/oct2py
+           :target: http://pepy.tech/project/oct2py
+           :alt: PyPi Download stats
+        
+        Oct2Py allows you to seamlessly call M-files and Octave functions from 
Python.
+        It manages the Octave session for you, sharing data behind the scenes 
using
+        MAT files.  Usage is as simple as:
+        
+        .. code-block:: python
+        
+            >>> oc = oct2py.Oct2Py()
+            >>> x = oc.zeros(3,3)
+            >>> print(x, x.dtype)
+            [[ 0.  0.  0.]
+             [ 0.  0.  0.]
+             [ 0.  0.  0.]] float64
+            ...
+        
+        If you want to run legacy m-files, do not have MATLAB®, and do not 
fully
+        trust a code translator, this is your library.
+        
+        
+        Features
+        --------
+        
+        - Supports all Octave datatypes and most Python datatypes and Numpy 
dtypes.
+        - Provides OctaveMagic_ for IPython, including inline plotting in 
notebooks.
+        - Supports cell arrays and structs/struct arrays with arbitrary 
nesting.
+        - Supports sparse matrices.
+        - Builds methods on the fly linked to Octave commands (e.g. `zeros` 
above).
+        - Thread-safety: each Oct2Py object uses an independent Octave session.
+        - Can be used as a context manager.
+        - Supports Unicode characters.
+        - Supports logging of session commands.
+        - Optional timeout command parameter to prevent runaway Octave 
sessions.
+        
+        
+        .. _OctaveMagic: 
https://nbviewer.jupyter.org/github/blink1073/oct2py/blob/master/example/octavemagic_extension.ipynb?create=1
+        
+        
+        Installation
+        ------------
+        You must have GNU Octave installed and in your ``PATH`` environment 
variable.
+        Alternatively, you can set an ``OCTAVE_EXECUTABLE`` or ``OCTAVE`` 
environment
+        variable that points to ``octave-cli`` executable itself.
+        
+        You must have the Numpy and Scipy libraries for Python installed.
+        See the installation instructions_ for more details.
+        
+        Once the dependencies have been installed, run:
+        
+        .. code-block:: bash
+        
+            $ pip install oct2py
+        
+        If using conda, it is available on conda-forge:
+        
+        .. code-block:: bash
+        
+           $ conda install -c conda-forge oct2py
+        
+        .. _instructions: 
http://blink1073.github.io/oct2py/source/installation.html
+        
+        
+        Documentation
+        -------------
+        
+        Documentation is available online_.
+        
+        For version information, see the Revision History_.
+        
+        .. _online: https://oct2py.readthedocs.io/en/latest/
+        
+        .. _History: 
https://github.com/blink1073/oct2py/blob/master/HISTORY.rst
+        
+Platform: Any
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Science/Research
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Topic :: Scientific/Engineering
+Classifier: Topic :: Software Development
+Requires: numpy (>= 1.12)
+Requires: scipy (>= 0.17)
+Requires: octave_kernel (>= 0.31.0)
+Description-Content-Type: text/x-rst
+Provides-Extra: docs
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/docs/source/examples.rst 
new/oct2py-5.0.4/docs/source/examples.rst
--- old/oct2py-5.0.2/docs/source/examples.rst   2019-04-24 04:34:39.000000000 
+0200
+++ new/oct2py-5.0.4/docs/source/examples.rst   2019-06-02 12:06:07.000000000 
+0200
@@ -49,13 +49,12 @@
    >>> out, oclass = octave.roundtrip(x)
    >>> import pprint
    >>> pprint.pprint([x, x.dtype, out, oclass, out.dtype])
-   [array([[ 1.,  2.],
-          [ 3.,  4.]]),
-    dtype('float64'),
-    array([[ 1.,  2.],
-          [ 3.,  4.]]),
-    'double',
-    dtype('float64')]
+   [array([[1., 2.],
+         [3., 4.]]),
+   dtype('float64'),
+   array([1., 2.]),
+   array([3., 4.]),
+   dtype('<f8')]
 
 
 
@@ -67,58 +66,92 @@
 
 ::
 
-  function test = test_datatypes()
-    % Test of returning a structure with multiple
-    % nesting and multiple return types
-
-    %%%%%%%%%%%%%%%
-    % numeric types
-    % integers
-    test.num.int.int8 = int8(-2^7);
-    test.num.int.int16 = int16(-2^15);
-    test.num.int.int32 = int32(-2^31);
-    test.num.int.int64 = int64(-2^63);
-    test.num.int.uint8 = uint8(2^8-1);
-    test.num.int.uint16 = uint16(2^16-1);
-    test.num.int.uint32 = uint32(2^32-1);
-    test.num.int.uint64 = uint64(2^64-1);
-
-    %floats
-    test.num.float32 = single(pi);
-    test.num.float64 = double(pi);
-    test.num.complex = 3 + 1j;
-    test.num.complex_matrix = (1 + 1j) * rand([2 2])
-
-    % misc
-    test.num.inf = inf
-    test.num.NaN = NaN
-    test.num.matrix = [1 2; 3 4]
-    test.num.vector = [1 2 3 4]
-    test.num.column_vector = [1;2;3;4]
-    test.num.matrix3d = rand([2 3 4])
-    test.num.matrix5d = rand(1,2,3,4,5)
-
-    %%%%%%%%%%%%%%%
-    % logical type
-    test.logical = [10 20 30 40 50] > 30
-
-    %%%%%%%%%%%%%%%
-    % string types
-    test.string.basic = 'spam'
-    test.string.char_array = {'spam', 'eggs'; 'foo ', 'bar '}
-    test.string.cell_array = {'spam', 'eggs'}
-
-    %%%%%%%%%%%%%%%
-    % struct types
-    test.struct.array(1).name = 'Sharon'
-    test.struct.array(1).age = 31
-    test.struct.array(2).name = 'Bill'
-    test.struct.array(2).age = 42
-
-    %%%%%%%%%%%%%%%
-    % cell array types
-    test.cell.vector = {'spam', 4.0, [1 2 3]}
-    test.cell.matrix = {'Bob', 40; 'Pam', 41}
+   function test = test_datatypes()
+   % Test of returning a structure with multiple
+   % nesting and multiple return types
+   % Add a UTF char for test: 猫
+
+   %%%%%%%%%%%%%%%
+   % numeric types
+   % integers
+   test.num.int.int8 = int8(-2^7);
+   test.num.int.int16 = int16(-2^15);
+   test.num.int.int32 = int32(-2^31);
+   test.num.int.int64 = int64(-2^63);
+   test.num.int.uint8 = uint8(2^8-1);
+   test.num.int.uint16 = uint16(2^16-1);
+   test.num.int.uint32 = uint32(2^32-1);
+   test.num.int.uint64 = uint64(2^64-1);
+
+   %floats
+   test.num.float32 = single(pi);
+   test.num.float64 = double(pi);
+   test.num.complex = 3 + 1j;
+   test.num.complex_matrix = (1.2 + 1.1j) * magic(3);
+
+   % misc
+   test.num.inf = inf;
+   test.num.NaN = NaN;
+   test.num.matrix = [1 2; 3 4];
+   test.num.vector = [1 2 3 4];
+   test.num.column_vector = [1;2;3;4];
+   test.num.matrix3d = ones([2 3 4]) * pi;
+   test.num.matrix5d = ones(1,2,3,4,5) * pi;
+
+   %%%%%%%%%%%%%%%
+   % logical type
+   test.logical = [10 20 30 40 50] > 30;
+
+
+   %%%%%%%%%%%%%%%%
+   % sparse type
+   test.sparse = speye(10);
+
+   %%%%%%%%%%%%%%%
+   % string types
+   test.string.basic = 'spam';
+   test.string.cell = {'1'};
+   test.string.char_array = ['Thomas R. Lee'; ...
+                           'Sr. Developer'; ...
+                           'SFTware Corp.'];
+   test.string.cell_array = {'spam', 'eggs'};
+
+   %%%%%%%%%%%%%%%%
+   % User defined object
+   test.object = polynomial([1,2,3]);
+
+   %%%%%%%%%%%%%%%
+   % struct array of shape 3x1
+   test.struct_vector = [struct('key','a'); struct('key','b'); 
struct('key','c')];
+
+   %%%%%%%%%%%%%%%
+   % struct array of shape 1x2
+   test.struct_array(1).name = 'Sharon';
+   test.struct_array(1).age = 31;
+   test.struct_array(2).name = 'Bill';
+   test.struct_array(2).age = 42;
+
+   %%%%%%%%%%%%%%%
+   % cell array types
+   test.cell.vector = {'spam', 4.0, [1 2 3]};
+   test.cell.matrix = {'Bob', 40; 'Pam', 41};
+   test.cell.scalar = {1.8};
+   test.cell.string = {'1'};
+   test.cell.string_array = {'1', '2'};
+   test.cell.empty = cell(3,4,2);
+   test.cell.array = {[0.4194 0.3629 -0.0000;
+                     0.0376 0.3306 0.0000;
+                     0 0 1.0000],
+                     [0.5645 -0.2903 0;
+                     0.0699 0.1855 0.0000;
+                     0.8500 0.8250 1.0000]};
+
+   %%%%%%%%%%%%%%
+   % nest all of the above.
+   test.nested = test;
+
+   end
+
 
 Python Session
 +++++++++++++++
@@ -129,70 +162,201 @@
    >>> out = octave.test_dataypes()
    >>> import pprint
    >>> pprint.pprint(out)
-   {u'cell': {u'matrix': [['Bob', 'Pam'], [40.0, 41.0]],
-              u'vector': ['spam', 4.0, array([[ 1.,  2.,  3.]])]},
-    u'logical': array([[0, 0, 0, 1, 1]]),
-    u'num': {u'NaN': nan,
-             u'column_vector': array([[ 1.],
-          [ 2.],
-          [ 3.],
-          [ 4.]]),
-             u'complex': (3+1j),
-             u'complex_matrix': array([[ 0.29801132+0.29801132j,  
0.25385592+0.25385592j],
-          [ 0.36628765+0.36628765j,  0.17222843+0.17222843j]]),
-             u'float32': 3.1415927,
-             u'float64': 3.1415926535897931,
-             u'inf': inf,
-             u'int': {u'int16': -32768,
-                      u'int32': -2147483648,
-                      u'int64': -9223372036854775808,
-                      u'int8': -128,
-                      u'uint16': 65535,
-                      u'uint32': 4294967295,
-                      u'uint64': 18446744073709551615,
-                      u'uint8': 255},
-             u'matrix': array([[ 1.,  2.],
-          [ 3.,  4.]]),
-          u'matrix3d': array([[[ 0.37748504,  0.42576504,  0.33770276,  
0.28353423],
-           [ 0.07772849,  0.79317342,  0.35633704,  0.84392906],
-           [ 0.27743843,  0.58173155,  0.60478932,  0.15784762]],
-
-          [[ 0.61831316,  0.52826816,  0.2561059 ,  0.69882897],
-           [ 0.78915391,  0.55164477,  0.34382527,  0.23743691],
-           [ 0.7984285 ,  0.13977171,  0.77679021,  0.22355376]]]),
-             u'matrix5d': array([[[[[ 0.87245616,  0.3935346 ,  0.00509518,  
0.18260647,  0.2328523 ],
-             [ 0.57790841,  0.26083328,  0.82910847,  0.79100768,  0.111686  ],
-             [ 0.01399121,  0.80096565,  0.50399158,  0.51631872,  0.07292035],
-             [ 0.59993558,  0.62226338,  0.26245502,  0.71373283,  
0.54863195]],
-
-            [[ 0.47438503,  0.17510892,  0.31801117,  0.09766319,  0.72427364],
-             [ 0.02762037,  0.73835099,  0.6464369 ,  0.59452631,  0.26695231],
-             [ 0.01843247,  0.10938661,  0.68805356,  0.43229338,  0.84202539],
-             [ 0.77406571,  0.21564875,  0.6492912 ,  0.18763039,  
0.02976736]],
-
-            [[ 0.32019185,  0.67178221,  0.33481521,  0.39093148,  0.51177757],
-             [ 0.59023927,  0.91152032,  0.26690269,  0.46438787,  0.02999184],
-             [ 0.08864962,  0.97042015,  0.10310935,  0.12789306,  0.71532619],
-             [ 0.19870871,  0.14683877,  0.0367708 ,  0.96534334,  
0.04710378]]],
-
-
-           [[[ 0.97058297,  0.12706106,  0.05109758,  0.16347541,  0.88931781],
-             [ 0.43036654,  0.97654587,  0.99862712,  0.33365358,  0.74330177],
-             [ 0.41980651,  0.74997277,  0.9978432 ,  0.44787774,  0.60519502],
-             [ 0.94386177,  0.12320678,  0.01164074,  0.34409676,  
0.34135462]],
-
-            [[ 0.92895971,  0.81883047,  0.27796085,  0.9303487 ,  0.01020294],
-             [ 0.30430039,  0.74434446,  0.3828099 ,  0.15817473,  0.74870604],
-             [ 0.82601961,  0.28806172,  0.75975623,  0.76901488,  0.06666695],
-             [ 0.58065392,  0.96855147,  0.7603041 ,  0.98177511,  
0.59357169]],
-
-            [[ 0.86808738,  0.89797971,  0.16175654,  0.93365793,  0.25343561],
-             [ 0.25567182,  0.75436271,  0.94137345,  0.04822251,  0.69818659],
-             [ 0.18410575,  0.07060479,  0.20660155,  0.06567875,  0.83880553],
-             [ 0.61876976,  0.64932156,  0.21524418,  0.99559647,  
0.34971336]]]]]),
-             u'vector': array([[ 1.,  2.,  3.,  4.]])},
-    u'string': {u'basic': 'spam',
-                u'cell_array': ['spam', 'eggs'],
-                u'char_array': [['spam', 'foo '], ['eggs', 'bar ']]},
-    u'struct': {u'array': {u'age': [31.0, 42.0], u'name': ['Sharon', 'Bill']}}}
-
+   {'cell': {'array': Cell([array([[ 0.4194,  0.3629, -0.    ],
+         [ 0.0376,  0.3306,  0.    ],
+         [ 0.    ,  0.    ,  1.    ]]),
+         array([[ 0.5645, -0.2903,  0.    ],
+         [ 0.0699,  0.1855,  0.    ],
+         [ 0.85  ,  0.825 ,  1.    ]])]),
+            'empty': Cell([[[list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])]],
+
+         [[list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])]],
+
+         [[list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])]]]),
+            'matrix': Cell([['Bob', 40.0],
+         ['Pam', 41.0]]),
+            'scalar': Cell([1.8]),
+            'string': Cell(['1']),
+            'string_array': Cell([['1', '2']]),
+            'vector': Cell([['spam', 4.0, array([[1., 2., 3.]])]])},
+   'logical': array([[0, 0, 0, 1, 1]], dtype=uint8),
+   'nested': {'cell': {'array': Cell([array([[ 0.4194,  0.3629, -0.    ],
+         [ 0.0376,  0.3306,  0.    ],
+         [ 0.    ,  0.    ,  1.    ]]),
+         array([[ 0.5645, -0.2903,  0.    ],
+         [ 0.0699,  0.1855,  0.    ],
+         [ 0.85  ,  0.825 ,  1.    ]])]),
+                        'empty': Cell([[[list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])]],
+
+         [[list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])]],
+
+         [[list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])],
+         [list([]), list([])]]]),
+                        'matrix': Cell([['Bob', 40.0],
+         ['Pam', 41.0]]),
+                        'scalar': Cell([1.8]),
+                        'string': Cell(['1']),
+                        'string_array': Cell([['1', '2']]),
+                        'vector': Cell([['spam', 4.0, array([[1., 2., 
3.]])]])},
+               'logical': array([[0, 0, 0, 1, 1]], dtype=uint8),
+               'num': {'NaN': nan,
+                     'column_vector': array([[1.],
+         [2.],
+         [3.],
+         [4.]]),
+                     'complex': (3+1j),
+                     'complex_matrix': array([[ 9.6+8.8j,  1.2+1.1j,  
7.2+6.6j],
+         [ 3.6+3.3j,  6. +5.5j,  8.4+7.7j],
+         [ 4.8+4.4j, 10.8+9.9j,  2.4+2.2j]]),
+                     'float32': 3.1415927410125732,
+                     'float64': 3.141592653589793,
+                     'inf': inf,
+                     'int': {'int16': -32768,
+                              'int32': -2147483648,
+                              'int64': -9223372036854775808,
+                              'int8': -128,
+                              'uint16': 65535,
+                              'uint32': 4294967295,
+                              'uint64': 18446744073709551615,
+                              'uint8': 255},
+                     'matrix': array([[1., 2.],
+         [3., 4.]]),
+                     'matrix3d': array([[[3.14159265, 3.14159265, 3.14159265, 
3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+         [[3.14159265, 3.14159265, 3.14159265, 3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265]]]),
+                     'matrix5d': array([[[[[3.14159265, 3.14159265, 
3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]]],
+
+
+         [[[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]]]]]),
+                     'vector': array([[1., 2., 3., 4.]])},
+               'object': <oct2py.dynamic.polynomial object at 
0x0000027C56C16EB8>,
+               'sparse': <10x10 sparse matrix of type '<class 'numpy.float64'>'
+         with 10 stored elements in Compressed Sparse Column format>,
+               'string': {'basic': 'spam',
+                        'cell': Cell(['1']),
+                        'cell_array': Cell([['spam', 'eggs']]),
+                        'char_array': array(['Thomas R. Lee', 'Sr. Developer', 
'SFTware Corp.'], dtype='<U13')},
+               'struct_array': 1x2 StructArray containing the fields:
+      name
+      age,
+               'struct_vector': 3x1 StructArray containing the fields:
+      key},
+   'num': {'NaN': nan,
+            'column_vector': array([[1.],
+         [2.],
+         [3.],
+         [4.]]),
+            'complex': (3+1j),
+            'complex_matrix': array([[ 9.6+8.8j,  1.2+1.1j,  7.2+6.6j],
+         [ 3.6+3.3j,  6. +5.5j,  8.4+7.7j],
+         [ 4.8+4.4j, 10.8+9.9j,  2.4+2.2j]]),
+            'float32': 3.1415927410125732,
+            'float64': 3.141592653589793,
+            'inf': inf,
+            'int': {'int16': -32768,
+                  'int32': -2147483648,
+                  'int64': -9223372036854775808,
+                  'int8': -128,
+                  'uint16': 65535,
+                  'uint32': 4294967295,
+                  'uint64': 18446744073709551615,
+                  'uint8': 255},
+            'matrix': array([[1., 2.],
+         [3., 4.]]),
+            'matrix3d': array([[[3.14159265, 3.14159265, 3.14159265, 
3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+         [[3.14159265, 3.14159265, 3.14159265, 3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265],
+         [3.14159265, 3.14159265, 3.14159265, 3.14159265]]]),
+            'matrix5d': array([[[[[3.14159265, 3.14159265, 3.14159265, 
3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]]],
+
+
+         [[[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]],
+
+            [[3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265],
+            [3.14159265, 3.14159265, 3.14159265, 3.14159265, 3.14159265]]]]]),
+            'vector': array([[1., 2., 3., 4.]])},
+   'object': <oct2py.dynamic.polynomial object at 0x0000027C56BB3B38>,
+   'sparse': <10x10 sparse matrix of type '<class 'numpy.float64'>'
+         with 10 stored elements in Compressed Sparse Column format>,
+   'string': {'basic': 'spam',
+               'cell': Cell(['1']),
+               'cell_array': Cell([['spam', 'eggs']]),
+               'char_array': array(['Thomas R. Lee', 'Sr. Developer', 'SFTware 
Corp.'], dtype='<U13')},
+   'struct_array': 1x2 StructArray containing the fields:
+      name
+      age,
+   'struct_vector': 3x1 StructArray containing the fields:
+      key}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/oct2py/_version.py 
new/oct2py-5.0.4/oct2py/_version.py
--- old/oct2py-5.0.2/oct2py/_version.py 2019-05-06 02:23:38.000000000 +0200
+++ new/oct2py-5.0.4/oct2py/_version.py 2019-06-02 12:07:52.000000000 +0200
@@ -11,7 +11,7 @@
     'serial'
 ])
 
-version_info = VersionInfo(5, 0, 2, 'final', 0)
+version_info = VersionInfo(5, 0, 4, 'final', 0)
 
 __version__ = '{}.{}.{}'.format(
     version_info.major,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/oct2py/core.py 
new/oct2py-5.0.4/oct2py/core.py
--- old/oct2py-5.0.2/oct2py/core.py     2019-05-05 12:06:39.000000000 +0200
+++ new/oct2py-5.0.4/oct2py/core.py     2019-06-02 11:57:59.000000000 +0200
@@ -552,7 +552,7 @@
                    convert_to_float=self.convert_to_float)
 
         # Set up the engine and evaluate the `_pyeval()` function.
-        engine.stream_handler = stream_handler or self.logger.info
+        engine.line_handler = stream_handler or self.logger.info
         if timeout is None:
             timeout = self.timeout
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/oct2py/tests/test_usage.py 
new/oct2py-5.0.4/oct2py/tests/test_usage.py
--- old/oct2py-5.0.2/oct2py/tests/test_usage.py 2019-05-06 02:23:46.000000000 
+0200
+++ new/oct2py-5.0.4/oct2py/tests/test_usage.py 2019-06-02 11:57:59.000000000 
+0200
@@ -321,3 +321,6 @@
         assert np.isnan(res)
         assert np.isnan(a)
         assert b == 2
+
+    def test_carriage_return(self):
+        self.oc.eval(r"disp('hi\rthere')")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/oct2py.egg-info/PKG-INFO 
new/oct2py-5.0.4/oct2py.egg-info/PKG-INFO
--- old/oct2py-5.0.2/oct2py.egg-info/PKG-INFO   2019-05-06 02:23:52.000000000 
+0200
+++ new/oct2py-5.0.4/oct2py.egg-info/PKG-INFO   2019-06-02 12:07:55.000000000 
+0200
@@ -1,110 +1,111 @@
-Metadata-Version: 2.1
-Name: oct2py
-Version: 5.0.2
-Summary: Python to GNU Octave bridge --> run m-files from python.
-Home-page: http://github.com/blink1073/oct2py
-Maintainer: Steven Silvester
-Maintainer-email: [email protected]
-License: MIT
-Download-URL: http://github.com/blink1073/oct2py
-Description: Oct2Py: Python to GNU Octave Bridge
-        ===================================
-        
-        .. image:: https://badge.fury.io/py/oct2py.png/
-            :target: http://badge.fury.io/py/oct2py
-        
-        .. image:: 
https://codecov.io/github/blink1073/oct2py/coverage.svg?branch=master
-          :target: https://codecov.io/github/blink1073/oct2py?branch=master
-        
-        .. image:: http://pepy.tech/badge/oct2py
-           :target: http://pepy.tech/project/oct2py
-           :alt: PyPi Download stats
-        
-        Oct2Py allows you to seamlessly call M-files and Octave functions from 
Python.
-        It manages the Octave session for you, sharing data behind the scenes 
using
-        MAT files.  Usage is as simple as:
-        
-        .. code-block:: python
-        
-            >>> oc = oct2py.Oct2Py()
-            >>> x = oc.zeros(3,3)
-            >>> print(x, x.dtype)
-            [[ 0.  0.  0.]
-             [ 0.  0.  0.]
-             [ 0.  0.  0.]] float64
-            ...
-        
-        If you want to run legacy m-files, do not have MATLAB®, and do not 
fully
-        trust a code translator, this is your library.
-        
-        
-        Features
-        --------
-        
-        - Supports all Octave datatypes and most Python datatypes and Numpy 
dtypes.
-        - Provides OctaveMagic_ for IPython, including inline plotting in 
notebooks.
-        - Supports cell arrays and structs/struct arrays with arbitrary 
nesting.
-        - Supports sparse matrices.
-        - Builds methods on the fly linked to Octave commands (e.g. `zeros` 
above).
-        - Thread-safety: each Oct2Py object uses an independent Octave session.
-        - Can be used as a context manager.
-        - Supports Unicode characters.
-        - Supports logging of session commands.
-        - Optional timeout command parameter to prevent runaway Octave 
sessions.
-        
-        
-        .. _OctaveMagic: 
https://nbviewer.jupyter.org/github/blink1073/oct2py/blob/master/example/octavemagic_extension.ipynb?create=1
-        
-        
-        Installation
-        ------------
-        You must have GNU Octave installed and in your ``PATH`` environment 
variable.
-        Alternatively, you can set an ``OCTAVE_EXECUTABLE`` or ``OCTAVE`` 
environment
-        variable that points to ``octave-cli`` executable itself.
-        
-        You must have the Numpy and Scipy libraries for Python installed.
-        See the installation instructions_ for more details.
-        
-        Once the dependencies have been installed, run:
-        
-        .. code-block:: bash
-        
-            $ pip install oct2py
-        
-        If using conda, it is available on conda-forge:
-        
-        .. code-block:: bash
-        
-           $ conda install -c conda-forge oct2py
-        
-        .. _instructions: 
http://blink1073.github.io/oct2py/source/installation.html
-        
-        
-        Documentation
-        -------------
-        
-        Documentation is available online_.
-        
-        For version information, see the Revision History_.
-        
-        .. _online: https://oct2py.readthedocs.io/en/latest/
-        
-        .. _History: 
https://github.com/blink1073/oct2py/blob/master/HISTORY.rst
-        
-Platform: Any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Topic :: Scientific/Engineering
-Classifier: Topic :: Software Development
-Requires: numpy (>= 1.12)
-Requires: scipy (>= 0.17)
-Requires: octave_kernel (>= 0.30.0)
-Provides-Extra: docs
-Provides-Extra: test
+Metadata-Version: 2.1
+Name: oct2py
+Version: 5.0.4
+Summary: Python to GNU Octave bridge --> run m-files from python.
+Home-page: http://github.com/blink1073/oct2py
+Maintainer: Steven Silvester
+Maintainer-email: [email protected]
+License: MIT
+Download-URL: http://github.com/blink1073/oct2py
+Description: Oct2Py: Python to GNU Octave Bridge
+        ===================================
+        
+        .. image:: https://badge.fury.io/py/oct2py.png/
+            :target: http://badge.fury.io/py/oct2py
+        
+        .. image:: 
https://codecov.io/github/blink1073/oct2py/coverage.svg?branch=master
+          :target: https://codecov.io/github/blink1073/oct2py?branch=master
+        
+        .. image:: http://pepy.tech/badge/oct2py
+           :target: http://pepy.tech/project/oct2py
+           :alt: PyPi Download stats
+        
+        Oct2Py allows you to seamlessly call M-files and Octave functions from 
Python.
+        It manages the Octave session for you, sharing data behind the scenes 
using
+        MAT files.  Usage is as simple as:
+        
+        .. code-block:: python
+        
+            >>> oc = oct2py.Oct2Py()
+            >>> x = oc.zeros(3,3)
+            >>> print(x, x.dtype)
+            [[ 0.  0.  0.]
+             [ 0.  0.  0.]
+             [ 0.  0.  0.]] float64
+            ...
+        
+        If you want to run legacy m-files, do not have MATLAB®, and do not 
fully
+        trust a code translator, this is your library.
+        
+        
+        Features
+        --------
+        
+        - Supports all Octave datatypes and most Python datatypes and Numpy 
dtypes.
+        - Provides OctaveMagic_ for IPython, including inline plotting in 
notebooks.
+        - Supports cell arrays and structs/struct arrays with arbitrary 
nesting.
+        - Supports sparse matrices.
+        - Builds methods on the fly linked to Octave commands (e.g. `zeros` 
above).
+        - Thread-safety: each Oct2Py object uses an independent Octave session.
+        - Can be used as a context manager.
+        - Supports Unicode characters.
+        - Supports logging of session commands.
+        - Optional timeout command parameter to prevent runaway Octave 
sessions.
+        
+        
+        .. _OctaveMagic: 
https://nbviewer.jupyter.org/github/blink1073/oct2py/blob/master/example/octavemagic_extension.ipynb?create=1
+        
+        
+        Installation
+        ------------
+        You must have GNU Octave installed and in your ``PATH`` environment 
variable.
+        Alternatively, you can set an ``OCTAVE_EXECUTABLE`` or ``OCTAVE`` 
environment
+        variable that points to ``octave-cli`` executable itself.
+        
+        You must have the Numpy and Scipy libraries for Python installed.
+        See the installation instructions_ for more details.
+        
+        Once the dependencies have been installed, run:
+        
+        .. code-block:: bash
+        
+            $ pip install oct2py
+        
+        If using conda, it is available on conda-forge:
+        
+        .. code-block:: bash
+        
+           $ conda install -c conda-forge oct2py
+        
+        .. _instructions: 
http://blink1073.github.io/oct2py/source/installation.html
+        
+        
+        Documentation
+        -------------
+        
+        Documentation is available online_.
+        
+        For version information, see the Revision History_.
+        
+        .. _online: https://oct2py.readthedocs.io/en/latest/
+        
+        .. _History: 
https://github.com/blink1073/oct2py/blob/master/HISTORY.rst
+        
+Platform: Any
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Science/Research
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Topic :: Scientific/Engineering
+Classifier: Topic :: Software Development
+Requires: numpy (>= 1.12)
+Requires: scipy (>= 0.17)
+Requires: octave_kernel (>= 0.31.0)
+Description-Content-Type: text/x-rst
+Provides-Extra: docs
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/oct2py.egg-info/SOURCES.txt 
new/oct2py-5.0.4/oct2py.egg-info/SOURCES.txt
--- old/oct2py-5.0.2/oct2py.egg-info/SOURCES.txt        2019-05-06 
02:23:52.000000000 +0200
+++ new/oct2py-5.0.4/oct2py.egg-info/SOURCES.txt        2019-06-02 
12:07:55.000000000 +0200
@@ -45,6 +45,10 @@
 oct2py/ipython/octavemagic.py
 oct2py/ipython/tests/__init__.py
 oct2py/ipython/tests/test_octavemagic.py
+oct2py/ipython/__init__.py
+oct2py/ipython/octavemagic.py
+oct2py/ipython/tests/__init__.py
+oct2py/ipython/tests/test_octavemagic.py
 oct2py/tests/__init__.py
 oct2py/tests/roundtrip.m
 oct2py/tests/script_error.m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/oct2py.egg-info/requires.txt 
new/oct2py-5.0.4/oct2py.egg-info/requires.txt
--- old/oct2py-5.0.2/oct2py.egg-info/requires.txt       2019-05-06 
02:23:52.000000000 +0200
+++ new/oct2py-5.0.4/oct2py.egg-info/requires.txt       2019-06-02 
12:07:55.000000000 +0200
@@ -1,4 +1,4 @@
-octave_kernel>=0.30.0
+octave_kernel>=0.31.0
 numpy>=1.12
 scipy>=0.17
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/setup.cfg new/oct2py-5.0.4/setup.cfg
--- old/oct2py-5.0.2/setup.cfg  2019-05-06 02:23:52.000000000 +0200
+++ new/oct2py-5.0.4/setup.cfg  2019-06-02 12:07:56.000000000 +0200
@@ -1,15 +1,15 @@
-[build_sphinx]
-source-dir = docs
-build-dir = docs/build
-all_files = 1
-
-[upload_sphinx]
-upload-dir = docs/build/html
-
-[wheel]
-universal = 1
-
-[egg_info]
-tag_build = 
-tag_date = 0
-
+[build_sphinx]
+source-dir = docs
+build-dir = docs/build
+all_files = 1
+
+[upload_sphinx]
+upload-dir = docs/build/html
+
+[wheel]
+universal = 1
+
+[egg_info]
+tag_build = 
+tag_date = 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oct2py-5.0.2/setup.py new/oct2py-5.0.4/setup.py
--- old/oct2py-5.0.2/setup.py   2019-05-05 12:06:39.000000000 +0200
+++ new/oct2py-5.0.4/setup.py   2019-06-02 11:57:59.000000000 +0200
@@ -9,8 +9,8 @@
 MAINTAINER_EMAIL = '[email protected]'
 URL = 'http://github.com/blink1073/oct2py'
 LICENSE = 'MIT'
-REQUIRES = ["numpy (>= 1.12)", "scipy (>= 0.17)", "octave_kernel (>= 0.30.0)"]
-INSTALL_REQUIRES = ["octave_kernel >= 0.30.0", "numpy >= 1.12", "scipy >= 
0.17"]
+REQUIRES = ["numpy (>= 1.12)", "scipy (>= 0.17)", "octave_kernel (>= 0.31.0)"]
+INSTALL_REQUIRES = ["octave_kernel >= 0.31.0", "numpy >= 1.12", "scipy >= 
0.17"]
 EXTRAS_REQUIRE = {
     'test:python_version == "2.7"': ['mock'],
     'test': ['pytest', 'pandas'],
@@ -60,6 +60,7 @@
     platforms=["Any"],
     description=DESCRIPTION,
     long_description=LONG_DESCRIPTION,
+    long_description_content_type='text/x-rst',
     classifiers=list(filter(None, CLASSIFIERS.split('\n'))),
     requires=REQUIRES,
     install_requires=INSTALL_REQUIRES,


Reply via email to