QASS open source

At Qass, we manufacture our own measuring devices, including sensors, and use the data produced by this hardware to program applications for use in a wide range of industrial processes or special solutions for our customers' requirements. This close integration between hardware and software allows us to coordinate the two in such a way that we have a great deal of control and insight into data collection and processing. For this reason, we have developed programming tools that we use for this purpose. We like to try out new things and approaches to see what is possible with the latest findings and our data. However, we are very aware that we are not alone in this desire. That is why we have placed the tools for working with our data under a GNU GENERAL PUBLIC LICENSE. This gives everyone access to our data and allows an introduction to data processing with Python.

data pipeline

Remote control of the Analyzer4D

With our networking package, the Analyzer4D software can be controlled from another program. Measurements can be started and parameters read out.

Indexing the measurement data

As a wide variety of formats can be recorded simultaneously during a measurement, our Analyzer package can be used to create an index that can be used to filter the different data formats.

Reading the measurement data

Our Analyzer package contains tools to read our files with just two lines of Python code.

Here is your solution

Now it's up to you to try out and test exciting new approaches with the existing data. Simply build on the output of our packages and develop your own tools!

Remote control

The Analyzer4D software comes with a network interface that can be used to control the measurement process, for example. Measurements can be started and stopped, parameters can be set in the settings or application variables can be set in the software. 

This allows a program located next to the Analyzer4D to influence the program sequence during a measurement if a program part in the operator network accesses these variables. This is particularly useful for exchanging metadata such as the component number in order to correlate a component directly with a measurement and store it in the database.


After a successful series of measurements, you normally find yourself in the nice position of having several terabytes of measurement data available. However, it is not easy to see which measurement data belongs to which process number or which measurement data has which compression. We have created the BufferMetadataCache for this purpose. 

This cache synchronizes a database with a directory and allows the measurement data to be quickly identified using its metadata. Specific channels or process numbers can be filtered here to quickly find the right data. The cache can be used both from a database and from Python.

Read in measurement data

We use our own file format, which is made up of the metadata of the measurement settings and the measurement data. This format is very difficult to read without knowing the specification, which is why we created the buffer class to read our data in typical Python style in just two lines of code:


We know very well how frustrating it can be to work with tools where only the senior developer with 20 years of experience in the company knows exactly how they work. That's why we document our open source libraries with Sphinx. This enables complete documentation of the source code with function signatures and examples, which we can supplement with explicit examples outside the source code. From these comments in the source code, we automatically create websites or optionally also PDF documents with the complete documentation of the respective interfaces with examples.

Want more? Expand your knowledge in our e-learning section.

Sign up now and get started!