apptools.io.h5.file module¶
-
class
apptools.io.h5.file.
H5Attrs
(node_attrs)[source]¶ Bases:
collections.abc.MutableMapping
An attributes dictionary for an h5 node.
This intercepts __setitem__ so that python sequences can be converted to numpy arrays. This helps preserve the readability of our HDF5 files by other (non-python) programs.
-
class
apptools.io.h5.file.
H5File
(filename, mode='r+', delete_existing=False, auto_groups=True, auto_open=True, h5filters=None)[source]¶ Bases:
collections.abc.Mapping
File object for HDF5 files.
This class wraps PyTables to provide a cleaner, but only implements an interface for accessing arrays.
- Parameters
filename (str or a tables.File instance) – Filename for an HDF5 file, or a PyTables File object.
mode (str) –
Mode to open the file:
’r’ : Read-only ‘w’ : Write; create new file (an existing file would be deleted). ‘a’ : Read and write to file; create if not existing ‘r+’: Read and write to file; must already exist
delete_existing (bool) – If True, an existing node will be deleted when a create_* method is called. Otherwise, a ValueError will be raise.
auto_groups (bool) – If True, create_array will automatically create parent groups.
auto_open (bool) – If True, open the file automatically on initialization. Otherwise, you can call H5File.open() explicitly after initialization.
chunked (bool) – If True, the default behavior of create_array will be a chunked array (see PyTables create_carray).
-
create_array
(node_path, array_or_shape, dtype=None, chunked=False, extendable=False, **kwargs)[source]¶ Create node to store an array.
- Parameters
node_path (str) – PyTable node path; e.g. ‘/path/to/node’.
array_or_shape (array or shape tuple) – Array or shape tuple for an array. If given a shape tuple, the dtype parameter must also specified.
dtype (str or numpy.dtype) – Data type of array. Only necessary if array_or_shape is a shape.
chunked (bool) – Controls whether the array is chunked.
extendable ({None | bool}) – Controls whether the array is extendable.
kwargs (key/value pairs) – Keyword args passed to PyTables File.create_(c|e)array.
-
create_dict
(node_path, data=None, **kwargs)[source]¶ Create dict node at the specified path.
- Parameters
node_path (str) – Path to node where data is stored (e.g. ‘/path/to/my_dict’)
data (dict) – Data for initialization, if desired.
-
create_group
(group_path, **kwargs)[source]¶ Create group.
- Parameters
group_path (str) – PyTable group path; e.g. ‘/path/to/group’.
kwargs (key/value pairs) – Keyword args passed to PyTables File.create_group.
-
create_table
(node_path, description, **kwargs)[source]¶ Create table node at the specified path.
- Parameters
node_path (str) – Path to node where data is stored (e.g. ‘/path/to/my_dict’)
description (dict or numpy dtype object) – The description of the columns in the table. This is either a dict of column name -> dtype items or a numpy record array dtype. For more information, see the documentation for Table in pytables.
-
exists_error
= "'{}' exists in '{}'; set `delete_existing` attribute to True to overwrite existing calculations."¶
-
property
is_open
¶
-
classmethod
join_path
(*args)[source]¶ Join parts of an h5 path.
For example, the 3 argmuments ‘path’, ‘to’, ‘node’ will return ‘/path/to/node’.
- Parameters
args (str) – Parts of path to be joined.
-
remove_group
(group_path, **kwargs)[source]¶ Remove group
- Parameters
group_path (str) – PyTable group path; e.g. ‘/path/to/group’.
-
remove_node
(node_path)[source]¶ Remove node
- Parameters
node_path (str) – PyTable node path; e.g. ‘/path/to/node’.
-
property
root
¶
-
class
apptools.io.h5.file.
H5Group
(pytables_group)[source]¶ Bases:
collections.abc.Mapping
A group node in an H5File.
This is a thin wrapper around PyTables’ Group object to expose attributes and maintain the dict interface of H5File.
-
property
children_names
¶
-
create_array
(node_subpath, array_or_shape, dtype=None, chunked=False, extendable=False, **kwargs)[source]¶ ** H5Group wrapper for H5File.create_array: ** Note that the first argument is a nodepath relative to the group, rather than an absolute path. Below is the original docstring:
Create node to store an array.
- Parameters
node_path (str) – PyTable node path; e.g. ‘/path/to/node’.
array_or_shape (array or shape tuple) – Array or shape tuple for an array. If given a shape tuple, the dtype parameter must also specified.
dtype (str or numpy.dtype) – Data type of array. Only necessary if array_or_shape is a shape.
chunked (bool) – Controls whether the array is chunked.
extendable ({None | bool}) – Controls whether the array is extendable.
kwargs (key/value pairs) – Keyword args passed to PyTables File.create_(c|e)array.
-
create_dict
(node_subpath, data=None, **kwargs)[source]¶ ** H5Group wrapper for H5File.create_dict: ** Note that the first argument is a nodepath relative to the group, rather than an absolute path. Below is the original docstring:
Create dict node at the specified path.
- Parameters
node_path (str) – Path to node where data is stored (e.g. ‘/path/to/my_dict’)
data (dict) – Data for initialization, if desired.
-
create_group
(group_subpath, delete_existing=False, **kwargs)[source]¶ ** H5Group wrapper for H5File.create_group: ** Note that the first argument is a nodepath relative to the group, rather than an absolute path. Below is the original docstring:
Create group.
- Parameters
group_path (str) – PyTable group path; e.g. ‘/path/to/group’.
kwargs (key/value pairs) – Keyword args passed to PyTables File.create_group.
-
create_table
(node_subpath, description, *args, **kwargs)[source]¶ ** H5Group wrapper for H5File.create_table: ** Note that the first argument is a nodepath relative to the group, rather than an absolute path. Below is the original docstring:
Create table node at the specified path.
- Parameters
node_path (str) – Path to node where data is stored (e.g. ‘/path/to/my_dict’)
description (dict or numpy dtype object) – The description of the columns in the table. This is either a dict of column name -> dtype items or a numpy record array dtype. For more information, see the documentation for Table in pytables.
-
property
filename
¶
-
property
name
¶
-
property
pathname
¶
-
remove_group
(group_subpath, **kwargs)[source]¶ ** H5Group wrapper for H5File.remove_group: ** Note that the first argument is a nodepath relative to the group, rather than an absolute path. Below is the original docstring:
Remove group
- Parameters
group_path (str) – PyTable group path; e.g. ‘/path/to/group’.
-
remove_node
(node_subpath, **kwargs)[source]¶ ** H5Group wrapper for H5File.remove_node: ** Note that the first argument is a nodepath relative to the group, rather than an absolute path. Below is the original docstring:
Remove node
- Parameters
node_path (str) – PyTable node path; e.g. ‘/path/to/node’.
-
property
root
¶
-
property
subgroup_names
¶
-
property