Base Classes

s100py.s1xx Module

This module contains base classes. they should not be used directly but only used by code implementing one of the S100 family of specifications.

See Extending the API for further details about using the classes to create or modify an api.

Functions

abstractmethod(funcobj)

A decorator indicating abstract methods.

convert_numpy_strings_to_h5py(vals[, names])

convert_numpy_types_to_h5py(vals[, dtypes, ...])

change numpy arrays with "U" into array using the h5py special string_dtype that translates to utf-8 in the file.

dataset_compression_params(array)

return compression options for a dataset based on the size of the numpy array.

h5py_string_comp(h5py_val, cmp_str)

is_sub_class(cls, clsinfo)

Python 3.7+ changed the behavior of issubclass to raise an exception if the cls object is not a class.

make_enum_dtype(enum_class)

parse_iso_datetime(val[, date_or_time])

A DateTime is a combination of a date and a time type.

Classes

ABC()

Helper class that provides a standard way to create an ABC using inheritance.

Enum(value[, names, module, qualname, type, ...])

Create a collection of name/value pairs.

FixedTimeZones(hours[, minutes, name])

Fixed offset in minutes east from UTC.

S1XXFile(name, *args, **kywrds)

hdf5 files have primary creation methods of create_dataset to insert array data attrs a dictionary-like to add/read metadata about the current group create_group to make a group containing datasets and/or metadata

S1xxCollection(*args, **opts)

This class represents arrays (noted in UML as , 1.., 0..* etc) which is not really part of HDF5.

S1xxDatasetBase(*args, **opts)

The S102 spec stores some things as datasets that could (or should) be stored as attributes.

S1xxGridsBase([recursively_create_children])

This base class is intended for use with "values" groups.

S1xxObject([recursively_create_children])

This class implements a general hdf5 group object that has attributes, datasets or sub-groups.

S1xxWritesGroupObjects([...])

Derive things that either create a dataset and have to combine data into it or make multiple sub groups that the parent can't predict The S1xxObject will call the derived class' writer without pre-making group for it.