Hi folks,
It's always a pleasure to announce a Pythran release, and here we go for a
version bump!
Short reminder: Pythran is an ahead-of-time compiler for scientific Python,
with a focus on high-level numerical kernels, parallelism and vectorisation.
Here is a simple kernel example, with a pythran annotation. Note that this
kernel is still Python-compatible (from
https://stackoverflow.com/questions/50658884):
#pythran export euclidean_distance_square(float64[1,:], float64[:,:])
import numpy as np
def euclidean_distance_square(x1, x2):
return -2*np.dot(x1, x2.T) + np.sum(np.square(x1), axis=1)[:,
np.newaxis] + np.sum(np.square(x2), axis=1)
The Pythran package is available on PyPI, Github and Conda
https://pypi.org/project/pythran/
https://anaconda.org/conda-forge/pythran
https://github.com/serge-sans-paille/pythran
Packages exist for archlinux and Fedora, they'll probably be updated soon :-)
The interested reader can have a look to the changelog for details
https://pythran.readthedocs.io/en/latest/Changelog.html
Most notably, this release provides support for Python 3.7 and Python 3.8, as
well as the ability to use clang-cl as a (better) backend compiler for Windows.
Huge thanks to all contributors:
paugier
Anubhab Haldar
Jean Laroche
polo
and bug reporters:
paugier
nbecker
gdementen
mgirardis
MordicusEtCubitus
Dapid
piotrbartman
m-romanov
slayoo
martibosch
jeanlaroche