What is in the Box?
At the heart of pysmo are the pysmo types. These types are used to write additional components that are included in the pysmo package which can be used in other projects, particularly if they also use use data that are compatible with pysmo types.
Types and Mini classes
The pysmo base namespace exposes the protocol classes that are used as
type hints, as well as reference implementations of a generic class for each
protocol. The reference classes are subclasses of their respective protocol
classes that contain exactly the same attributes (though some extra methods may
be defined for convenience). They can be considered minimal implementations of
a class that can be used with pysmo protocols, and are therefore named
"Mini"+"name of protocol" (e.g. MiniSeismogram is an
implementation of the Seismogram type).
Functions
The pysmo.functions module provides functions that perform common
operations using pysmo types (mostly Seismogram). They
are meant to be building blocks that can be used to construct more complex
processing algorithms.
Classes
The pysmo.classes module provides ready to use classes for use with pysmo
types.
Tools
pysmo.tools contains functions belonging to a particular topic, or
provide more complex workflows (typically building on top of the basic
functions or other tools). In order to use a particular tool, it must be
imported via pysmo.tools.<tool-name>.