commit ee0eb1187e83bd4eb94faf80db916bcb997f1d2f1434fea9b91cabbb0596475d Author: Stephan Kulow Date: Thu Jul 17 15:31:35 2014 +0000 Accepting request 241241 from devel:languages:python I intend to submit python-pandas to openSUSE:Factory. python-pandas is a tool that makes it easy to do complex data import, export, and manipulation. It has become one of the critical tools for data analysis in python, like python-numpy, python-scipy, python-matplotlib, and IPython (all of which are in openSUSE:Factory). This is a dependency of python-pandas. This package is also useful on its own for greatly increasing the speed of python-numpy operations. (I know I said the same thing about python-Bottleneck, both accelerate different types of numpy operations in different ways, that is why they are both used here). OBS-URL: https://build.opensuse.org/request/show/241241 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numexpr?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/numexpr-2.4.tar.gz b/numexpr-2.4.tar.gz new file mode 100644 index 0000000..e4bde6e --- /dev/null +++ b/numexpr-2.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b63a5ce11c10d36433e2a74e2e4c360a4e004618507778881659e80a912fc58 +size 84770 diff --git a/python-numexpr.changes b/python-numexpr.changes new file mode 100644 index 0000000..886ed87 --- /dev/null +++ b/python-numexpr.changes @@ -0,0 +1,153 @@ +------------------------------------------------------------------- +Thu May 8 10:51:51 UTC 2014 - toddrme2178@gmail.com + +- Update to 2.4 + * A new `contains()` function has been added for detecting substrings + in strings. Only plain strings (bytes) are supported for now. See + PR #135 and ticket #142. Thanks to Marcin Krol. + * New version of setup.py that allows better management of NumPy + dependency. See PR #133. Thanks to Aleks Bunin. + +------------------------------------------------------------------- +Wed Mar 12 13:24:36 UTC 2014 - toddrme2178@gmail.com + +- update to 2.3.1 + * Added support for shift-left (<<) and shift-right (>>) binary operators. + See PR #131. Thanks to fish2000! + * Removed the rpath flag for the GCC linker, because it is probably + not necessary and it chokes to clang. +- update to 2.3 + * Site has been migrated to https://github.com/pydata/numexpr. All + new tickets and PR should be directed there. + * [ENH] A `conj()` function for computing the conjugate of complex + arrays has been added. Thanks to David Menéndez. See PR #125. + * [FIX] Fixed a DeprecationWarning derived of using oa_ndim == 0 and + op_axes == NULL when using NpyIter_AdvancedNew() and NumPy 1.8. + Thanks to Mark Wiebe for advise on how to fix this properly. + +------------------------------------------------------------------- +Tue Oct 22 13:32:08 UTC 2013 - toddrme2178@gmail.com + +- update to 2.2.2 + * The `copy_args` argument of `NumExpr` function has been brought + back. This has been mainly necessary for compatibility with + PyTables < 3.0, which I decided to continue to support. Fixed #115. + * The `__nonzero__` method in `ExpressionNode` class has been + commented out. This is also for compatibility with PyTables < 3.0. + See #24 for details. + * Fixed the type of some parameters in the C extension so that s390 + architecture compiles. Fixes #116. Thank to Antonio Valentino for + reporting and the patch. +- update to 2.2.1 + * Fixes a secondary effect of "from numpy.testing import `*`", where + division is imported now too, so only then necessary functions from + there are imported now. Thanks to Christoph Gohlke for the patch. +- update to 2.2 + * [LICENSE] Fixed a problem with the license of the + numexpr/win32/pthread.{c,h} files emulating pthreads on Windows + platforms. After persmission from the original authors is granted, + these files adopt the MIT license and can be redistributed without + problems. See issue #109 for details + (https://code.google.com/p/numexpr/issues/detail?id=110). + * [ENH] Improved the algorithm to decide the initial number of threads + to be used. This was necessary because by default, numexpr was + using a number of threads equal to the detected number of cores, and + this can be just too much for moder systems where this number can be + too high (and counterporductive for performance in many cases). + Now, the 'NUMEXPR_NUM_THREADS' environment variable is honored, and + in case this is not present, a maximum number of *8* threads are + setup initially. The new algorithm is fully described in the Users + Guide now in the note of 'General routines' section: + https://code.google.com/p/numexpr/wiki/UsersGuide#General_routines. + Closes #110. + * [ENH] numexpr.test() returns `TestResult` instead of None now. + Closes #111. + * [FIX] Modulus with zero with integers no longer crashes the + interpreter. It nows puts a zero in the result. Fixes #107. + * [API CLEAN] Removed `copy_args` argument of `evaluate`. This should + only be used by old versions of PyTables (< 3.0). + * [DOC] Documented the `optimization` and `truediv` flags of + `evaluate` in Users Guide + (https://code.google.com/p/numexpr/wiki/UsersGuide). + +------------------------------------------------------------------- +Mon May 6 06:22:06 UTC 2013 - highwaystar.ru@gmail.com + +- python3 package added +- update to 2.1 + * New compatibility with Python 3: + * switch from PyString to PyBytes API (requires Python >= 2.6). + * fixed incompatibilities regarding the int/long API + * use the Py_TYPE macro + * use the PyVarObject_HEAD_INIT macro instead of PyObject_HEAD_INIT + * Dropped compatibility with Python < 2.6. + * Fixed several issues with different platforms not supporting + multithreading or subprocess properly (see tickets #75 and #77). + * Now, when trying to use pure Python boolean operators, 'and', + 'or' and 'not, an error is issued and suggesting that '&', '|' + and '~' should be used instead (fixes #24). + +------------------------------------------------------------------- +Tue Aug 14 10:24:42 UTC 2012 - scorot@free.fr + +- fix requiements for SLE 11 + +------------------------------------------------------------------- +Tue Jul 31 13:42:58 UTC 2012 - toddrme2178@gmail.com + +- Update to 2.0.1 + *Added compatibility with Python 2.5 (2.4 is definitely not supported + anymore). + *`numexpr.evaluate` is fully documented now, in particular the new + `out`, `order` and `casting` parameters. + *Reduction operations are fully documented now. + *Negative axis in reductions are not supported (they have never been + actually), and a `ValueError` will be raised if they are used. +- Update to 2.0 + - Added support for the new iterator object in NumPy 1.6 and later. + This allows for better performance with operations that implies + broadcast operations, fortran-ordered or non-native byte orderings. + Performance for other scenarios is preserved (except for very small + arrays). + - Division in numexpr is consistent now with Python/NumPy. Fixes #22 + and #58. + - Constants like "2." or "2.0" must be evaluated as float, not + integer. Fixes #59. + - `evaluate()` function has received a new parameter `out` for storing + the result in already allocated arrays. This is very useful when + dealing with large arrays, and a allocating new space for keeping + the result is not acceptable. Closes #56. + - Maximum number of threads raised from 256 to 4096. Machines with a + higher number of cores will still be able to import numexpr, but + limited to 4096 (which is an absurdly high number already). +- Update to 1.4.2 + - Multithreaded operation is disabled for small arrays (< 32 KB). + This allows to remove the overhead of multithreading for such a + small arrays. Closes #36. + - Dividing int arrays by zero gives a 0 as result now (and not a + floating point exception anymore. This behaviour mimics NumPy. + Thanks to Gaëtan de Menten for the fix. Closes #37. + - When compiled with VML support, the number of threads is set to 1 + for VML core, and to the number of cores for the native pthreads + implementation. This leads to much better performance. Closes #39. + - Fixed different issues with reduction operations (`sum`, `prod`). + The problem is that the threaded code does not work well for + broadcasting or reduction operations. Now, the serial code is used + in those cases. Closes #41. + - Optimization of "compilation phase" through a better hash. This can + lead up to a 25% of improvement when operating with variable + expressions over small arrays. Thanks to Gaëtan de Menten for the + patch. Closes #43. + - The ``set_num_threads`` now returns the number of previous thread + setting, as stated in the docstrings. + +------------------------------------------------------------------- +Fri Jul 1 08:16:08 UTC 2011 - saschpe@suse.de + +- Require python-numpy + +------------------------------------------------------------------- +Fri Jul 1 07:22:37 UTC 2011 - saschpe@suse.de + +- Initial version + diff --git a/python-numexpr.spec b/python-numexpr.spec new file mode 100644 index 0000000..f510de6 --- /dev/null +++ b/python-numexpr.spec @@ -0,0 +1,63 @@ +# +# spec file for package python-numexpr +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define modname numexpr +Name: python-%{modname} +Version: 2.4 +Release: 0 +Url: https://github.com/pydata/numexpr/ +Summary: Fast numerical expression evaluator for NumPy +License: MIT +Group: Development/Languages/Python +Source: http://pypi.python.org/packages/source/n/numexpr/%{modname}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: gcc-c++ +BuildRequires: python-devel >= 2.5 +BuildRequires: python-numpy-devel >= 1.6 +Requires: python-numpy >= 1.6 +%if 0%{?suse_version} <= 1110 +%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%else +Requires: python(abi) >= %{py_ver} +%endif + + +%description +Numexpr is a fast numerical expression evaluator for NumPy. With it, +expressions that operate on arrays (like "3*a+4*b") are accelerated +and use less memory than doing the same calculation in Python. + +%prep +%setup -q -n %{modname}-%{version} + +%build +CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py build + +%install +python setup.py install --prefix=%{_prefix} --root=%{buildroot} +chmod a+x %{buildroot}%{python_sitearch}/%{modname}/cpuinfo.py + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%doc ANNOUNCE.rst AUTHORS.txt LICENSE.txt README.rst RELEASE_NOTES.rst site.cfg.example +%{python_sitearch}/%{modname}/ +%{python_sitearch}/%{modname}-%{version}-py%{py_ver}.egg-info + +%changelog