We implemented 3 time series interfaces along with 3 kinds of time series classes.
This is the ABC for all subclasses we implemented. It contains 3 abstract methods which are
__repr__. We put
__iter__ here because we want all time series subclasses to support at least one kind of iterations.
Inherited from TimeSeriesInterface, this interface is the base class for TimeSeries class and ArrayTimeSeries class. It has a large amount of methods, both abstract and non-abstract, that we consider important for a sized container-typed time series class. We want its subcalsses to support common sequence operations such as
__len__ etc, and also some element-wise arithmetic operations such as addition, substraction and multiplication.
Inherited from SizedContainerTimeSeriesInterface, this class implements most methods in its base class. It uses lists as its underlying storage. See class documentation for more details.
Almost the same as TimeSeries class, except that it uses numpy array rather than list as its underlying storage.
Inherited from StreamTimeSeriesInterface, this class has no underlying storage. Rather, it takes into a generator and produces time series data on demand.
The class supports online mean and standard deviation calculation. See class documentation and examples for more details.