hdmf.common package

Subpackages

Submodules

Module contents

This package will contain functions, classes, and objects for reading and writing data in according to the HDMF-common specification

hdmf.common.register_class(data_type, namespace='hdmf-common', container_cls=None)
Register an Container class to use for reading and writing a data_type from a specification

If container_cls is not specified, returns a decorator for registering an Container subclass as the class for data_type in namespace.

Parameters:
  • data_type (str) – the data_type to get the spec for

  • namespace (str) – the name of the namespace

  • container_cls (type) – the class to map to the specified data_type

hdmf.common.register_map(container_cls, mapper_cls=None)
Register an ObjectMapper to use for a Container class type

If mapper_cls is not specified, returns a decorator for registering an ObjectMapper class as the mapper for container_cls. If mapper_cls specified, register the class as the mapper for container_cls

Parameters:
  • container_cls (type) – the Container class for which the given ObjectMapper class gets used for

  • mapper_cls (type) – the ObjectMapper class to use to map

hdmf.common.load_namespaces(namespace_path)

Load namespaces from file

Parameters:

namespace_path (str) – the path to the YAML with the namespace definition

Returns:

the namespaces loaded from the given file

Return type:

tuple

hdmf.common.available_namespaces()
hdmf.common.get_class(data_type, namespace)

Get the class object of the Container subclass corresponding to a given neurdata_type.

Parameters:
  • data_type (str) – the data_type to get the Container class for

  • namespace (str) – the namespace the data_type is defined in

hdmf.common.get_type_map(extensions=None)
Get a BuildManager to use for I/O using the given extensions. If no extensions are provided,

return a BuildManager that uses the core namespace

Parameters:

extensions (str or TypeMap or list) – a path to a namespace, a TypeMap, or a list consisting paths to namespaces and TypeMaps

Returns:

the namespaces loaded from the given file

Return type:

tuple

hdmf.common.get_manager(extensions=None)
Get a BuildManager to use for I/O using the given extensions. If no extensions are provided,

return a BuildManager that uses the core namespace

Parameters:

extensions (str or TypeMap or list) – a path to a namespace, a TypeMap, or a list consisting paths to namespaces and TypeMaps

Returns:

a build manager with namespaces loaded from the given file

Return type:

BuildManager

hdmf.common.validate(io, namespace='hdmf-common', experimental=False)

Validate an file against a namespace

Parameters:
  • io (HDMFIO) – the HDMFIO object to read from

  • namespace (str) – the namespace to validate against

  • experimental (bool) – data type is an experimental data type

Returns:

errors in the file

Return type:

list

hdmf.common.get_hdf5io(path=None, mode='r', manager=None, comm=None, file=None, driver=None, herd_path=None)

A convenience method for getting an HDF5IO object using an HDMF-common build manager if none is provided.

Parameters:
  • path (str or Path) – the path to the HDF5 file

  • mode (str) – the mode to open the HDF5 file with, one of (“w”, “r”, “r+”, “a”, “w-”, “x”). See h5py.File for more details.

  • manager (TypeMap or BuildManager) – the BuildManager or a TypeMap to construct a BuildManager to use for I/O

  • comm (Intracomm) – the MPI communicator to use for parallel I/O

  • file (File or S3File or RemFile) – a pre-existing h5py.File, S3File, or RemFile object

  • driver (str) – driver for h5py to use when opening HDF5 file

  • herd_path (str) – The path to read/write the HERD file