[Numpy-discussion] [ANN] mlabrap-1.0final: a high level python to matlab

Alexander Schmolck a.schmolck@gmx....
Wed Apr 11 10:35:21 CDT 2007


I'm pleased to finally announce mlabwrap-1.0:

Project website
---------------
<http://mlabwrap.sourceforge.net/>


Description
-----------

Mlabwrap-1.0 is a high-level python to matlab(tm) bridge that makes calling
matlab functions from python almost as convenient as using a normal python
library. It is available under a very liberal license (BSD/MIT) and should
work on all major platforms and (non-ancient) python and matlab versions and
either numpy or Numeric (Numeric support will be dropped in the future).


Examples
--------

Creating a simple line plot:

>>> from mlabwrap import mlab; mlab.plot([1,2,3],'-o')

Creating a surface plot:

>>> from mlabwrap import mlab; from numpy import *
>>> xx = arange(-2*pi, 2*pi, 0.2)
>>> mlab.surf(subtract.outer(sin(xx),cos(xx)))

Creating a neural network and training it on the xor problem (requires netlab)

>>> net = mlab.mlp(2,3,1,'logistic')
>>> net = mlab.mlptrain(net, [[1,1], [0,0], [1,0], [0,1]], [0,0,1,1], 1000)

What the future holds
---------------------

Please note that mlabwrap-1.0 will be the last non-bugfix release with Numeric
support. Future versions of mlabwrap will require numpy be a part of scipy's
scikits infrastructure (so the package name will be ``scikits.mlabwrap``) and
use setuptools rather than distutils so that it should be possible to
automatically download and install via EasyInstall.

The next major version of mlabwrap should also bring more powerful proxying
and marshalling facilities, but the default conversion behavior might be
changed to reflect the fact that matlab is becoming increasingly less
``double`` (-matrix) centric; although wrappers for old-style behavior will be
provided if backwards-incompatible interface changes are introduced, for
upwards compatibility it is recommended to explicitly pass in float64 arrays
rather than e.g. lists of ints if the desired input type that matlab should
see is a double array (i.e. use ``mlab.sin(array([1., 2., 3.])`` rather than
``mlab.sin([1,2,3])`` for production code in order to be on the safe side)).
Please have a look at <http://www.scipy.org/Mlabwrap> if you're interested in
the ongoing development of mlabwrap and planned features.


Feedback and support
--------------------

The preferred formum for users to request help and offer feedback and keep
informed about new releases is mlabwrap-user:

 <https://lists.sourceforge.net/lists/listinfo/mlabwrap-user>

the list is low-volume and subscription is recommended.

Discussion of mlabwrap development takes place on the scipy-dev (please
mention mlabwrap in the subject line):

 <http://projects.scipy.org/mailman/listinfo/scipy-dev> 

cheers,

Alexander Schmolck, mlabwrap author and maintainer


More information about the Numpy-discussion mailing list