Skip to main content

Library for efficient processing and visualization of time series.

Project description


Python library and GUI for efficient processing and visualization of time series.

Python versions Build Status PyPi Deployment Status Documentation Status



The python library provides tools for:

  • Import and export from/to various pre-defined time series file formats
  • Signal processing
  • Inferring statistical distributions
  • Cycle counting using the Rainflow algorithm

It was originally created to handle time series files exported from SIMO and RIFLEX. Now it also handles SIMA hdf5 (.h5) files, Matlab (version < 7.3) .mat files, CSV files and more.

QATS also features a GUI which offers efficient and low threshold processing and visualization of time series. It is perfect for inspecting, comparing and reporting:

  • time series
  • power spectral density distributions
  • peak and extreme distributions
  • cycle distributions



Python version support

QATS supports Python 3.7, 3.8, 3.9 and 3.10.

Getting started


Run the below command in a Python environment to install the latest QATS release:

python -m pip install qats

To upgrade from a previous version, the command is:

python -m pip install --upgrade qats

You may now import qats in your own scripts:

from qats import TsDB, TimeSeries

... or use the GUI to inspect time series. Note that as of version 4.2.0 you are quite free to choose which Qt binding you would like to use for the GUI: PyQt5 or PySide2, or even PyQt4 / PySide.

Install the chosen binding (here PyQt5 as an example):

python -m pip install pyqt5

If multiple Qt bindinds are installed, the one to use may be controlled by setting the environmental variable QT_API to the desired package. Accepted values include pyqt5 (to use PyQt5) and pyside2 (PySide2). For more details, see README file for qtpy.

The GUI may now be launched by:

qats app

To create a start menu link, which you can even pin to the taskbar to ease access to the QATS GUI, run the following command:

qats config --link-app

Take a look at the resources listed below to learn more.

New in version 4.11.0. The command line interface is also accessible by running Python with the '-m' option. The following commands are equvivalent to those above:

python -m qats app
python -m qats config --link-app



These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.


Install Python version 3.7 or later from either or

Clone the source code repository

At the desired location, run:

git clone


To get the development environment running:

... create an isolated Python environment and activate it,

python -m venv /path/to/new/virtual/environment


... install the dev dependencies in requirements.txt,

python -m pip install -r requirements.txt

.. and install the package in development ("editable") mode.

python -m pip install -e .

Note: This is similar to the "legacy" development installation command python develop, see the setuptools page on development mode.

You should now be able to import the package in the Python console,

import qats

... and use the command line interface (CLI).

qats -h

New in version 4.11.0. The CLI is also available from

python -m qats -h

Running the tests

The automated tests are run using unittest.

python -m unittest discover 

Building the package

Build tarball and wheel distributions by:

python sdist bdist_wheel

The distribution file names adhere to the PEP 0427 convention {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl.

Building the documentation

The html documentation is built using Sphinx

sphinx-build -b html docs\source docs\_build

To force a build to read/write all files (always read all files and don't use a saved environment), include the -a and -E options:

sphinx-build -a -E -b html docs\source docs\_build


Packaging, unit testing and deployment to PyPi is automated using GitHub Actions.


We apply the "major.minor.micro" versioning scheme defined in PEP 440. See also Scheme choices on

We cut a new version by applying a Git tag like 3.0.1 at the desired commit and then setuptools_scm takes care of the rest. For the versions available, see the tags on this repository.



This project is licensed under the MIT License - see the LICENSE file for details.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qats-4.11.1.tar.gz (51.7 MB view hashes)

Uploaded source

Built Distribution

qats-4.11.1-py3-none-any.whl (125.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page