|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
This is the h5py package, a Python interface to the HDF5 |
|
scientific data format. |
|
""" |
|
|
|
from warnings import warn as _warn |
|
import atexit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try: |
|
from . import _errors |
|
except ImportError: |
|
import os.path as _op |
|
if _op.exists(_op.join(_op.dirname(__file__), '..', 'setup.py')): |
|
raise ImportError("You cannot import h5py from inside the install directory.\nChange to another directory first.") |
|
else: |
|
raise |
|
|
|
from . import version |
|
|
|
if version.hdf5_version_tuple != version.hdf5_built_version_tuple: |
|
_warn(("h5py is running against HDF5 {0} when it was built against {1}, " |
|
"this may cause problems").format( |
|
'{0}.{1}.{2}'.format(*version.hdf5_version_tuple), |
|
'{0}.{1}.{2}'.format(*version.hdf5_built_version_tuple) |
|
)) |
|
|
|
|
|
_errors.silence_errors() |
|
|
|
from ._conv import register_converters as _register_converters, \ |
|
unregister_converters as _unregister_converters |
|
_register_converters() |
|
atexit.register(_unregister_converters) |
|
|
|
from .h5z import _register_lzf |
|
_register_lzf() |
|
|
|
|
|
|
|
|
|
from . import h5a, h5d, h5ds, h5f, h5fd, h5g, h5r, h5s, h5t, h5p, h5z, h5pl |
|
|
|
from ._hl import filters |
|
from ._hl.base import is_hdf5, HLObject, Empty |
|
from ._hl.files import ( |
|
File, |
|
register_driver, |
|
unregister_driver, |
|
registered_drivers, |
|
) |
|
from ._hl.group import Group, SoftLink, ExternalLink, HardLink |
|
from ._hl.dataset import Dataset |
|
from ._hl.datatype import Datatype |
|
from ._hl.attrs import AttributeManager |
|
|
|
from ._selector import MultiBlockSlice |
|
from .h5 import get_config |
|
from .h5r import Reference, RegionReference |
|
from .h5t import (special_dtype, check_dtype, |
|
vlen_dtype, string_dtype, enum_dtype, ref_dtype, regionref_dtype, |
|
opaque_dtype, |
|
check_vlen_dtype, check_string_dtype, check_enum_dtype, check_ref_dtype, |
|
check_opaque_dtype, |
|
) |
|
from .h5s import UNLIMITED |
|
|
|
from .version import version as __version__ |
|
|
|
|
|
if version.hdf5_version_tuple[:3] >= get_config().vds_min_hdf5_version: |
|
from ._hl.vds import VirtualSource, VirtualLayout |
|
|
|
|
|
def run_tests(args=''): |
|
"""Run tests with pytest and returns the exit status as an int. |
|
""" |
|
|
|
|
|
from .tests import run_tests |
|
return run_tests(args) |
|
|
|
|
|
def enable_ipython_completer(): |
|
""" Call this from an interactive IPython session to enable tab-completion |
|
of group and attribute names. |
|
""" |
|
import sys |
|
if 'IPython' in sys.modules: |
|
ip_running = False |
|
try: |
|
from IPython.core.interactiveshell import InteractiveShell |
|
ip_running = InteractiveShell.initialized() |
|
except ImportError: |
|
|
|
from IPython import ipapi as _ipapi |
|
ip_running = _ipapi.get() is not None |
|
except Exception: |
|
pass |
|
if ip_running: |
|
from . import ipy_completer |
|
return ipy_completer.load_ipython_extension() |
|
|
|
raise RuntimeError('Completer must be enabled in active ipython session') |
|
|