On Wed, 2017-04-05 at 17:23 +0000, Niels Thykier wrote: > Control: tags -1 moreinfo > > I am happy to ack the provided debdiff. Alternatively, if you want the > 2.7 release, I would like to see the debdiff first. It does sound like > it would make sense in this case.
It is the case, indeed. I have attached the corresponding debdiff for 2.7.0-1. Let me know whether you are happy with it. Ghis
diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b1ea6b5..0000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -h5py/h5*.c -h5py/utils.c -h5py/_conv.c -h5py/_proxy.c -h5py/_objects.c -h5py/_errors.c -h5py/config.pxi -h5py/_hdf5.* -h5py/*.dll -*.hdf5 -*.pkl -h5py/defs.* -build/ -*.pyc -dist/ -MANIFEST -.DS_Store -/docs/_build -/docs_api/_build -/.tox -/h5py.egg-info -/*.egg -.eggs/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index fd5a2ee..0000000 --- a/.travis.yml +++ /dev/null @@ -1,84 +0,0 @@ -language: python - -notifications: - email: false - -addons: - apt: - packages: - - libhdf5-serial-dev - -sudo: false - -cache: - directories: - - $HOME/.cache/pip - -env: - - TOXENV=py26-test-deps - - TOXENV=py27-test-deps - - TOXENV=py33-test-deps - - TOXENV=py34-test-deps - - TOXENV=py26-test-mindeps - - TOXENV=py27-test-mindeps - - TOXENV=py33-test-mindeps - - TOXENV=py34-test-mindeps -# - TOXENV=py35-test-deps -# - TOXENV=py35-test-mindeps -# commented out because of https://github.com/travis-ci/travis-ci/issues/4794 - - TOXENV=py26-test-deps - TOX_TESTENV_PASSENV=LANG LC_ALL - LANG=C - LC_ALL=C - - TOXENV=py27-test-deps - TOX_TESTENV_PASSENV=LANG LC_ALL - LANG=C - LC_ALL=C - - TOXENV=py33-test-deps - TOX_TESTENV_PASSENV=LANG LC_ALL - LANG=C - LC_ALL=C - - TOXENV=py34-test-deps - TOX_TESTENV_PASSENV=LANG LC_ALL - LANG=C - LC_ALL=C - -matrix: - include: - # needed to work around https://github.com/travis-ci/travis-ci/issues/4794 - - python: 3.5 - env: - - TOXENV=py35-test-deps - - python: 3.5 - env: - - TOXENV=py35-test-mindeps - - python: 3.5 - env: - - TOXENV=py35-test-deps - TOX_TESTENV_PASSENV=LANG LC_ALL - LANG=C - LC_ALL=C - # parallel HDF5 test with HDF5>=1.8.9 for mpio "atomic" support - - dist: trusty - sudo: required - env: - - TOXENV=py34-test-mpi4py - - CC="mpicc" - - HDF5_MPI="ON" - addons: - apt: - packages: - - openmpi-bin # 1.4.3 - - libopenmpi-dev - - libhdf5-openmpi-dev # 1.8.4 - - python: pypy - env: - - TOXENV=pypy-test-deps - allow_failures: - - python: pypy - -install: - - pip install tox - -script: - - tox diff --git a/PKG-INFO b/PKG-INFO new file mode 100644 index 0000000..a9e93a2 --- /dev/null +++ b/PKG-INFO @@ -0,0 +1,45 @@ +Metadata-Version: 1.1 +Name: h5py +Version: 2.7.0 +Summary: Read and write HDF5 files from Python +Home-page: http://www.h5py.org +Author: Andrew Collette +Author-email: andrew.colle...@gmail.com +License: UNKNOWN +Download-URL: https://pypi.python.org/pypi/h5py +Description: + The h5py package provides both a high- and low-level interface to the HDF5 + library from Python. The low-level interface is intended to be a complete + wrapping of the HDF5 API, while the high-level component supports access to + HDF5 files, datasets and groups using established Python and NumPy concepts. + + A strong emphasis on automatic conversion between Python (Numpy) datatypes and + data structures and their HDF5 equivalents vastly simplifies the process of + reading and writing data from Python. + + Supports HDF5 versions 1.8.4 and higher. On Windows, HDF5 is included with + the installer. + +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: Science/Research +Classifier: License :: OSI Approved :: BSD License +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Topic :: Scientific/Engineering +Classifier: Topic :: Database +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Operating System :: Unix +Classifier: Operating System :: POSIX :: Linux +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Operating System :: Microsoft :: Windows diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 9a0d6ec..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,103 +0,0 @@ -# from https://packaging.python.org/en/latest/appveyor/ -environment: - HDF5_VERSION: "1.8.17" - TOX_TESTENV_PASSENV: "HDF5_DIR" - - matrix: - - # For Python versions available on Appveyor, see - # http://www.appveyor.com/docs/installed-software#python - # The list here is complete (excluding Python 2.6, which - # isn't covered by this document) at the time of writing. - - - PYTHON: "C:\\Python27" - TOXENV: "py27-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "9" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python33" - TOXENV: "py33-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "10" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python34" - TOXENV: "py34-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "10" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python35" - TOXENV: "py35-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "14" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python27-x64" - TOXENV: "py27-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "9-64" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python33-x64" - TOXENV: "py33-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "10-64" - DISTUTILS_USE_SDK: "1" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python34-x64" - TOXENV: "py34-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "10-64" - DISTUTILS_USE_SDK: "1" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - - - PYTHON: "C:\\Python35-x64" - TOXENV: "py35-test-deps" - TOXPYTHON: "%PYTHON%\\python.exe" - HDF5_VSVERSION: "14-64" - HDF5_DIR: "C:\\hdf5\\%HDF5_VERSION%\\%HDF5_VSVERSION%" - -install: - # We need wheel installed to build wheels - - "%PYTHON%\\python.exe -m pip install --upgrade wheel pip setuptools" - - "py -3.5 -m pip install --upgrade wheel pip setuptools" - - "py -3.5 -m pip install requests" - - "py -3.5 ci\\get_hdf5.py" - - "py -3.5 -m pip install tox" - -build: off - -test_script: - # Put your test command here. - # If you don't need to build C extensions on 64-bit Python 3.3 or 3.4, - # you can remove "build.cmd" from the front of the command, as it's - # only needed to support those cases. - # Note that you must use the environment variable %PYTHON% to refer to - # the interpreter you're using - Appveyor does not do anything special - # to put the Python evrsion you want to use on PATH. - - "ci\\appveyor\\build.cmd py -3.5 -m tox" - -# This is commented out as there's no easy way to deal with numpy dropping -# older python versions without a recent pip/setuptools. -#after_test: -# # This step builds your wheels. -# # Again, you only need build.cmd if you're building C extensions for -# # 64-bit Python 3.3/3.4. And you need to use %PYTHON% to get the correct -# # interpreter -# - "ci\\appveyor\\build.cmd %PYTHON%\\python.exe setup.py bdist_wheel" -# -#artifacts: -# # bdist_wheel puts your built wheel in the dist directory -# - path: dist\* - -cache: - - "%LOCALAPPDATA%\\pip\\Cache" - - "C:\\hdf5" - -#on_success: -# You can use this step to upload your artifacts to a public website. -# See Appveyor's documentation for more details. Or you can simply -# access your wheels from the Appveyor "artifacts" tab for your build. diff --git a/ci/appveyor/build.cmd b/ci/appveyor/build.cmd deleted file mode 100644 index 243dc9a..0000000 --- a/ci/appveyor/build.cmd +++ /dev/null @@ -1,21 +0,0 @@ -@echo off -:: To build extensions for 64 bit Python 3, we need to configure environment -:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of: -:: MS Windows SDK for Windows 7 and .NET Framework 4 -:: -:: More details at: -:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows - -IF "%DISTUTILS_USE_SDK%"=="1" ( - ECHO Configuring environment to build with MSVC on a 64bit architecture - ECHO Using Windows SDK 7.1 - "C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\WindowsSdkVer.exe" -q -version:v7.1 - CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release - SET MSSdk=1 - REM Need the following to allow tox to see the SDK compiler - SET TOX_TESTENV_PASSENV=DISTUTILS_USE_SDK MSSdk INCLUDE LIB -) ELSE ( - ECHO Using default MSVC build environment -) - -CALL %* diff --git a/ci/appveyor/vs2008_patch/readme.txt b/ci/appveyor/vs2008_patch/readme.txt deleted file mode 100644 index 931ee41..0000000 --- a/ci/appveyor/vs2008_patch/readme.txt +++ /dev/null @@ -1,15 +0,0 @@ -How to enable X64 and IA64 programming in Visual C++ Express: - -1. Install Visual C++ 2008 Express (to default folder in C drive, or this patch will not work) -2. Install Windows SDK (Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1) -3. Fix SDK bugs: http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html -4. Open a command prompt with Administrator privilege, navigate to the folder contains this file, run setup_x86.bat or setup_x64.bat according to your OS architecture -5. If there is no error in the command prompt, launch the Visual C++ 2008 Express IDE and build your X64 or IA64 projects - -This work is based on the work by jenshuebel: http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/ - -Thanks jenshuebel for the complete and accurate instructions, and thanks Microsoft for the free Visual C++ IDE. - - - -Xia Wei, sunmast#gmail.com diff --git a/ci/appveyor/vs2008_patch/setup_x64.bat b/ci/appveyor/vs2008_patch/setup_x64.bat deleted file mode 100644 index 4786b3c..0000000 --- a/ci/appveyor/vs2008_patch/setup_x64.bat +++ /dev/null @@ -1,13 +0,0 @@ -regedit /s x64\VC_OBJECTS_PLATFORM_INFO.reg - -regedit /s x64\600dd186-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\600dd187-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\600dd188-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\600dd189-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\656d875f-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\656d8760-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\656d8763-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x64\656d8766-2429-11d7-8bf6-00b0d03daa06.reg - -copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.config" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.Express.config" -copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.config" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.Express.config" \ No newline at end of file diff --git a/ci/appveyor/vs2008_patch/setup_x86.bat b/ci/appveyor/vs2008_patch/setup_x86.bat deleted file mode 100644 index 746dfe5..0000000 --- a/ci/appveyor/vs2008_patch/setup_x86.bat +++ /dev/null @@ -1,13 +0,0 @@ -regedit /s x86\VC_OBJECTS_PLATFORM_INFO.reg - -regedit /s x86\600dd186-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\600dd187-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\600dd188-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\600dd189-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\656d875f-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\656d8760-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\656d8763-2429-11d7-8bf6-00b0d03daa06.reg -regedit /s x86\656d8766-2429-11d7-8bf6-00b0d03daa06.reg - -copy "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.config" "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.Express.config" -copy "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.config" "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.Express.config" \ No newline at end of file diff --git a/ci/appveyor/vs2008_patch/x64/600dd186-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/600dd186-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index ff97081..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/600dd186-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/600dd187-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/600dd187-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 6f218a5..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/600dd187-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/600dd188-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/600dd188-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 8dd2beb..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/600dd188-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/600dd189-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/600dd189-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 26403d8..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/600dd189-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/656d875f-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/656d875f-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 4e196d4..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/656d875f-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/656d8760-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/656d8760-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index d39caed..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/656d8760-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/656d8763-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/656d8763-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 76ec9de..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/656d8763-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/656d8766-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x64/656d8766-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index d945da4..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/656d8766-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x64/VC_OBJECTS_PLATFORM_INFO.reg b/ci/appveyor/vs2008_patch/x64/VC_OBJECTS_PLATFORM_INFO.reg deleted file mode 100644 index b8282bb..0000000 Binary files a/ci/appveyor/vs2008_patch/x64/VC_OBJECTS_PLATFORM_INFO.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/600dd186-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/600dd186-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 98df831..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/600dd186-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/600dd187-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/600dd187-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 9ef557f..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/600dd187-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/600dd188-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/600dd188-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 9e00dab..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/600dd188-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/600dd189-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/600dd189-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 0b7f62a..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/600dd189-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/656d875f-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/656d875f-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 2fc4f16..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/656d875f-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/656d8760-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/656d8760-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 1d5f2a2..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/656d8760-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/656d8763-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/656d8763-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index e743ce9..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/656d8763-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/656d8766-2429-11d7-8bf6-00b0d03daa06.reg b/ci/appveyor/vs2008_patch/x86/656d8766-2429-11d7-8bf6-00b0d03daa06.reg deleted file mode 100644 index 2814f9d..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/656d8766-2429-11d7-8bf6-00b0d03daa06.reg and /dev/null differ diff --git a/ci/appveyor/vs2008_patch/x86/VC_OBJECTS_PLATFORM_INFO.reg b/ci/appveyor/vs2008_patch/x86/VC_OBJECTS_PLATFORM_INFO.reg deleted file mode 100644 index ad44e9e..0000000 Binary files a/ci/appveyor/vs2008_patch/x86/VC_OBJECTS_PLATFORM_INFO.reg and /dev/null differ diff --git a/ci/fix_paths.py b/ci/fix_paths.py deleted file mode 100644 index cd401d8..0000000 --- a/ci/fix_paths.py +++ /dev/null @@ -1,22 +0,0 @@ -import argparse -from glob import glob -from os import environ -from os.path import join as pjoin -from shutil import copy -from sys import platform - -def main(): - """ - Fix paths to dlls - """ - p = argparse.ArgumentParser() - p.add_argument("sitepackagesdir") - args = p.parse_args() - hdf5_path = environ.get("HDF5_DIR") - if platform.startswith('win'): - for f in glob(pjoin(hdf5_path, 'lib/*.dll')): - copy(f, pjoin(args.sitepackagesdir, 'h5py')) - - -if __name__ == '__main__': - main() diff --git a/ci/get_hdf5.py b/ci/get_hdf5.py deleted file mode 100644 index bf55bf4..0000000 --- a/ci/get_hdf5.py +++ /dev/null @@ -1,134 +0,0 @@ -# -*- coding: utf-8 -*- - -from os import environ, makedirs, walk, listdir, getcwd, chdir -from os.path import join as pjoin, exists -from tempfile import TemporaryFile, TemporaryDirectory -from sys import exit, stderr, platform -from shutil import copyfileobj, copy -from glob import glob -from subprocess import run, PIPE, STDOUT -from zipfile import ZipFile - -import requests - -HDF5_URL = "https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-{version}/src/" -HDF5_FILE = HDF5_URL + "hdf5-{version}.zip" -CMAKE_CONFIGURE_CMD = [ - "cmake", "-DBUILD_SHARED_LIBS:BOOL=ON", "-DCMAKE_BUILD_TYPE:STRING=RELEASE", - "-DHDF5_BUILD_CPP_LIB=OFF", "-DHDF5_BUILD_HL_LIB=ON", - "-DHDF5_BUILD_TOOLS:BOOL=ON", -] -CMAKE_BUILD_CMD = ["cmake", "--build"] -CMAKE_INSTALL_ARG = ["--target", "install", '--config', 'Release'] -CMAKE_INSTALL_PATH_ARG = "-DCMAKE_INSTALL_PREFIX={install_path}" -CMAKE_HDF5_LIBRARY_PREFIX = ["-DHDF5_EXTERNAL_LIB_PREFIX=h5py_"] -REL_PATH_TO_CMAKE_CFG = "hdf5-{version}" -DEFAULT_VERSION = '1.8.17' -VSVERSION_TO_GENERATOR = { - "9": "Visual Studio 9 2008", - "10": "Visual Studio 10 2010", - "14": "Visual Studio 14 2015", - "9-64": "Visual Studio 9 2008 Win64", - "10-64": "Visual Studio 10 2010 Win64", - "14-64": "Visual Studio 14 2015 Win64", -} - - -def download_hdf5(version, outfile): - r = requests.get(HDF5_FILE.format(version=version), stream=True) - try: - r.raise_for_status() - copyfileobj(r.raw, outfile) - except requests.HTTPError: - print("Failed to download hdf5 version {version}, exiting".format( - version=version - ), file=stderr) - exit(1) - - -def build_hdf5(version, hdf5_file, install_path, cmake_generator, use_prefix): - with TemporaryDirectory() as hdf5_extract_path: - generator_args = ( - ["-G", cmake_generator] - if cmake_generator is not None - else [] - ) - prefix_args = CMAKE_HDF5_LIBRARY_PREFIX if use_prefix else [] - - with ZipFile(hdf5_file) as z: - z.extractall(hdf5_extract_path) - old_dir = getcwd() - - with TemporaryDirectory() as new_dir: - chdir(new_dir) - cfg_cmd = CMAKE_CONFIGURE_CMD + [ - get_cmake_install_path(install_path), - get_cmake_config_path(version, hdf5_extract_path), - ] + generator_args + prefix_args - build_cmd = CMAKE_BUILD_CMD + [ - '.', - ] + CMAKE_INSTALL_ARG - print("Configuring HDF5 version {version}...".format(version=version), file=stderr) - print(' '.join(cfg_cmd), file=stderr) - p = run(cfg_cmd, stdout=PIPE, stderr=STDOUT, universal_newlines=True) - print(p.stdout) - print("Building HDF5 version {version}...".format(version=version), file=stderr) - print(' '.join(build_cmd), file=stderr) - p = run(build_cmd, stdout=PIPE, stderr=STDOUT, universal_newlines=True) - print(p.stdout) - print("Installed HDF5 version {version} to {install_path}".format( - version=version, install_path=install_path, - ), file=stderr) - chdir(old_dir) - if platform.startswith('win'): - for f in glob(pjoin(install_path, 'bin/*.dll')): - copy(f, pjoin(install_path, 'lib')) - - -def get_cmake_config_path(version, extract_point): - return pjoin(extract_point, REL_PATH_TO_CMAKE_CFG.format(version=version)) - - -def get_cmake_install_path(install_path): - if install_path is not None: - return CMAKE_INSTALL_PATH_ARG.format(install_path=install_path) - return ' ' - - -def hdf5_cached(install_path): - if exists(pjoin(install_path, "lib", "hdf5.dll")): - return True - return False - - -def main(): - install_path = environ.get("HDF5_DIR") - version = environ.get("HDF5_VERSION", DEFAULT_VERSION) - vs_version = environ.get("HDF5_VSVERSION") - use_prefix = True if environ.get("H5PY_USE_PREFIX") is not None else False - - if install_path is not None: - if not exists(install_path): - makedirs(install_path) - if vs_version is not None: - cmake_generator = VSVERSION_TO_GENERATOR[vs_version] - if vs_version == '9-64': - # Needed for - # http://help.appveyor.com/discussions/kb/38-visual-studio-2008-64-bit-builds - run("ci\\appveyor\\vs2008_patch\\setup_x64.bat") - - if not hdf5_cached(install_path): - with TemporaryFile() as f: - download_hdf5(version, f) - build_hdf5(version, f, install_path, cmake_generator, use_prefix) - else: - print("using cached hdf5", file=stderr) - if install_path is not None: - print("hdf5 files: ", file=stderr) - for dirpath, dirnames, filenames in walk(install_path): - for file in filenames: - print(" * " + pjoin(dirpath, file)) - - -if __name__ == '__main__': - main() diff --git a/debian/.git-dpm b/debian/.git-dpm index d530283..6d04e62 100644 --- a/debian/.git-dpm +++ b/debian/.git-dpm @@ -1,11 +1,11 @@ # see git-dpm(1) from git-dpm package -f5a5140861f88fc7086c81ea2d16812ac71a84fa -f5a5140861f88fc7086c81ea2d16812ac71a84fa -307ed5838b3a194864ed984f312c2f43315f18d4 -307ed5838b3a194864ed984f312c2f43315f18d4 -h5py_2.7.0~rc3.orig.tar.gz -9098edc50d89b086999c3e7a984a91266aa6a5ee -265017 +257d8b5703cc56574aefca3d2ba96e94a861c5a1 +257d8b5703cc56574aefca3d2ba96e94a861c5a1 +f24f0d876ba340f1ccd9f8a589ab66e86cc964fe +f24f0d876ba340f1ccd9f8a589ab66e86cc964fe +h5py_2.7.0.orig.tar.gz +1374dc279935d6b1360977f15900d8487738d12c +256471 debianTag="debian/%e%v" patchedTag="patched/%e%v" upstreamTag="upstream/%e%u" diff --git a/debian/changelog b/debian/changelog index e558e66..c138ef7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +h5py (2.7.0-1) unstable; urgency=medium + + * Run DEP-8 tests for all supported Python versions + * Add missing i-deps on python{,3}-numpy-dbg (Closes: #858727) + * Source future releases from PyPI + * New upstream release + * Rebase patch queue + - Drop 0002-Fix-arch-name-for-ppc64le.patch, applied upstream + - Drop 0003-Fix-version_tuple-to-make-it-PEP440-compliant.patch, applied + upstream + + -- Ghislain Antony Vaillant <ghisv...@gmail.com> Fri, 07 Apr 2017 14:08:48 +0100 + h5py (2.7.0~rc3-1) unstable; urgency=medium * New upstream release (Closes: #851162) diff --git a/debian/control b/debian/control index 0738b5f..078a3fd 100644 --- a/debian/control +++ b/debian/control @@ -69,7 +69,8 @@ Priority: extra Depends: ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}, - python-h5py (= ${binary:Version}) + python-h5py (= ${binary:Version}), + python-numpy-dbg Description: debug extension for h5py (Python 2) HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature @@ -125,7 +126,8 @@ Priority: extra Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}, - python3-h5py (= ${binary:Version}) + python3-h5py (= ${binary:Version}), + python3-numpy-dbg Description: debug extension for h5py (Python 3) HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature diff --git a/debian/copyright b/debian/copyright index 9075a36..e86d83d 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,7 +1,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: h5py Upstream-Contact: Andrew Collette <colle...@physics.ucla.edu> -Source: https://github.com/h5py/h5py +Source: https://pypi.python.org/pypi/h5py Files: * Copyright: 2008 Andrew Collette <colle...@physics.ucla.edu> diff --git a/debian/patches/0001-Disable-usage-of-rpath.patch b/debian/patches/0001-Disable-usage-of-rpath.patch index 5552044..4c01762 100644 --- a/debian/patches/0001-Disable-usage-of-rpath.patch +++ b/debian/patches/0001-Disable-usage-of-rpath.patch @@ -1,4 +1,4 @@ -From 0be645c2ca05bc8100b45d0ae40663d064430053 Mon Sep 17 00:00:00 2001 +From 257d8b5703cc56574aefca3d2ba96e94a861c5a1 Mon Sep 17 00:00:00 2001 From: Ghislain Antony Vaillant <ghisv...@gmail.com> Date: Tue, 2 Feb 2016 10:56:16 +0000 Subject: Disable usage of rpath. diff --git a/debian/patches/0002-Fix-arch-name-for-ppc64le.patch b/debian/patches/0002-Fix-arch-name-for-ppc64le.patch deleted file mode 100644 index dc7bdb2..0000000 --- a/debian/patches/0002-Fix-arch-name-for-ppc64le.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 9607212a1a3999edf25bccddb7ddf52e1c67ece3 Mon Sep 17 00:00:00 2001 -From: Martin Raspaud <martin.rasp...@smhi.se> -Date: Wed, 25 Jan 2017 09:30:58 +0100 -Subject: Fix arch name for ppc64le - -Signed-off-by: Martin Raspaud <martin.rasp...@smhi.se> ---- - h5py/h5t.pyx | 2 +- - h5py/tests/old/test_h5t.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/h5py/h5t.pyx b/h5py/h5t.pyx -index 8221302..20755e4 100644 ---- a/h5py/h5t.pyx -+++ b/h5py/h5t.pyx -@@ -952,7 +952,7 @@ cdef class TypeFloatID(TypeAtomicID): - cdef object py_dtype(self): - # Translation function for floating-point types - -- if MACHINE == 'ppc64el': -+ if MACHINE == 'ppc64le': - size = self.get_size() # int giving number of bytes - order = _order_map[self.get_order()] # string with '<' or '>' - -diff --git a/h5py/tests/old/test_h5t.py b/h5py/tests/old/test_h5t.py -index f2f3063..08b2503 100644 ---- a/h5py/tests/old/test_h5t.py -+++ b/h5py/tests/old/test_h5t.py -@@ -67,7 +67,7 @@ class TestTypeFloatID(TestCase): - - def test_custom_float_promotion(self): - """Custom floats are correctly promoted to standard floats on read.""" -- if h5t.MACHINE == 'ppc64el': -+ if h5t.MACHINE == 'ppc64le': - return - - test_filename = self.mktemp() diff --git a/debian/patches/0003-Fix-version_tuple-to-make-it-PEP440-compliant.patch b/debian/patches/0003-Fix-version_tuple-to-make-it-PEP440-compliant.patch deleted file mode 100644 index 4061a96..0000000 --- a/debian/patches/0003-Fix-version_tuple-to-make-it-PEP440-compliant.patch +++ /dev/null @@ -1,49 +0,0 @@ -From f5a5140861f88fc7086c81ea2d16812ac71a84fa Mon Sep 17 00:00:00 2001 -From: James Tocknell <aragi...@gmail.com> -Date: Wed, 25 Jan 2017 22:27:46 +1100 -Subject: Fix version_tuple to make it PEP440 compliant - ---- - h5py/version.py | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -diff --git a/h5py/version.py b/h5py/version.py -index f5c3287..066b921 100644 ---- a/h5py/version.py -+++ b/h5py/version.py -@@ -13,22 +13,30 @@ - - from __future__ import absolute_import - -+from collections import namedtuple - from . import h5 as _h5 --from distutils.version import StrictVersion as _sv - import sys - import numpy - --version = "2.7.0rc3" -+# All should be integers, except pre, as validating versions is more than is -+# needed for our use case -+_H5PY_VERSION_CLS = namedtuple("_H5PY_VERSION_CLS", "major minor bugfix pre post dev") - --_exp = _sv(version) -+version_tuple = _H5PY_VERSION_CLS(2, 7, 0, "rc3", None, None) - --version_tuple = _exp.version + ((''.join(str(x) for x in _exp.prerelease),) if _exp.prerelease is not None else ('',)) -+version = "{0.major:d}.{0.minor:d}.{0.bugfix:d}".format(version_tuple) -+if version_tuple.pre is not None: -+ version += version_tuple.pre -+if version_tuple.post is not None: -+ version += ".post{0.post:d}".format(version_tuple) -+if version_tuple.dev is not None: -+ version += ".dev{0.dev:d}".format(version_tuple) - - hdf5_version_tuple = _h5.get_libversion() - hdf5_version = "%d.%d.%d" % hdf5_version_tuple - - api_version_tuple = (1,8) --api_version = "1.8" -+api_version = "%d.%d" % api_version_tuple - - info = """\ - Summary of the h5py configuration diff --git a/debian/patches/series b/debian/patches/series index 73882c2..1e2b1cb 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1 @@ 0001-Disable-usage-of-rpath.patch -0002-Fix-arch-name-for-ppc64le.patch -0003-Fix-version_tuple-to-make-it-PEP440-compliant.patch diff --git a/debian/tests/control b/debian/tests/control index 5cd323f..cbc6bd9 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,9 +1,27 @@ -Test-Command: cd $AUTOPKGTEST_TMP - ; python -c "import h5py; h5py.run_tests()" -Depends: python-h5py +Test-Command: set -e + ; for py in $(pyversions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; $py -c "import h5py; h5py.run_tests()" + ; echo "Testing with $py-dbg:" + ; $py-dbg -c "import h5py; h5py.run_tests()" + ; done +Depends: python-all, + python-all-dbg, + python-h5py, + python-h5py-dbg Restrictions: allow-stderr -Test-Command: cd $AUTOPKGTEST_TMP - ; python3 -c "import h5py; h5py.run_tests()" -Depends: python3-h5py +Test-Command: set -e + ; for py in $(py3versions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; $py -c "import h5py; h5py.run_tests()" + ; echo "Testing with $py-dbg:" + ; $py-dbg -c "import h5py; h5py.run_tests()" + ; done +Depends: python3-all, + python3-all-dbg, + python3-h5py, + python3-h5py-dbg Restrictions: allow-stderr diff --git a/debian/watch b/debian/watch index b069e8a..93758ab 100644 --- a/debian/watch +++ b/debian/watch @@ -1,4 +1,3 @@ -version=3 -opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\ -filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/h5py-$1\.tar\.gz/,\ - https://github.com/h5py/h5py/tags .*/v?(\d\S*)\.tar\.gz +version=4 +opts=uversionmangle=s/(rc|a|b|c)/~$1/ \ +https://pypi.debian.net/h5py/h5py@ANY_VERSION@@ARCHIVE_EXT@ diff --git a/docs/conf.py b/docs/conf.py index a4fc316..837ec95 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -55,7 +55,7 @@ copyright = u'2014, Andrew Collette and contributors' # The short X.Y version. version = '2.7' # The full version, including alpha/beta/rc tags. -release = '2.7.0rc3' +release = '2.7.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/h5py.egg-info/PKG-INFO b/h5py.egg-info/PKG-INFO new file mode 100644 index 0000000..a9e93a2 --- /dev/null +++ b/h5py.egg-info/PKG-INFO @@ -0,0 +1,45 @@ +Metadata-Version: 1.1 +Name: h5py +Version: 2.7.0 +Summary: Read and write HDF5 files from Python +Home-page: http://www.h5py.org +Author: Andrew Collette +Author-email: andrew.colle...@gmail.com +License: UNKNOWN +Download-URL: https://pypi.python.org/pypi/h5py +Description: + The h5py package provides both a high- and low-level interface to the HDF5 + library from Python. The low-level interface is intended to be a complete + wrapping of the HDF5 API, while the high-level component supports access to + HDF5 files, datasets and groups using established Python and NumPy concepts. + + A strong emphasis on automatic conversion between Python (Numpy) datatypes and + data structures and their HDF5 equivalents vastly simplifies the process of + reading and writing data from Python. + + Supports HDF5 versions 1.8.4 and higher. On Windows, HDF5 is included with + the installer. + +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: Science/Research +Classifier: License :: OSI Approved :: BSD License +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Topic :: Scientific/Engineering +Classifier: Topic :: Database +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Operating System :: Unix +Classifier: Operating System :: POSIX :: Linux +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Operating System :: Microsoft :: Windows diff --git a/h5py.egg-info/SOURCES.txt b/h5py.egg-info/SOURCES.txt new file mode 100644 index 0000000..769f9d3 --- /dev/null +++ b/h5py.egg-info/SOURCES.txt @@ -0,0 +1,176 @@ +ANN.rst +MANIFEST.in +README.rst +api_gen.py +setup.py +setup_build.py +setup_configure.py +docs/Makefile +docs/build.rst +docs/conf.py +docs/config.rst +docs/contributing.rst +docs/faq.rst +docs/index.rst +docs/licenses.rst +docs/mpi.rst +docs/quick.rst +docs/refs.rst +docs/special.rst +docs/strings.rst +docs/swmr.rst +docs/high/attr.rst +docs/high/dataset.rst +docs/high/dims.rst +docs/high/file.rst +docs/high/group.rst +docs/whatsnew/2.0.rst +docs/whatsnew/2.1.rst +docs/whatsnew/2.2.rst +docs/whatsnew/2.3.rst +docs/whatsnew/2.4.rst +docs/whatsnew/2.5.rst +docs/whatsnew/2.6.rst +docs/whatsnew/2.7.rst +docs/whatsnew/index.rst +docs_api/Makefile +docs_api/automod.py +docs_api/conf.py +docs_api/h5.rst +docs_api/h5a.rst +docs_api/h5d.rst +docs_api/h5f.rst +docs_api/h5fd.rst +docs_api/h5g.rst +docs_api/h5i.rst +docs_api/h5l.rst +docs_api/h5o.rst +docs_api/h5p.rst +docs_api/h5r.rst +docs_api/h5s.rst +docs_api/h5t.rst +docs_api/h5z.rst +docs_api/index.rst +docs_api/objects.rst +examples/collective_io.py +examples/multiprocessing_example.py +examples/swmr_inotify_example.py +examples/swmr_multiprocess.py +examples/threading_example.py +h5py/__init__.py +h5py/_conv.pxd +h5py/_conv.pyx +h5py/_errors.pxd +h5py/_errors.pyx +h5py/_locks.pxi +h5py/_objects.pxd +h5py/_objects.pyx +h5py/_proxy.pxd +h5py/_proxy.pyx +h5py/api_compat.h +h5py/api_functions.txt +h5py/api_types_ext.pxd +h5py/api_types_hdf5.pxd +h5py/h5.pxd +h5py/h5.pyx +h5py/h5a.pxd +h5py/h5a.pyx +h5py/h5ac.pxd +h5py/h5ac.pyx +h5py/h5d.pxd +h5py/h5d.pyx +h5py/h5ds.pxd +h5py/h5ds.pyx +h5py/h5f.pxd +h5py/h5f.pyx +h5py/h5fd.pxd +h5py/h5fd.pyx +h5py/h5g.pxd +h5py/h5g.pyx +h5py/h5i.pxd +h5py/h5i.pyx +h5py/h5l.pxd +h5py/h5l.pyx +h5py/h5o.pxd +h5py/h5o.pyx +h5py/h5p.pxd +h5py/h5p.pyx +h5py/h5r.pxd +h5py/h5r.pyx +h5py/h5s.pxd +h5py/h5s.pyx +h5py/h5t.pxd +h5py/h5t.pyx +h5py/h5z.pxd +h5py/h5z.pyx +h5py/highlevel.py +h5py/ipy_completer.py +h5py/numpy.pxd +h5py/utils.pxd +h5py/utils.pyx +h5py/version.py +h5py.egg-info/PKG-INFO +h5py.egg-info/SOURCES.txt +h5py.egg-info/dependency_links.txt +h5py.egg-info/requires.txt +h5py.egg-info/top_level.txt +h5py/_hl/__init__.py +h5py/_hl/attrs.py +h5py/_hl/base.py +h5py/_hl/compat.py +h5py/_hl/dataset.py +h5py/_hl/datatype.py +h5py/_hl/dims.py +h5py/_hl/files.py +h5py/_hl/filters.py +h5py/_hl/group.py +h5py/_hl/selections.py +h5py/_hl/selections2.py +h5py/tests/__init__.py +h5py/tests/common.py +h5py/tests/hl/__init__.py +h5py/tests/hl/test_attribute_create.py +h5py/tests/hl/test_dataset_getitem.py +h5py/tests/hl/test_dataset_swmr.py +h5py/tests/hl/test_datatype.py +h5py/tests/hl/test_dims_dimensionproxy.py +h5py/tests/hl/test_file.py +h5py/tests/hl/test_threads.py +h5py/tests/old/__init__.py +h5py/tests/old/common.py +h5py/tests/old/test_attrs.py +h5py/tests/old/test_attrs_data.py +h5py/tests/old/test_base.py +h5py/tests/old/test_dataset.py +h5py/tests/old/test_datatype.py +h5py/tests/old/test_dimension_scales.py +h5py/tests/old/test_file.py +h5py/tests/old/test_file_image.py +h5py/tests/old/test_group.py +h5py/tests/old/test_h5.py +h5py/tests/old/test_h5d_direct_chunk_write.py +h5py/tests/old/test_h5f.py +h5py/tests/old/test_h5p.py +h5py/tests/old/test_h5t.py +h5py/tests/old/test_objects.py +h5py/tests/old/test_selections.py +h5py/tests/old/test_slicing.py +licenses/hdf5.txt +licenses/license.txt +licenses/pytables.txt +licenses/python.txt +licenses/stdint.txt +lzf/LICENSE.txt +lzf/README.txt +lzf/example.c +lzf/lzf_filter.c +lzf/lzf_filter.h +lzf/lzf/lzf.h +lzf/lzf/lzfP.h +lzf/lzf/lzf_c.c +lzf/lzf/lzf_d.c +windows/README.txt +windows/cacheinit.cmake +windows/pavement.py +windows/stdint.h +windows/unistd.h \ No newline at end of file diff --git a/h5py.egg-info/dependency_links.txt b/h5py.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/h5py.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/h5py.egg-info/requires.txt b/h5py.egg-info/requires.txt new file mode 100644 index 0000000..8962976 --- /dev/null +++ b/h5py.egg-info/requires.txt @@ -0,0 +1,2 @@ +numpy>=1.7 +six diff --git a/h5py.egg-info/top_level.txt b/h5py.egg-info/top_level.txt new file mode 100644 index 0000000..c5a4eac --- /dev/null +++ b/h5py.egg-info/top_level.txt @@ -0,0 +1 @@ +h5py diff --git a/h5py/version.py b/h5py/version.py index 066b921..f5567a1 100644 --- a/h5py/version.py +++ b/h5py/version.py @@ -22,7 +22,7 @@ import numpy # needed for our use case _H5PY_VERSION_CLS = namedtuple("_H5PY_VERSION_CLS", "major minor bugfix pre post dev") -version_tuple = _H5PY_VERSION_CLS(2, 7, 0, "rc3", None, None) +version_tuple = _H5PY_VERSION_CLS(2, 7, 0, None, None, None) version = "{0.major:d}.{0.minor:d}.{0.bugfix:d}".format(version_tuple) if version_tuple.pre is not None: diff --git a/other/garbage.py b/other/garbage.py deleted file mode 100644 index a607da6..0000000 --- a/other/garbage.py +++ /dev/null @@ -1,29 +0,0 @@ -# This file is part of h5py, a Python interface to the HDF5 library. -# -# http://www.h5py.org -# -# Copyright 2008-2013 Andrew Collette and contributors -# -# License: Standard 3-clause BSD; see "license.txt" for full license terms -# and contributor agreement. - -""" - Demonstrates garbage messages printed to stderr for containership - testing, when performed in new threads. -""" - -from threading import Thread - -import h5py - -def demonstrate(): - with h5py.File('foo', 'w', driver='core') as f: - print('x' in f) - -if __name__ == '__main__': - print("Main thread") - demonstrate() - thread = Thread(target=demonstrate) - print("New thread") - thread.start() - thread.join() diff --git a/other/iterate_deadlock.py b/other/iterate_deadlock.py deleted file mode 100644 index 04437cb..0000000 --- a/other/iterate_deadlock.py +++ /dev/null @@ -1,36 +0,0 @@ -# This file is part of h5py, a Python interface to the HDF5 library. -# -# http://www.h5py.org -# -# Copyright 2008-2013 Andrew Collette and contributors -# -# License: Standard 3-clause BSD; see "license.txt" for full license terms -# and contributor agreement. - -""" - Demonstrates deadlock related to attribute iteration. -""" - -from threading import Thread -import sys - -import h5py - -FNAME = "deadlock.hdf5" - -def make_file(): - with h5py.File(FNAME,'w') as f: - for idx in range(1000): - f.attrs['%d'%idx] = 1 - -def list_attributes(): - with h5py.File(FNAME, 'r') as f: - names = list(f.attrs) - -if __name__ == '__main__': - - make_file() - thread = Thread(target=list_attributes) - thread.start() - list_attributes() - thread.join() diff --git a/other/vlen_leak.py b/other/vlen_leak.py deleted file mode 100644 index 583b668..0000000 --- a/other/vlen_leak.py +++ /dev/null @@ -1,90 +0,0 @@ -# This file is part of h5py, a Python interface to the HDF5 library. -# -# http://www.h5py.org -# -# Copyright 2008-2013 Andrew Collette and contributors -# -# License: Standard 3-clause BSD; see "license.txt" for full license terms -# and contributor agreement. - -""" - Demonstrates memory leak involving variable-length strings. -""" - -import sys -import resource -import numpy as np - -import h5py - -FNAME = 'test.hdf5' - -if 'linux' in sys.platform: - MAXRSS_BYTES = 1024. # in KiB on linux -else: - MAXRSS_BYTES = 1. - -if sys.version_info[0] == 3: - xrange = range - unicode = str - -memory = 0 -def print_memory(): - global memory - - rubytes = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss*MAXRSS_BYTES - print ("%.2f MB (%.2f since last call)" % (rubytes/(1024.**2), (rubytes-memory)/(1024.**2))) - memory = rubytes - - -def make_data(kind): - global data - global dt - - if kind is bytes: - s = b"xx" - else: - s = b"xx".decode('utf8') - - dt = h5py.special_dtype(vlen=kind) - data = np.array([s*100 for idx in xrange(1000)]) - - -def ds_leak(): - print("Testing vlens for dataset r/w") - print("-----------------------------") - with h5py.File(FNAME,'w') as f: - ds = f.create_dataset('dset', (1000,), dtype=dt) - for idx in xrange(500): - #print idx - if idx%100 == 0: - print_memory() - ds[...] = data - ds[...] - - -def attr_leak(): - print("Testing vlens for attribute r/w") - print("-------------------------------") - with h5py.File(FNAME,'w') as f: - for idx in xrange(500): - if idx%100 == 0: - print_memory() - f.attrs.create('foo', dtype=dt, data=data) - f.attrs['foo'] - - -if __name__ == '__main__': - print("h5py ", h5py.version.version) - print("HDF5 ", h5py.version.hdf5_version) - print("Bytes test") - print("==========") - make_data(bytes) - attr_leak() - ds_leak() - print("Unicode test") - print("============") - make_data(unicode) - attr_leak() - ds_leak() - diff --git a/pavement.py b/pavement.py deleted file mode 100644 index ee98b15..0000000 --- a/pavement.py +++ /dev/null @@ -1,35 +0,0 @@ -from paver.easy import * -import os - -DLLS = ['h5py_hdf5.dll', 'h5py_hdf5_hl.dll', 'szip.dll', 'zlib.dll'] - -@task -def release_unix(): - sh('python setup.py clean') - sh('python setup.py configure --reset --hdf5-version=1.8.4') - sh('python setup.py build -f') - sh('python setup.py test') - sh('python setup.py sdist') - print("Unix release done. Distribution tar file is in dist/") - -@task -def release_windows(): - for pyver in (26, 27, 32, 33, 34): - exe = r'C:\Python%d\Python.exe' % pyver - hdf5 = r'c:\hdf5\Python%d' % pyver - sh('%s setup.py clean' % exe) - sh('%s setup.py configure --reset --hdf5-version=1.8.13 --hdf5=%s' % (exe, hdf5)) - for dll in DLLS: - sh('copy c:\\hdf5\\Python%d\\bin\\%s h5py /Y' % (pyver, dll)) - sh('%s setup.py build -f' % exe) - sh('%s setup.py test' % exe) - sh('%s setup.py bdist_wininst' % exe) - print ("Windows exe release done. Distribution files are in dist/") - for dll in DLLS: - os.unlink('h5py\\%s' % dll) - -@task -@consume_args -def git_summary(options): - sh('git log --no-merges --pretty=oneline --abbrev-commit %s..HEAD'%options.args[0]) - sh('git shortlog -s -n %s..HEAD'%options.args[0]) diff --git a/pylintrc b/pylintrc deleted file mode 100644 index 045df2f..0000000 --- a/pylintrc +++ /dev/null @@ -1,377 +0,0 @@ -[MASTER] - -# Specify a configuration file. -#rcfile= - -# Python code to execute, usually for sys.path manipulation such as -# pygtk.require(). -#init-hook= - -# Profiled execution. -profile=no - -# Add files or directories to the blacklist. They should be base names, not -# paths. -ignore=tests - -# Pickle collected data for later comparisons. -persistent=yes - -# List of plugins (as comma separated values of python modules names) to load, -# usually to register additional checkers. -load-plugins= - -# Use multiple processes to speed up Pylint. -jobs=1 - -# Allow loading of arbitrary C extensions. Extensions are imported into the -# active Python interpreter and may run arbitrary code. -unsafe-load-any-extension=no - -# A comma-separated list of package or module names from where C extensions may -# be loaded. Extensions are loading into the active Python interpreter and may -# run arbitrary code -extension-pkg-whitelist=numpy,h5py - - -[MESSAGES CONTROL] - -# Only show warnings with the listed confidence levels. Leave empty to show -# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED -confidence= - -# Disable the message, report, category or checker with the given id(s). You -# can either give multiple identifiers separated by comma (,) or put this -# option multiple times (only on the command line, not in the configuration -# file where it should appear only once).You can also use "--disable=all" to -# disable everything first and then reenable specific checks. For example, if -# you want to run only the similarities checker, you can use "--disable=all -# --enable=similarities". If you want to run only the classes checker, but have -# no Warning level messages displayed, use"--disable=all --enable=classes -# --disable=W" -# -# | Checkers | Broken import checks | Other random garbage -disable=format,design,similarities,cyclic-import,import-error,broad-except,no-self-use,no-name-in-module,invalid-name,abstract-method,star-args,import-self,no-init,locally-disabled,unidiomatic-typecheck - -# Enable the message, report, category or checker with the given id(s). You can -# either give multiple identifier separated by comma (,) or put this option -# multiple time. See also the "--disable" option for examples. -# -# | Some format checks which are OK -enable=bad-indentation,mixed-indentation,unnecessary-semicolon,superfluous-parens - -[REPORTS] - -# Set the output format. Available formats are text, parseable, colorized, msvs -# (visual studio) and html. You can also give a reporter class, eg -# mypackage.mymodule.MyReporterClass. -output-format=text - -# Put messages in a separate file for each module / package specified on the -# command line instead of printing them on stdout. Reports (if any) will be -# written in a file name "pylint_global.[txt|html]". -files-output=no - -# Tells whether to display a full report or only the messages -reports=no - -# Python expression which should return a note less than 10 (10 is the highest -# note). You have access to the variables errors warning, statement which -# respectively contain the number of errors / warnings messages and the total -# number of statements analyzed. This is used by the global evaluation report -# (RP0004). -evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) - -# Add a comment according to your evaluation note. This is used by the global -# evaluation report (RP0004). -comment=no - -# Template used to display messages. This is a python new-style format string -# used to format the message information. See doc for all details -#msg-template= - - -[BASIC] - -# Required attributes for module, separated by a comma -required-attributes= - -# List of builtins function names that should not be used, separated by a comma -bad-functions=map,filter - -# Good variable names which should always be accepted, separated by a comma -good-names=i,j,k,ex,Run,_ - -# Bad variable names which should always be refused, separated by a comma -bad-names=foo,bar,baz,toto,tutu,tata - -# Colon-delimited sets of names that determine each other's naming style when -# the name regexes allow several styles. -name-group= - -# Include a hint for the correct naming format with invalid-name -include-naming-hint=no - -# Regular expression matching correct method names -method-rgx=[a-z_][a-z0-9_]{2,30}$ - -# Naming hint for method names -method-name-hint=[a-z_][a-z0-9_]{2,30}$ - -# Regular expression matching correct module names -module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ - -# Naming hint for module names -module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ - -# Regular expression matching correct inline iteration names -inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ - -# Naming hint for inline iteration names -inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$ - -# Regular expression matching correct constant names -const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ - -# Naming hint for constant names -const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$ - -# Regular expression matching correct variable names -variable-rgx=[a-z_][a-z0-9_]{2,30}$ - -# Naming hint for variable names -variable-name-hint=[a-z_][a-z0-9_]{2,30}$ - -# Regular expression matching correct argument names -argument-rgx=[a-z_][a-z0-9_]{2,30}$ - -# Naming hint for argument names -argument-name-hint=[a-z_][a-z0-9_]{2,30}$ - -# Regular expression matching correct class attribute names -class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ - -# Naming hint for class attribute names -class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ - -# Regular expression matching correct class names -class-rgx=[A-Z_][a-zA-Z0-9]+$ - -# Naming hint for class names -class-name-hint=[A-Z_][a-zA-Z0-9]+$ - -# Regular expression matching correct function names -function-rgx=[a-z_][a-z0-9_]{2,30}$ - -# Naming hint for function names -function-name-hint=[a-z_][a-z0-9_]{2,30}$ - -# Regular expression matching correct attribute names -attr-rgx=[a-z_][a-z0-9_]{2,30}$ - -# Naming hint for attribute names -attr-name-hint=[a-z_][a-z0-9_]{2,30}$ - -# Regular expression which should only match function or class names that do -# not require a docstring. -no-docstring-rgx=__.*__ - -# Minimum line length for functions/classes that require docstrings, shorter -# ones are exempt. -docstring-min-length=-1 - - -[FORMAT] - -# Maximum number of characters on a single line. -max-line-length=100 - -# Regexp for a line that is allowed to be longer than the limit. -ignore-long-lines=^\s*(# )?<?https?://\S+>?$ - -# Allow the body of an if to be on the same line as the test if there is no -# else. -single-line-if-stmt=no - -# List of optional constructs for which whitespace checking is disabled -no-space-check=trailing-comma,dict-separator - -# Maximum number of lines in a module -max-module-lines=1000 - -# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 -# tab). -indent-string=' ' - -# Number of spaces of indent required inside a hanging or continued line. -indent-after-paren=4 - -# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. -expected-line-ending-format= - - -[LOGGING] - -# Logging modules to check that the string format arguments are in logging -# function parameter format -logging-modules=logging - - -[MISCELLANEOUS] - -# List of note tags to take in consideration, separated by a comma. -notes=FIXME,XXX,TODO - - -[SIMILARITIES] - -# Minimum lines number of a similarity. -min-similarity-lines=4 - -# Ignore comments when computing similarities. -ignore-comments=yes - -# Ignore docstrings when computing similarities. -ignore-docstrings=yes - -# Ignore imports when computing similarities. -ignore-imports=no - - -[SPELLING] - -# Spelling dictionary name. Available dictionaries: none. To make it working -# install python-enchant package. -spelling-dict= - -# List of comma separated words that should not be checked. -spelling-ignore-words= - -# A path to a file that contains private dictionary; one word per line. -spelling-private-dict-file= - -# Tells whether to store unknown words to indicated private dictionary in -# --spelling-private-dict-file option instead of raising a message. -spelling-store-unknown-words=no - - -[TYPECHECK] - -# Tells whether missing members accessed in mixin class should be ignored. A -# mixin class is detected if its name ends with "mixin" (case insensitive). -ignore-mixin-members=yes - -# List of module names for which member attributes should not be checked -# (useful for modules/projects where namespaces are manipulated during runtime -# and thus existing member attributes cannot be deduced by static analysis -ignored-modules= - -# List of classes names for which member attributes should not be checked -# (useful for classes with attributes dynamically set). -ignored-classes=SQLObject - -# When zope mode is activated, add a predefined set of Zope acquired attributes -# to generated-members. -zope=no - -# List of members which are set dynamically and missed by pylint inference -# system, and so shouldn't trigger E0201 when accessed. Python regular -# expressions are accepted. -generated-members=REQUEST,acl_users,aq_parent - - -[VARIABLES] - -# Tells whether we should check for unused import in __init__ files. -init-import=no - -# A regular expression matching the name of dummy variables (i.e. expectedly -# not used). -dummy-variables-rgx=_$|dummy - -# List of additional names supposed to be defined in builtins. Remember that -# you should avoid to define new builtins when possible. -additional-builtins= - -# List of strings which can identify a callback function by name. A callback -# name must start or end with one of those strings. -callbacks=cb_,_cb - - -[CLASSES] - -# List of interface methods to ignore, separated by a comma. This is used for -# instance to not check methods defines in Zope's Interface base class. -ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by - -# List of method names used to declare (i.e. assign) instance attributes. -defining-attr-methods=__init__,__new__,setUp - -# List of valid names for the first argument in a class method. -valid-classmethod-first-arg=cls - -# List of valid names for the first argument in a metaclass class method. -valid-metaclass-classmethod-first-arg=mcs - -# List of member names, which should be excluded from the protected access -# warning. -exclude-protected=_asdict,_fields,_replace,_source,_make - - -[DESIGN] - -# Maximum number of arguments for function / method -max-args=5 - -# Argument names that match this expression will be ignored. Default to name -# with leading underscore -ignored-argument-names=_.* - -# Maximum number of locals for function / method body -max-locals=15 - -# Maximum number of return / yield for function / method body -max-returns=6 - -# Maximum number of branch for function / method body -max-branches=12 - -# Maximum number of statements in function / method body -max-statements=50 - -# Maximum number of parents for a class (see R0901). -max-parents=7 - -# Maximum number of attributes for a class (see R0902). -max-attributes=7 - -# Minimum number of public methods for a class (see R0903). -min-public-methods=2 - -# Maximum number of public methods for a class (see R0904). -max-public-methods=20 - - -[IMPORTS] - -# Deprecated modules which should not be used, separated by a comma -deprecated-modules=stringprep,optparse - -# Create a graph of every (i.e. internal and external) dependencies in the -# given file (report RP0402 must not be disabled) -import-graph= - -# Create a graph of external dependencies in the given file (report RP0402 must -# not be disabled) -ext-import-graph= - -# Create a graph of internal dependencies in the given file (report RP0402 must -# not be disabled) -int-import-graph= - - -[EXCEPTIONS] - -# Exceptions that will emit a warning when being caught. Defaults to -# "Exception" -overgeneral-exceptions=Exception diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..861a9f5 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,5 @@ +[egg_info] +tag_build = +tag_date = 0 +tag_svn_revision = 0 + diff --git a/setup.py b/setup.py index 6b88837..b4dc5b7 100755 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ import os.path as op import setup_build, setup_configure -VERSION = '2.7.0rc3' +VERSION = '2.7.0' NUMPY_DEP = 'numpy>=1.7' diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 1e87573..0000000 --- a/tox.ini +++ /dev/null @@ -1,62 +0,0 @@ -[tox] -envlist = {py26,py27,py33,py34,py35,pypy}-{test}-{deps,mindeps} - -[testenv] -deps = - deps: numpy>=1.7 - deps: cython>=0.19 - mindeps: numpy==1.7 - mindeps: cython==0.19 -commands = - test: python {toxinidir}/ci/fix_paths.py {envsitepackagesdir} - test: python -c "from sys import exit; import h5py; exit(0) if h5py.run_tests().wasSuccessful() else exit(1)" -changedir = - test: {toxworkdir} -passenv = - HDF5_DIR - TOXPYTHON -basepython = - pypy: {env:TOXPYTHON:pypy} - py26: {env:TOXPYTHON:python2.6} - py27: {env:TOXPYTHON:python2.7} - py33: {env:TOXPYTHON:python3.3} - py34: {env:TOXPYTHON:python3.4} - py35: {env:TOXPYTHON:python3.5} - -[testenv:py26-test-deps] -deps = - unittest2 - numpy>=1.7,<1.11 - cython>=0.19 - -[testenv:py33-test-deps] -deps = - numpy>=1.7,<1.12 - cython>=0.19 - -[testenv:py26-test-mindeps] -deps = - unittest2 - numpy==1.7 - cython==0.19 - -[testenv:py33-test-mindeps] -deps = - numpy==1.7 - cython==0.19 - -[testenv:py34-test-mindeps] -deps = - numpy==1.9 - cython==0.19 - -[testenv:py35-test-mindeps] -deps = - numpy==1.10.0.post2 - cython==0.19 - -[testenv:py34-test-mpi4py] -deps = - numpy==1.9 - cython==0.19 - mpi4py>=1.3.1