Skip to content

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>.