# JH 2020 easyblock = 'PythonPackage' name = 'h5py' version = '2.10.0' homepage = 'http://www.h5py.org/' description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data.""" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'usempi': True} source_urls = [PYPI_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d'] builddependencies = [('pkgconfig', '1.5.1', '-Python-3.8.2')] dependencies = [ ('Python', '3.8.2'), ('SciPy-bundle', '2020.03', '-Python-3.8.2'), ('HDF5', '1.10.6', '', ('iimpi', '2020a')), ] use_pip = False download_dep_fail = True # required because we're building Python packages using Intel compilers on top of Python built with GCC check_ldshared = True # to really use mpi enabled hdf5 we now seem to need a configure step, which is the reason we can't use pip prebuildopts = ' python setup.py configure --mpi --hdf5=$EBROOTHDF5 && ' # skip regular 'import h5py', and run it via mpirun (since 'import h5py' results in an MPI_Init call) options = {'modulename': False} sanity_check_commands = ["%(mpi_cmd_prefix)s python -c 'import %(name)s'"] moduleclass = 'data'