Sync from SUSE:SLFO:Main python-blosc revision 455f58ccc3ec746b0fb3e0176542f947

This commit is contained in:
Adrian Schröter 2024-05-03 20:15:00 +02:00
commit 33e36bbab4
4 changed files with 439 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

BIN
blosc-1.11.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

338
python-blosc.changes Normal file
View File

@ -0,0 +1,338 @@
-------------------------------------------------------------------
Sat Jun 10 12:29:50 UTC 2023 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Fri Feb 17 22:03:24 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to version 1.11.1
* Many small code improvements, improved consistency and typo
fixes. Thanks to Dimitri Papadopoulos Orfanos.
* Support for Python 3.11. Support for Python 3.7 has been
dropped. Thanks to Dimitri Papadopoulos Orfanos.
* Several other fixes, mainly related with the building process,
which should be more solid now in different situations.
- Release 1.10.6
* Add a missed cmake folder to distributed files. See #253.
Thanks to Ben Greiner.
- Release 1.10.5
* Re-enable the possibility to use an already installed C-Blosc
library. See #244. Thanks to Ben Greiner.
- Release 1.10.4
* Update blosc.nthreads when blosc.set_nthreads() is called.
Fixes #246
- Drop use-system-blosc.patch
- PEP517 build
-------------------------------------------------------------------
Sat Feb 13 13:40:00 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to version 1.10.2
* (Upstream bumped the version to release their wheels)
* Officially drop support for Python < 3.7. Although we did not
any explicit action that is incompatible with older Python
versions, we only provide wheels for Python >= 3.7 (til 3.9).
- Skip python36 build on TW, because upstream dropped support and
numpy follows NEP 29
- Use the system provided Blosc library
* use-system-blosc.patch gh#Blosc/python-blosc#244
-------------------------------------------------------------------
Sun Dec 20 18:35:01 UTC 2020 - andy great <andythe_great@pm.me>
- Update to version 1.9.2.
* Internal C-Blosc updated to 1.20.1. This fixes
https://github.com/Blosc/python-blosc/issues/229, and also
brings many new updates in internal codecs, providing
interesting bumps in performance in some cases.
* Due to recent addition of more cores in new CPUs, the number of
internal threads to be used by default has been increased from
4 to 8.
* Allow zero-copy decompression by allowing bytes-like input.
* Fix DeprecationWarning due to invalid escape sequence and use
array.tobytes for Python 3.9.
-------------------------------------------------------------------
Thu Aug 20 18:37:32 UTC 2020 - Bernhard Wiedemann <bwiedemann@suse.com>
- Disable AVX2 to avoid compile-time CPU-detection (boo#1100677)
-------------------------------------------------------------------
Fri Jul 17 07:17:58 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Enable build on all archs
-------------------------------------------------------------------
Wed Jul 8 09:37:15 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- Update to 1.9.1
* Disable the attempt to include support for SSE2 and AVX2 on non-Intel
platforms, allowing the build on such platforms (see #244).
* Dropped support for Python 2.7 and 3.5.
* Fixed the copy of the leftovers of a chunk when its size is not
a multiple of the typesize.
-------------------------------------------------------------------
Thu Mar 26 14:20:07 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
- Use unittest instead of nose
-------------------------------------------------------------------
Thu Jan 30 16:30:20 UTC 2020 - Todd R <toddrme2178@gmail.com>
- Update to 1.8.3
* Add a missing pyproject.toml to MANIFEST.in. This allows
to install the necessary skbuild module.
- Update to 1.8.2
* Use cmake internally to build the Python extension via the
scikit-build library. This seems enough to cope with the
conflicting types in using XGETBV when using a recent GCC
(>= 9.1) compiler.
* Include C-Blosc v1.17.1.
-------------------------------------------------------------------
Mon Jul 22 16:25:44 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Update to 1.8.1
* Fix a bug that prevented the source distribution from PyPi to
be compiled. Specifcally, *.inc were not included via the
manifest.
- Update to 1.8.0
* Include C-Blosc v1.16.2
* Fix cpuinfo.py usage on Windows.
* Implement Python access to the C function cbuffer_validate which
was added to c-blosc in version 1.16.0
* Check if compiler supports CPU capabilities.
* Many minor improvements and fixes
- Update to 1.7.0
* Include C-Blosc v1.15.1
* Remove Support for Python 2.6 and 3.3
* Fix vendored cpuinfo.py
* Rework Windows CI via Appveyor
* Various minor bugfixes
-------------------------------------------------------------------
Sat Dec 22 02:14:28 UTC 2018 - Todd R <toddrme2178@gmail.com>
- Update to 1.6.2
* Fixed `numpy` import in `toplevel.py`, this makes python-blosc usable without
numpy once again.
- Update to 1.6.1
* Updated C-Blosc to 1.14.3
* Adding support for aarch64
* `unpack_array` can now accepts keyword arguments. This allows decompressing
pickled arrays that were compressed with Python 2.x using Python 3.x. Thanks
to Simba Nyatsanga and Juan Maree.
* Implemented `get_blocksize()`, thanks to Alberto Sabater
* Seperate compilation of codecs, thanks to Robert McLeod
* Removal of Numpy dependencies, thanks to Robert McLeod
* Allow codecs to be included by using environment variables, thanks to
Robert McLeod
* Don't compile snappy by default, thanks to Robert McLeod
* Update cpuinfo.py to use dmesg.boot, thanks to Prakhar Goel
* Allow SSE2 and AVX2 detection to be disabled via environment variables,
thanks to Lorenzo Bolla
* Varios minor fixes
-------------------------------------------------------------------
Wed Jul 18 11:54:58 UTC 2018 - tchvatal@suse.com
- Stricten requirement on the blosc-devel to require version we
actually compile with
-------------------------------------------------------------------
Thu May 24 16:51:14 UTC 2018 - toddrme2178@gmail.com
- Python files were not getting included.
- Enable unit tests
-------------------------------------------------------------------
Sun Jan 21 05:33:31 UTC 2018 - toddrme2178@gmail.com
- Fix building
-------------------------------------------------------------------
Wed Apr 19 22:13:57 UTC 2017 - toddrme2178@gmail.com
- Source url must be https.
-------------------------------------------------------------------
Wed Apr 19 18:43:04 UTC 2017 - toddrme2178@gmail.com
- Update to version 1.5.1
* License updated from MIT to BSD.
* Updated to C-Blosc 1.11.3.
- Update to version 1.5.0
* Added a new `blosc.set_releasegil()` function that allows to
release/acquire the GIL at will. See PR #116.
Thanks to Robert McLeod.
* Updated to C-Blosc 1.11.2.
* Added tests that detect possible memory leaks.
Thanks to Robert McLeod.
- Update to version 1.4.4
* Updated to C-Blosc 1.11.1. Fixes #115.
- Update to version 1.4.3
* Internal C-Blosc sources updated to 1.11.0. Among other things, this
updates the internal Zstd codec to version 1.0.0 (i.e. it is
officially apt for production usage!).
- Update to version 1.4.1
* Internal C-Blosc sources updated to 1.10.1. This fixes an outstanding issue
with the clang compiler. For details, see:
https://github.com/Blosc/bloscpack/issues/50.
- Update to version 1.4.0
* Internal C-Blosc sources updated to 1.10.0.
* Benchmarks updated for a Skylake processor (Xeon E3-1245 v5 @
3.50GHz).
- Update to version 1.3.3
* Internal C-Blosc sources updated to 1.9.3.
* C-Blosc do not segfaults anymore, so -O1 flag on Linux is not the
default anymore.
* SSE2 and AVX2 are now auto-discovered so the internal C-Blosc will be
compiled with maximum optimization on processors supporting them.
- Update to version 1.3.2
* Fixed the version of the include C-Blosc library (should be 1.8.1 not
1.8.2.dev).
- Update to version 1.3.1
* Use the -O1 flag for compiling the included C-Blosc sources on Linux.
This represents slower performance, but fixes the nasty issue #110.
Also, it prints a warning for using an external C-Blosc library.
* Internal C-Blosc version bumped to 1.8.1 for better compatibility
with gcc 5.3.1 in forthcoming Ubuntu Xenial.
* Added a protection to avoid using BITSHUFLE with C-Blosc < 1.8.0.
* Restored old symbols for backward compatibility with pre 1.3.0:
BLOSC_VERSION_STRING
BLOSC_VERSION_DATE
BLOSC_MAX_BUFFERSIZE
BLOSC_MAX_THREADS
BLOSC_MAX_TYPESIZE
However, these are considered deprecated and should be replaced by
libraries using python-blosc by the ones without the BLOSC_ prefix.
- Update to version 1.3.0
* Internal C-Blosc version bumped to 1.8.0. As consequence, support for
BITSHUFFLE is here. For activating it, just pass `blosc.BITSHUFFLE`
to the `shuffle` parameter of compression functions.
* Added a new `as_bytearray=False` parameter to the `decompress()` function
so that a mutable bytearray will be returned instead of a bytes one
(inmutable). PR #107. Thanks to Joe Jevnik.
* The '__all__' variable has been removed from the module. I consider
this good practice to avoid things like "from blosc import *".
* For consistency, the next symbols have been renamed:
BLOSC_VERSION_STRING -> VERSION_STRING,
BLOSC_VERSION_DATE -> VERSION_DATE,
BLOSC_MAX_BUFFERSIZE -> MAX_BUFFERSIZE,
BLOSC_MAX_THREADS -> MAX_THREADS,
BLOSC_MAX_TYPESIZE -> MAX_TYPESIZE,
* The `typesize` parameter is set by default to 8 in compression
functions. This usually behaves well for 4-bytes typesizes too.
Nevertheless, it is advised to use the actual typesize.
* The maximum number of threads to use by default is set to 4 (less if
less cores are detected). Feel free to use more or less threads
depending on the resources you want to use for compression.
- Implement single-spec version.
-------------------------------------------------------------------
Thu Mar 10 19:48:59 UTC 2016 - toddrme2178@gmail.com
- Update to version 1.2.8
* Updated to c-blosc v1.7.0. However, the new bitshuffle filter
has not been made public because recent reports indicate that
it seems too green for production.
* Support bytes-like objects that support the buffer interface
as input to compress and decompress. On Python 2.x this
includes unicode, on Python 3.x it doesn't. (#80 #94 @esc)
* Fix a memory leak in decompress. Added tests to catch memory
leaks. (#102 #103 #104 @sdvillal)
* Various miscellaneous fixes and improvements.
-------------------------------------------------------------------
Tue May 19 12:15:06 UTC 2015 - toddrme2178@gmail.com
- Update to version 1.2.7
* Updated to c-blosc v1.6.1.
-------------------------------------------------------------------
Sun Apr 26 14:22:04 UTC 2015 - benoit.monin@gmx.fr
- update to version 1.2.5:
* Updated to c-blosc v1.5.4.
* Added wrapper for the expert function ``set_blocksize``.
(#72 @esc)
* Fix setup.py to allow compilation on posix architectures
without SSE2. (#70 @andreas-schwab)
* Don't release the GIL on compression/decompression (#77 @esc)
* Various miscellaneous fixes.
- drop setup.patch: fixed upstream
-------------------------------------------------------------------
Wed Aug 6 15:16:57 UTC 2014 - schwab@suse.de
- setup.patch: fix use of unknown compiler option
-------------------------------------------------------------------
Thu Jul 17 09:32:38 UTC 2014 - toddrme2178@gmail.com
- Update to 1.2.4
- Updated to c-blosc 1.4.0. This added support for non-Intel
architectures, most specially those not supporting unaligned access.
-------------------------------------------------------------------
Thu May 8 12:14:34 UTC 2014 - toddrme2178@gmail.com
- Update to 1.2.3
- Updated to c-blosc 1.3.5. This removed a 'pointer from integer
without a cast' compiler warning due to a bad macro definition.
- Update to 1.2.2
- Updated to c-blosc 1.3.4. This fixed a false buffer overrun
condition. This bug made c-blosc (and hence python-blosc) to fail,
even if the failure was not real.
- Update to 1.2.1
- Updated to c-blosc 1.3.3.
- Added a new `cname2clib` map for programatically determine the library
associated to a compressor.
- New `get_clib(cbuffer)` that tells which compression library format
has been used to created the compressed `cbuffer`.
- Update to 1.2.0
- This release adds support for the multiple compressors added in Blosc
1.3 series.
- Added new `cname` parameter in compression functions like
`compress()`, `compress_ptr()` and `pack_array()`.
- Added a new utility function named `compressor_list()` that returns
the list of compressors supported in the Blosc build.
- Added 'bench/compress_ptr.py' for comparing times of the different
compressors in Blosc and NumPy.
- Update to 1.1.0
- Added new `compress_ptr` and `decompress_ptr` functions that allows to
compress and decompress from/to a data pointer. These are low level
calls and user must make sure that the pointer data area is safe.
- Since Blosc (the C library) already supports to be installed as an
standalone library (via cmake), it is also possible to link
python-blosc against a system Blosc library.
- The Python calls to Blosc are now thread-safe (another consequence of
recent Blosc library supporting this at C level).
- Many checks on types and ranges of values have been added. Most of
the calls will now complain when passed the wrong values.
- Docstrings are much improved. Also, Sphinx-based docs are available
now.
- Update to 1.0.6
- Fix compile error with msvc compilers. Thanks to Christoph Gohlke.
- Update to 1.0.5
- Upgraded to latest Blosc 1.1.4.
- Better handling of condition errors, and improved memory releasing in
case of errors (thanks to Valentin Haenel and Han Genuit).
- Better handling of types (should compile without warning now, at least
with GCC).
- Update to 1.0.4
- Optimized the amount of data copied during compression (using
_PyBytes_Resize() now instead of old PyBytes_FromStringAndSize()).
This leads to improvements in compression speed ranging from 1.2x for
highly compressible chunks up to 7x for mostly uncompressible data.
Thanks to Valentin Haenel for this nice contribution.
- Use external blosc library. The internal one builds a bad version
of zlib.
-------------------------------------------------------------------
Fri Sep 7 14:30:54 UTC 2012 - toddrme2178@gmail.com
- Initial version

75
python-blosc.spec Normal file
View File

@ -0,0 +1,75 @@
#
# spec file for package python-blosc
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-blosc
Version: 1.11.1
Release: 0
Summary: Blosc data compressor for Python
License: MIT
Group: Development/Languages/Python
URL: https://github.com/Blosc/python-blosc
Source: https://files.pythonhosted.org/packages/source/b/blosc/blosc-%{version}.tar.gz
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module scikit-build >= 0.11.1}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: blosc-devel >= 1.21
BuildRequires: c++_compiler
BuildRequires: cmake >= 3.14.0
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module numpy >= 1.16}
BuildRequires: %{python_module psutil}
# /SECTION
Recommends: python-numpy
%python_subpackages
%description
Blosc is a high performance compressor optimized for binary data in
Python.
%prep
%autosetup -p1 -n blosc-%{version}
rm -r blosc/c-blosc
%build
export CFLAGS="%{optflags}"
export USE_SYSTEM_BLOSC=1
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
%{python_expand #
export PYTHONPATH=%{buildroot}%{$python_sitearch}
export PYTHONDONTWRITEBYTECODE=1
$python -m blosc.test
}
%files %{python_files}
%license LICENSE.txt
%doc ANNOUNCE.rst README.rst RELEASE_NOTES.rst
%{python_sitearch}/blosc-%{version}.dist-info
%{python_sitearch}/blosc/
%changelog