hdmf.common package

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_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:the namespaces loaded from the given file
Return type:tuple
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.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, mode, manager=None, comm=None, file=None, driver=None)

A convenience method for getting an HDF5IO object

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) – a pre-existing h5py.File object
  • driver (str) – driver for h5py to use when opening HDF5 file