(sorry for the double posting, if any)

Dear pythraners and pythonistae (the latin plural for pythonista?)

It is my pleasure to announce the release of Pythran 0.7.2, now
available on

    - pypy: https://pypi.python.org/pypi/pythran
    - conda: https://anaconda.org/serge-sans-paille/pythran
    - github: https://github.com/serge-sans-paille/pythran

Pythran is an ahead-of-time Python compiler with a focus on high-level
scientific computing. It relies on a few non-intrusive annotations to
provide (potentially) vectorized, parallel version of high level Python
code, like the following, borrowed from stackoverflow [0];

    #pythran export GrayScott(int, float, float, float, float)
    # ^ see the non intrusive, backward compatible annotation ^

    import numpy as np
    def GrayScott(counts, Du, Dv, F, k):
        n = 300
        U = np.zeros((n+2,n+2), dtype=np.float32)
        V = np.zeros((n+2,n+2), dtype=np.float32)
        u, v = U[1:-1,1:-1], V[1:-1,1:-1]

        r = 20
        u[:] = 1.0
        U[n/2-r:n/2+r,n/2-r:n/2+r] = 0.50
        V[n/2-r:n/2+r,n/2-r:n/2+r] = 0.25
        u += 0.15*np.random.random((n,n))
        v += 0.15*np.random.random((n,n))

        for i in range(counts):
            Lu = (                 U[0:-2,1:-1] +
                  U[1:-1,0:-2] - 4*U[1:-1,1:-1] + U[1:-1,2:] +
                                   U[2:  ,1:-1] )
            Lv = (                 V[0:-2,1:-1] +
                  V[1:-1,0:-2] - 4*V[1:-1,1:-1] + V[1:-1,2:] +
                                   V[2:  ,1:-1] )
            uvv = u*v*v
            u += Du*Lu - uvv + F*(1 - u)
            v += Dv*Lv + uvv - (F + k)*v

        return V

This minor yet amazing version brings in more numpy function support
[1], easier install, a conda build, tentative windows support, faster
compilation time and generates generally faster native modules.

Kudos to Pierrick for the hardwork and to all the bug reporters. You all
help a lot to bring the motivation high.

Special thanks to the OpenDreamKit[2] project for the financial support.
Most of the new features have been implemented thanks to this funding!


Changelog extract:

2015-10-13 Serge Guelton <serge.guel...@telecom-bretagne.eu>

        * Significantly decrease compilation time

        * Faster execution of numpy generalized slicing

        * Tentative conda support

        * Tentative Windows support (using Win Python)

        * Preserve original docstrings

        * Add __pythran__ global variable to pythran generated modules

        * Faster implementation of various itertools functions

        * Rely on distutils for module code compilation

        * Support most of numpy.random

        * Remove git and make dependency to install nt2

        * Proper pip support instead of distuils

        * Remove dependency to boost.python

        * Remove dependency to tcmalloc

        * Pythonic library cleaning (less dependencies / header / splitting / 
mrpropering)

        * More lazy computations

        * More numpy function support (including dot on matrices, linalg.norm, 
mean)

        * Lot of code cleaning / refactoring (both in Python and C++)

        * Many bugfixes, thanks to all the bug reporters!


[0] 
http://stackoverflow.com/questions/26823312/numba-or-cython-acceleration-in-reaction-diffusion-algorithm

[1] https://pythonhosted.org/pythran/SUPPORT.html

[2] http://opendreamkit.org/
-- 
https://mail.python.org/mailman/listinfo/python-announce-list

        Support the Python Software Foundation:
        http://www.python.org/psf/donations/

Reply via email to