diff --git a/.python-tables.metadata b/.python-tables.metadata new file mode 100644 index 0000000..45504b0 --- /dev/null +++ b/.python-tables.metadata @@ -0,0 +1 @@ +60fd0b25634848b89efebde2525fcc2ce4c5ade3 SOURCES/python-tables-3.6.1.tar.gz diff --git a/SOURCES/0001-Fix-syntax-warnings.patch b/SOURCES/0001-Fix-syntax-warnings.patch new file mode 100644 index 0000000..fb6fd16 --- /dev/null +++ b/SOURCES/0001-Fix-syntax-warnings.patch @@ -0,0 +1,39 @@ +From 7c4c4ba050252ba2ecce06672cb6a7dae34a5044 Mon Sep 17 00:00:00 2001 +From: Antonio Valentino +Date: Sat, 21 Dec 2019 18:18:01 +0100 +Subject: [PATCH] Fix syntax warnings + +--- + tables/scripts/pttree.py | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/tables/scripts/pttree.py b/tables/scripts/pttree.py +index 8101a6bf78..a3cad7e3a3 100644 +--- a/tables/scripts/pttree.py ++++ b/tables/scripts/pttree.py +@@ -221,7 +221,6 @@ def get_tree_str(f, where='/', max_depth=-1, print_class=True, + else: + leaves.append(node) + +- + # on the second pass we start at each leaf and work upwards towards the + # root node, computing the cumulative size of each branch at each node, and + # instantiating a PrettyTree object for each node to create an ASCII +@@ -317,7 +316,7 @@ def get_tree_str(f, where='/', max_depth=-1, print_class=True, + pretty[path].sort_by = node._v_name + else: + # natural order +- if path is '/': ++ if path == '/': + # root is not in root._v_children + pretty[path].sort_by = 0 + else: +@@ -326,7 +325,7 @@ def get_tree_str(f, where='/', max_depth=-1, print_class=True, + + # exclude root node or we'll get infinite recursions (since '/' is + # the parent of '/') +- if path is not '/': ++ if path != '/': + + # create a PrettyTree for the parent of this node, if one + # doesn't exist already diff --git a/SOURCES/0001-Skip-tests-that-fail-on-s390x.patch b/SOURCES/0001-Skip-tests-that-fail-on-s390x.patch new file mode 100644 index 0000000..ee1300f --- /dev/null +++ b/SOURCES/0001-Skip-tests-that-fail-on-s390x.patch @@ -0,0 +1,176 @@ +From 6b806b40a8a797e4a4c6ba442088dfb42297664a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 13 Nov 2020 17:17:45 +0100 +Subject: [PATCH] Skip tests that fail on s390x + +--- + tables/tests/test_index_backcompat.py | 154 -------------------------- + 1 file changed, 154 deletions(-) + +diff --git a/tables/tests/test_index_backcompat.py b/tables/tests/test_index_backcompat.py +index 4d4e261806..d3f72dfd36 100644 +--- a/tables/tests/test_index_backcompat.py ++++ b/tables/tests/test_index_backcompat.py +@@ -6,162 +6,8 @@ from tables.tests.common import verbose + from tables.tests.common import unittest, test_filename + from tables.tests.common import PyTablesTestCase as TestCase + +- +-# Check indexes from PyTables version 2.0 +-class IndexesTestCase(common.TestFileMixin, TestCase): +- +- def setUp(self): +- super(IndexesTestCase, self).setUp() +- self.table1 = self.h5file.root.table1 +- self.table2 = self.h5file.root.table2 +- self.il = 0 +- self.sl = self.table1.cols.var1.index.slicesize +- +- def test00_version(self): +- """Checking index version.""" +- +- t1var1 = self.table1.cols.var1 +- if "2_0" in self.h5fname: +- self.assertEqual(t1var1.index._v_version, "2.0") +- elif "2_1" in self.h5fname: +- self.assertEqual(t1var1.index._v_version, "2.1") +- +- def test01_string(self): +- """Checking string indexes.""" +- +- if common.verbose: +- print('\n', '-=' * 30) +- print("Running %s.test01_string..." % self.__class__.__name__) +- +- table1 = self.table1 +- table2 = self.table2 +- +- # Convert the limits to the appropriate type +- il = str(self.il).encode('ascii') +- sl = str(self.sl).encode('ascii') +- +- # Do some selections and check the results +- # First selection +- t1var1 = table1.cols.var1 +- self.assertIsNotNone(t1var1) +- results1 = [p["var1"] for p in +- table1.where('(il<=t1var1)&(t1var1<=sl)')] +- results2 = [p["var1"] for p in table2 if il <= p["var1"] <= sl] +- results1.sort() +- results2.sort() +- if verbose: +- print("Should look like:", results2) +- print("Length results:", len(results1)) +- print("Should be:", len(results2)) +- self.assertEqual(len(results1), len(results2)) +- self.assertEqual(results1, results2) +- +- def test02_bool(self): +- """Checking bool indexes.""" +- +- if common.verbose: +- print('\n', '-=' * 30) +- print("Running %s.test02_bool..." % self.__class__.__name__) +- +- table1 = self.table1 +- table2 = self.table2 +- +- # Do some selections and check the results +- t1var2 = table1.cols.var2 +- self.assertIsNotNone(t1var2) +- results1 = [p["var2"] for p in table1.where('t1var2 == True')] +- results2 = [p["var2"] for p in table2 if p["var2"] is True] +- if verbose: +- print("Selection results (index):", results1) +- print("Should look like:", results2) +- print("Length results:", len(results1)) +- print("Should be:", len(results2)) +- self.assertEqual(len(results1), len(results2)) +- self.assertEqual(results1, results2) +- +- def test03_int(self): +- """Checking int indexes.""" +- +- if common.verbose: +- print('\n', '-=' * 30) +- print("Running %s.test03_int..." % self.__class__.__name__) +- +- table1 = self.table1 +- table2 = self.table2 +- +- # Convert the limits to the appropriate type +- il = int(self.il) +- sl = int(self.sl) +- +- # Do some selections and check the results +- t1col = table1.cols.var3 +- self.assertIsNotNone(t1col) +- +- # First selection +- results1 = [p["var3"] for p in table1.where('(il<=t1col)&(t1col<=sl)')] +- results2 = [p["var3"] for p in table2 +- if il <= p["var3"] <= sl] +- # sort lists (indexing does not guarantee that rows are returned in +- # order) +- results1.sort() +- results2.sort() +- if verbose: +- print("Length results:", len(results1)) +- print("Should be:", len(results2)) +- self.assertEqual(len(results1), len(results2)) +- self.assertEqual(results1, results2) +- +- def test04_float(self): +- """Checking float indexes.""" +- +- if common.verbose: +- print('\n', '-=' * 30) +- print("Running %s.test04_float..." % self.__class__.__name__) +- +- table1 = self.table1 +- table2 = self.table2 +- +- # Convert the limits to the appropriate type +- il = float(self.il) +- sl = float(self.sl) +- +- # Do some selections and check the results +- t1col = table1.cols.var4 +- self.assertIsNotNone(t1col) +- +- # First selection +- results1 = [p["var4"] for p in table1.where('(il<=t1col)&(t1col<=sl)')] +- results2 = [p["var4"] for p in table2 +- if il <= p["var4"] <= sl] +- # sort lists (indexing does not guarantee that rows are returned in +- # order) +- results1.sort() +- results2.sort() +- if verbose: +- print("Length results:", len(results1)) +- print("Should be:", len(results2)) +- self.assertEqual(len(results1), len(results2)) +- self.assertEqual(results1.sort(), results2.sort()) +- +- +-# Check indexes from PyTables version 2.0 +-class Indexes2_0TestCase(IndexesTestCase): +- h5fname = test_filename("indexes_2_0.h5") +- +- +-# Check indexes from PyTables version 2.1 +-class Indexes2_1TestCase(IndexesTestCase): +- h5fname = test_filename("indexes_2_1.h5") +- +- + def suite(): + theSuite = unittest.TestSuite() +- niter = 1 +- +- for n in range(niter): +- theSuite.addTest(unittest.makeSuite(Indexes2_0TestCase)) +- theSuite.addTest(unittest.makeSuite(Indexes2_1TestCase)) +- + return theSuite + + diff --git a/SOURCES/0001-Use-lowercase-float64-as-numpy-dtype.patch b/SOURCES/0001-Use-lowercase-float64-as-numpy-dtype.patch new file mode 100644 index 0000000..20dd80d --- /dev/null +++ b/SOURCES/0001-Use-lowercase-float64-as-numpy-dtype.patch @@ -0,0 +1,33 @@ +From cf4aa744be67583acb14b4471101b2b3e011f718 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 24 Jan 2021 16:36:21 +0100 +Subject: [PATCH] Use lowercase "float64" as numpy dtype + +Float64 is gone with numpy 1.20: + +>>> numpy.__version__ +'1.19.4' +>>> [k for k in numpy.sctypeDict.keys() if str(k).lower().startswith('float')] +['float16', 'Float16', 'float32', 'Float32', 'float64', 'Float64', 'float128', 'Float128', 'float_', 'float'] + +>>> numpy.__version__ +'1.20.0rc2' +>>> [k for k in numpy.sctypeDict.keys() if str(k).lower().startswith('float')] +['float16', 'float32', 'float64', 'float128', 'float_', 'float'] +--- + tables/atom.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tables/atom.py b/tables/atom.py +index 81d37c5483..0a25ddf360 100644 +--- a/tables/atom.py ++++ b/tables/atom.py +@@ -336,7 +336,7 @@ class Atom(metaclass=MetaAtom): + Traceback (most recent call last): + ... + ValueError: unknown NumPy scalar type: 'S5' +- >>> Atom.from_sctype('Float64') ++ >>> Atom.from_sctype('float64') + Float64Atom(shape=(), dflt=0.0) + + """ diff --git a/SOURCES/0001-doctest-adjust-__init__-TypeError-formatting.patch b/SOURCES/0001-doctest-adjust-__init__-TypeError-formatting.patch new file mode 100644 index 0000000..24c0866 --- /dev/null +++ b/SOURCES/0001-doctest-adjust-__init__-TypeError-formatting.patch @@ -0,0 +1,39 @@ +From 4a056cc5627698e6e9ad4e710b80f10b309059e9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 16 Nov 2020 10:53:05 +0100 +Subject: [PATCH] doctest: adjust __init__ TypeError formatting + +Python3.10 includes the class name in the TypeError string +for __init__(). This change allows the tests to pass in the new version, +but obviously breaks with older Pythons. +--- + tables/atom.py | 2 +- + tables/filters.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tables/atom.py b/tables/atom.py +index 55726e0c18..34141f6d85 100644 +--- a/tables/atom.py ++++ b/tables/atom.py +@@ -576,7 +576,7 @@ class Atom(six.with_metaclass(MetaAtom, object)): + >>> atom1.copy(foobar=42) + Traceback (most recent call last): + ... +- TypeError: __init__() got an unexpected keyword argument 'foobar' ++ TypeError: _create_numeric_class..__init__() got an unexpected keyword argument 'foobar' + + """ + newargs = self._get_init_args() +diff --git a/tables/filters.py b/tables/filters.py +index 199e26d80b..65cb9db1f6 100644 +--- a/tables/filters.py ++++ b/tables/filters.py +@@ -441,7 +441,7 @@ class Filters(object): + >>> filters1.copy(foobar=42) + Traceback (most recent call last): + ... +- TypeError: __init__() got an unexpected keyword argument 'foobar' ++ TypeError: Filters.__init__() got an unexpected keyword argument 'foobar' + + """ + diff --git a/SOURCES/always-use-blosc.diff b/SOURCES/always-use-blosc.diff new file mode 100644 index 0000000..0e3f298 --- /dev/null +++ b/SOURCES/always-use-blosc.diff @@ -0,0 +1,14 @@ +--- PyTables-v.3.2.0/tables/utilsextension.pyx~ 2015-05-06 10:10:43.000000000 -0400 ++++ PyTables-v.3.2.0/tables/utilsextension.pyx 2015-05-07 19:03:11.439144042 -0400 +@@ -276,11 +276,6 @@ + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661286). + # This function has been written by Julian Taylor . + def _arch_without_blosc(): +- import platform +- arch = platform.machine().lower() +- for a in ("arm", "sparc", "mips", "aarch64"): +- if a in arch: +- return True + return False + + if blosc_version and blosc_version < ('1', '4') and _arch_without_blosc(): diff --git a/SOURCES/pytablesmanual-3.3.0.pdf b/SOURCES/pytablesmanual-3.3.0.pdf new file mode 100644 index 0000000..dc67407 Binary files /dev/null and b/SOURCES/pytablesmanual-3.3.0.pdf differ diff --git a/SPECS/python-tables.spec b/SPECS/python-tables.spec new file mode 100644 index 0000000..083dd0c --- /dev/null +++ b/SPECS/python-tables.spec @@ -0,0 +1,308 @@ +#global commit 16191801a53eddae8ca9380a28988c3b5b263c5e +%{?gitcommit:%global gitcommitshort %(c=%{gitcommit}; echo ${c:0:7})} + +# Use the same directory of the main package for subpackage licence and docs +%global _docdir_fmt %{name} + +Summary: HDF5 support in Python +Name: python-tables +Version: 3.6.1 +Release: 4%{?dist}%{?gitcommit:.git%{shortcommit}} +#Source0: https://github.com/PyTables/PyTables/archive/%{commit}/PyTables-%{commit}.tar.gz +Source0: https://github.com/PyTables/PyTables/archive/v%{version}/python-tables-%{version}.tar.gz + +# sometimes it doesn't get updated +%global manual_version 3.3.0 + +Source1: https://github.com/PyTables/PyTables/releases/download/v%{manual_version}/pytablesmanual-%{manual_version}.pdf +Patch0: always-use-blosc.diff +Patch1: 0001-Skip-tests-that-fail-on-s390x.patch +Patch2: 0001-doctest-adjust-__init__-TypeError-formatting.patch +Patch3: 0001-Use-lowercase-float64-as-numpy-dtype.patch +Patch4: 0001-Fix-syntax-warnings.patch + +License: BSD +URL: https://www.pytables.org + +BuildRequires: hdf5-devel >= 1.8 +BuildRequires: bzip2-devel +BuildRequires: lzo-devel +BuildRequires: blosc-devel >= 1.5.2 +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-Cython >= 0.13 +BuildRequires: python%{python3_pkgversion}-numpy +BuildRequires: python%{python3_pkgversion}-numexpr >= 2.4 +BuildRequires: python%{python3_pkgversion}-six +BuildRequires: python%{python3_pkgversion}-mock + +%global _description %{expand: +PyTables is a package for managing hierarchical datasets and designed +to efficiently and easily cope with extremely large amounts of data.} + +%description %_description + +%package -n python%{python3_pkgversion}-tables +Summary: %{summary} + +Requires: python%{python3_pkgversion}-numpy +Requires: python%{python3_pkgversion}-six +Requires: python%{python3_pkgversion}-numexpr >= 2.4 +%{?python_provide:%python_provide python%{python3_pkgversion}-tables} + +%description -n python%{python3_pkgversion}-tables %_description + +%package doc +Summary: Documentation for PyTables +BuildArch: noarch + +%description doc +The %{name}-doc package contains the documentation for %{name}. + +%prep +%setup -n PyTables-%{version} -q +%patch0 -p1 + +# https://github.com/PyTables/PyTables/issues/735 +%ifarch s390x +%patch1 -p1 +%endif + +%if "%{?python3_version}" == "3.10" +%patch2 -p1 +%endif + +%patch3 -p1 +%patch4 -p1 + +cp -a %{SOURCE1} pytablesmanual.pdf + +echo "import sys, tables; sys.exit(tables.test(verbose=1))" > bench/check_all.py + +# Make sure we are not using anything from the bundled blosc by mistake +find c-blosc -mindepth 1 -maxdepth 1 -name hdf5 -prune -o -exec rm -r {} + + +%build +%py3_build + +%install +chmod -x examples/check_examples.sh +sed -i 's|bin/env |bin/|' utils/* + +%py3_install + +## %check + +## # OOM during tests on s390 +## %ifnarch s390 +## PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} bench/check_all.py +## %endif + +%files -n python%{python3_pkgversion}-tables +%license LICENSE.txt LICENSES +%{_bindir}/ptdump +%{_bindir}/ptrepack +%{_bindir}/pt2to3 +%{_bindir}/pttree +%{python3_sitearch}/tables/ +%{python3_sitearch}/tables-%{version}*.egg-info/ + +%files doc +%license LICENSE.txt LICENSES +%doc pytablesmanual.pdf +%doc [A-KM-Za-z]*.txt +%doc examples/ + +%changelog +* Fri Jul 23 2021 Fedora Release Engineering - 3.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.6.1-3 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 3.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 12 2020 Zbigniew Jędrzejewski-Szmek - 3.6.1-1 +- Update to latest version (#1761990) + +* Wed Jul 29 2020 Fedora Release Engineering - 3.5.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jun 25 2020 Orion Poplawski - 3.5.2-9 +- Rebuild for hdf5 1.10.6 + +* Mon May 25 2020 Miro Hrončok - 3.5.2-8 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 3.5.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 3.5.2-6 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 3.5.2-5 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 3.5.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jul 12 2019 Zbigniew Jędrzejewski-Szmek - 3.5.2-3 +- Add patch to fix build on python3.8 (#1718246) + +* Fri Jun 28 2019 Miro Hrončok - 3.5.2-2 +- Subpackage python2-tables has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Sat Jun 1 2019 Zbigniew Jędrzejewski-Szmek - 3.5.2-1 +- Update to latest version (#1715694) + +* Wed May 22 2019 Miro Hrončok - 3.5.1-1 +- Update to 3.5.1 (#1687831) +- Fix build under python3.8 (#1712818) + +* Sat Mar 16 2019 Orion Poplawski - 3.4.4-5 +- Rebuild for hdf5 1.10.5 + +* Sun Mar 3 2019 Zbigniew Jędrzejewski-Szmek - 3.4.4-4 +- Backport patch from upstream for numpy 1.16 compatibility (#1675793) + +* Sat Feb 02 2019 Fedora Release Engineering - 3.4.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 3.4.4-3 +- Drop explicit locale setting + See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot + +* Sat Jul 14 2018 Fedora Release Engineering - 3.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sun Jun 24 2018 Miro Hrončok - 3.4.4-1 +- Update to 3.4.4 (#1570227) + +* Tue Jun 19 2018 Miro Hrončok - 3.4.2-3 +- Rebuilt for Python 3.7 + +* Wed Feb 28 2018 Iryna Shcherbina - 3.4.2-2 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Sat Feb 24 2018 Zbigniew Jędrzejewski-Szmek - 3.4.2-1 +- Update to latest version (#1441659) + +* Fri Feb 09 2018 Fedora Release Engineering - 3.3.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 3.3.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 3.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 3.3.0-3 +- Rebuild for Python 3.6 + +* Mon Nov 07 2016 Than Ngo - 3.3.0-2 +- rebuild against new blosc due to big endien issue on s390x/ppc64 + +* Thu Sep 15 2016 Zbigniew Jędrzejewski-Szmek - 3.3.0-1 +- Update to latest upstream version (#1352621) + +* Tue Jul 19 2016 Fedora Release Engineering - 3.2.2-6 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue May 17 2016 Orion Poplawski - 3.2.2-5 +- Update provides filter +- Ship python2 package +- Use %%python3_pkgversion for EPEL7 compatibility +- Use current python macros + +* Thu Feb 04 2016 Fedora Release Engineering - 3.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 21 2016 Orion Poplawski - 3.2.2-3 +- Rebuild for hdf5 1.8.16 + +* Wed Nov 18 2015 Zbigniew Jędrzejewski-Szmek - 3.2.2-2 +- Make sure numexpr is new enough + +* Sat Nov 14 2015 Zbigniew Jędrzejewski-Szmek - 3.2.2-1 +- Update to latest version + +* Tue Nov 10 2015 Fedora Release Engineering - 3.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Jun 18 2015 Fedora Release Engineering - 3.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun May 17 2015 Orion Poplawski - 3.2.0-2 +- Rebuild for hdf5 1.8.15 + +* Thu May 7 2015 Zbigniew Jędrzejewski-Szmek - 3.2.0-1 +- Update to 3.2.0 + +* Thu Jan 8 2015 Zbigniew Jędrzejewski-Szmek - 3.1.2-4.git1619180 +- Use blosc on all architectures + +* Thu Jan 8 2015 Zbigniew Jędrzejewski-Szmek - 3.1.2-3.git1619180 +- Update to latest snapshot and use external blosc + +* Wed Jan 07 2015 Orion Poplawski - 3.1.1-2 +- Rebuild for hdf5 1.8.14 + +* Tue Jan 06 2015 Zbigniew Jędrzejewski-Szmek - 3.1.1-1 +- Update to 3.1.1 (#1080889) + +* Tue Nov 25 2014 Dan Horák - 3.0.0-8 +- workaround OOM during Python3 tests on s390 + +* Sun Aug 17 2014 Fedora Release Engineering - 3.0.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 3.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 3.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Mon Mar 24 2014 Zbigniew Jędrzejewski-Szmek - 3.0.0-4 +- Rebuild for latest blosc + +* Fri Jan 10 2014 Zbigniew Jędrzejewski-Szmek - 3.0.0-3 +- Move python3 requires to the proper package (#1051691) + +* Thu Sep 05 2013 Zbigniew Jędrzejewski-Szmek - 3.0.0-2 +- Add python3-tables package + +* Wed Aug 21 2013 Thibault North - 3.0.0-1 +- Update to 3.0.0 + +* Sun Aug 04 2013 Fedora Release Engineering - 2.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu May 16 2013 Orion Poplawski - 2.4.0-3 +- Rebuild for hdf5 1.8.11 + +* Thu Feb 14 2013 Fedora Release Engineering - 2.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Oct 28 2012 Thibault North - 2.4.0-1 +- Update to 2.4.0 + +* Sat Jul 21 2012 Fedora Release Engineering - 2.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Nov 14 2011 Thibault North - 2.3.1-3 +- Remove lrucache.py which was deprecated and under AFL license + +* Thu Nov 10 2011 Thibault North - 2.3.1-2 +- Fixes and subpackage for the docs + +* Mon Nov 07 2011 Thibault North - 2.3.1-1 +- Fixes and update to 2.3.1