Skip to main content

QATS

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

Python versions Build Status PyPi Deployment Status Documentation Status

General

About

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

Demo

QATS GUI

Getting started

Installation

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.

New in version 5.0.0. The Qt binding PySide6 is installed with qats. If you would rather like to use PyQt6, run

python -m pip install pyqt6

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 pyqt6 (to use PyQt6) and pyside6 (PySide6). 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

Resources

Contribute

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.

Prerequisites

Install Python version 3.8 or later from either https://www.python.org or https://www.anaconda.com.

Install Poetry with the official installer.

Install the poetry-dynamic-versioning plugin:

poetry self add "poetry-dynamic-versioning[plugin]"

Clone the source code repository

At the desired location, run:

git clone https://github.com/dnvgl/qats.git

Installing

To get the development environment running...

poetry install

This will

  • create an isolated environment
  • install all dependencies including those required for development, testing and building documentation
  • and install the package in development ("editable") mode

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

>>> import qats
>>> help(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

poetry build

The builds appear in the .dist folder. The distributions 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

Versioning

We apply the "major.minor.micro" versioning scheme defined in PEP 440. See also Scheme choices on https://packaging.python.org/.

Versions are tagged with Git tags like v3.0.1. See the tags on this repository.

Release and deployment

We use the release cycle in GitHub to cut new releases.

Once a new release is published, GitHub Actions takes care of the packaging, unit testing and deployment to PyPi.

The workflows for continuous integration and deployment are found in .github/workflows.

Authors

License

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

Metadata

Release files for qats 5.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qats 5.3.1
File Size Uploaded
qats-5.3.1.tar.gz 123.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qats 5.3.1
File Interpreter ABI Platform
qats-5.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 263.3 kB

Release files / qats-5.3.1.tar.gz

Download URL qats-5.3.1.tar.gz
Size 123.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f4ac7719abc744f8f85a0ea0161d7db06bea0751bf6e955467bf26b94fe6f894
BLAKE2b-256 checksum
How to use checksums
2f6dcf21de2644f7a599133193a9d4724746427e4eb25ec541b4cffd33145e2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.16 Linux/6.17.0-1022-azure

Release files / qats-5.3.1-py3-none-any.whl

Download URL qats-5.3.1-py3-none-any.whl
Size 139.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06f015bd436847224bbb7635448b287b5dc83f42a33367d304f16f38562544ae
BLAKE2b-256 checksum
How to use checksums
9340a8b01c713cf15ed601f4222b75564093b1c0dfe69280ed1f7055d43aa5d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.16 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

5.5.0

2 release files

5.4.1

2 release files

5.4.0

2 release files

This release

5.3.1 This release

2 release files

5.3.0

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.2

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.7

2 release files

5.0.6

2 release files

5.0.3

2 release files

4.12.1

2 release files

4.10.0

2 release files

4.9.2

1 release file

4.9.1

1 release file

4.9.0

1 release file

4.8.1

1 release file

4.8.0

1 release file

4.7.0

1 release file

4.6.1

1 release file

4.6.0

1 release file

4.5.0

1 release file

4.4.0

1 release file

4.3.0

1 release file

4.2.0

1 release file

4.1.1

1 release file

4.1.0

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.0.6

1 release file

3.0.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page