ports/148372: New port: math/py-numexpr Fast numerical array expression evaluator for Python and NumPy

Ju Pengfei jupengfei at gmail.com
Mon Jul 5 05:30:03 UTC 2010


>Number:         148372
>Category:       ports
>Synopsis:       New port: math/py-numexpr Fast numerical array expression evaluator for Python and NumPy
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 05 05:30:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Ju Pengfei
>Release:        8.0-RELEASE-p3
>Organization:
Ju Pengfei
>Environment:
>Description:
New port: math/py-numexpr

numexpr - Fast numerical array expression evaluator for Python and NumPy. 

The numexpr package evaluates multiple-operator array expressions many times
faster than NumPy can. It accepts the expression as a string, analyzes it,
rewrites it more efficiently, and compiles it to faster Python code on the fly.
It's the next best thing to writing the expression in C and compiling it with
a specialized just-in-time (JIT) compiler, i.e. it does not require a compiler
at runtime.  

Also, numexpr has support for the Intel VML (Vector Math Library) -- integrated
in Intel MKL (Math Kernel Library) --, allowing nice speed-ups when computing
transcendental functions (like trigonometrical, exponentials...) on top of
Intel-compatible platforms. This support also allows to use multiple cores in
your computations. 

WWW: http://code.google.com/p/numexpr/
>How-To-Repeat:

>Fix:
use this shar file, please.
thanks.

Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	py-numexpr
#	py-numexpr/Makefile
#	py-numexpr/distinfo
#	py-numexpr/pkg-descr
#	py-numexpr/pkg-plist
#
echo c - py-numexpr
mkdir -p py-numexpr > /dev/null 2>&1
echo x - py-numexpr/Makefile
sed 's/^X//' >py-numexpr/Makefile << '9297b0d644f77f6b79b13099dd9287f0'
X# New ports collection makefile for:	numexpr
X# Date created:				05 July 2010
X# Whom:					Ju Pengfei <ju.pengfei at gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	numexpr
XPORTVERSION=	1.3.1
XCATEGORIES=	math python
XMASTER_SITES=	GOOGLE_CODE
XPKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
X
XMAINTAINER=	jupengfei at gmail.com
XCOMMENT=	Fast numerical array expression evaluator for Python and NumPy
X
XBUILD_DEPENDS=	${PYNUMPY}
XRUN_DEPENDS=	${BUILD_DEPENDS}
X
XUSE_PYTHON=	yes
XUSE_PYDISTUTILS=easy_install
XPYEASYINSTALL_ARCHDEP=yes
X
X.include <bsd.port.mk>
9297b0d644f77f6b79b13099dd9287f0
echo x - py-numexpr/distinfo
sed 's/^X//' >py-numexpr/distinfo << '810e0419f35088facb6aa755f79081d7'
XMD5 (numexpr-1.3.1.tar.gz) = 1ca0cf40350913fa620f73cbd906378a
XSHA256 (numexpr-1.3.1.tar.gz) = 52bae05999975b181a49903371bd22073669c210d2e34a26d6b87bf684c35263
XSIZE (numexpr-1.3.1.tar.gz) = 56972
810e0419f35088facb6aa755f79081d7
echo x - py-numexpr/pkg-descr
sed 's/^X//' >py-numexpr/pkg-descr << '886a6b73a0127f7976d69b98acdeb21e'
Xnumexpr - Fast numerical array expression evaluator for Python and NumPy. 
X
XThe numexpr package evaluates multiple-operator array expressions many times
Xfaster than NumPy can. It accepts the expression as a string, analyzes it,
Xrewrites it more efficiently, and compiles it to faster Python code on the fly.
XIt's the next best thing to writing the expression in C and compiling it with
Xa specialized just-in-time (JIT) compiler, i.e. it does not require a compiler
Xat runtime.  
X
XAlso, numexpr has support for the Intel VML (Vector Math Library) -- integrated
Xin Intel MKL (Math Kernel Library) --, allowing nice speed-ups when computing
Xtranscendental functions (like trigonometrical, exponentials...) on top of
XIntel-compatible platforms. This support also allows to use multiple cores in
Xyour computations. 
X
XWWW: http://code.google.com/p/numexpr/
886a6b73a0127f7976d69b98acdeb21e
echo x - py-numexpr/pkg-plist
sed 's/^X//' >py-numexpr/pkg-plist << 'ed21c0e0c8fb339e4e61d46819856644'
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/cpuinfo.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/necompiler.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/utils.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/version.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/expressions.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/__config__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/interpreter.so
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/cpuinfo.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/necompiler.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/utils.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/version.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/expressions.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/__config__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/cpuinfo.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/necompiler.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/utils.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/version.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/expressions.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/__config__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/interpreter.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/interpreter.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/interpreter.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests/test_numexpr.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests/test_numexpr.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests/test_numexpr.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/PKG-INFO
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/SOURCES.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/native_libs.txt
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr/tests
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/numexpr
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO
X at dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
ed21c0e0c8fb339e4e61d46819856644
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list