Skip to main content

Documentation Codecov PyPI CII Best Practices DOI PyPI - Python Version

Our DNA 28 poster is available here.

Documentation: https://docs.costi.net/qslib/

qslib

QSLib is a package for interacting with Applied Biosystems' QuantStudio qPCR machines, primarily intended for non-qPCR uses, such as DNA computing and molecular programming systems. It allows the creation, processing, and handling of experiments and experiment data, and interaction with machines through their network connection and SCPI interface.

The package was originally written for 96-well-block QuantStudio 5 machines. However, it has some support for other machines, particularly for reading EDS files: it supports v1.3 and (partially) v2.0 specification EDS files, and should be able to read at least some data from files generated by Viia7, QuantStudio 3, QuantStudio 5, QuantStudio 6 Flex, and QuantStudio 6 Pro machines, with 96-well and 384-well blocks. If you have problems reading EDS files, or have found that it works with other machines, please let me know.

Amongst other features that it has:

  • Direct fluorescence data ("filter data") as Pandas dataframes, with times and temperature readings.

  • Running-experiment data access, status information, and control.

  • Protocol creation and manipulation, allowing functions outside of AB's software. Protocols can be modified and updated mid-run.

  • Temperature data at one-second resolution during experiments.

  • Machine control functions: immediate pauses and resumes, drawer control, power, etc.

  • With qslib-monitor: live monitoring of machine state information, with Matrix notifications, InfluxDB storage, and Grafana dashboards.

Installation and Setup

QSLib can be installed via pip:

pip3 install -U qslib

Or, for the current development version:

pip3 install -U --pre git+https://github.com/cgevans/qslib.git

It requires at least version 3.10 of Python. While it uses async code at its core for communication, it can be used conveniently in Jupyter or IPython.

To use the library for communication with machines, you'll need a machine access password with Observer (for reading data and statuses) and/or Controller (for running experiments and controlling the machine) access. You will also need access to the machine on port 7443 (machine software versions 1.3.4 and higher), or port 7000 (earlier software versions).

In machine software versions 1.3.4 and higher, you can set a password using the "OEM Connection Only" option in "Settings". Earlier software versions must have passwords set by other methods. Regardless of version, I strongly recommend against having the machines be accessible online: use a restricted VPN connection or port forwarding. See the documentation for more information.

Contributing and issue reporting

Issue reports and enhancement requests can be submitted via GitHub.

Potential contributions can be submitted via GitHub. These should include pytest tests, preferably both tests that can be run without outside resources, and, if applicable, tests that directly test any communication with a QuantStudio SCPI server. They will also need a Contributor Licence Agreement.

Private vulnerability reports can be sent to me by email, PGP-encrypted, or via Matrix to @cge:matrix.org.

Disclaimer

This package was developed for my own use. It may break your machine or void your warranty. Data may have errors or be incorrect. When used to send raw commands at high access levels, the machine interface could render your machine unusable or be used to send commands that would physically/electrically damage the machine or potentially be hazardous to you or others.

I am not any way connected with Applied Biosystems. I have developed this package using the machine's documentation system and standard file formats.

Metadata

Release files for qslib 0.15.3

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

Source distribution (sdist)

Source distribution for qslib 0.15.3
File Size Uploaded
qslib-0.15.3.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for qslib 0.15.3
File
qslib-0.15.3-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
qslib-0.15.3-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
qslib-0.15.3-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
qslib-0.15.3-cp313-cp313t-win_amd64.whl CPython 3.13 CPython 3.13 free-threading Windows x86-64 Details
qslib-0.15.3-cp313-cp313t-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ x86-64 Details
qslib-0.15.3-cp313-cp313t-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64 Details
qslib-0.15.3-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
qslib-0.15.3-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
qslib-0.15.3-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 172.6 MB

Release files / qslib-0.15.3.tar.gz

Download URL qslib-0.15.3.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
4fcefde5f3145ba065945f06a89b6174395d0bc0be1c47d03bc641172e5a6d42
BLAKE2b-256 checksum
How to use checksums
5772c01c2059f5fd1432fe464a7156b6b46d0d751b50ade3c5ba97011fe66443
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp314-cp314t-win_amd64.whl

Download URL qslib-0.15.3-cp314-cp314t-win_amd64.whl
Size 18.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
4513cd59b8ed7fc3b382a1cebc5a3b1c72fa8a4197e36386d5ced248947683ea
BLAKE2b-256 checksum
How to use checksums
150250ef859c850c772f4dfb207a9515078fc5e0848cdccc71d43159106c1260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL qslib-0.15.3-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 20.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
380d1eff44a58606f0d49ebff7159148a38a0ffe13dfdcefe0d37777d848845f
BLAKE2b-256 checksum
How to use checksums
626619df4e00b12e0ee9083dc9d4132cee1807c800b70b3901ca330d39a3925c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp314-cp314t-macosx_11_0_arm64.whl

Download URL qslib-0.15.3-cp314-cp314t-macosx_11_0_arm64.whl
Size 18.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2cc2aefb597039ea25ed55e3479aa4f4cf706f879510170ead5098ecf9d5c6fc
BLAKE2b-256 checksum
How to use checksums
7198b65d5a1447604b15881cd1ddaf426d16c3e4a246067bebc586874fa3140a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp313-cp313t-win_amd64.whl

Download URL qslib-0.15.3-cp313-cp313t-win_amd64.whl
Size 18.6 MB
Tags CPython 3.13 CPython 3.13 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
12971f5d74863dae19a82946b41fbb75f4ae3a91fc75135810c1b37493459a61
BLAKE2b-256 checksum
How to use checksums
25cc3598c9cc950bb63663e967a4f6bf31292c293232fef1c04e2d484f9668e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp313-cp313t-manylinux_2_28_x86_64.whl

Download URL qslib-0.15.3-cp313-cp313t-manylinux_2_28_x86_64.whl
Size 20.1 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7ca750d9d8365c53ef68e47ecd16f40f063f724886f738a5da4ae8ff2e76808e
BLAKE2b-256 checksum
How to use checksums
4f5ddeb321514be8aa4e8164b74cc8efdf3f7d6e2c883c02185ba03d02e222f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp313-cp313t-macosx_11_0_arm64.whl

Download URL qslib-0.15.3-cp313-cp313t-macosx_11_0_arm64.whl
Size 18.4 MB
Tags CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ddfd5652d75580ae7d04e1ee364c14d403e331de06945694160dc02c21691b77
BLAKE2b-256 checksum
How to use checksums
93260b23bf562908caff06ffc67f1edee288985c2075c437b9c56d3d3c71c466
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp310-abi3-win_amd64.whl

Download URL qslib-0.15.3-cp310-abi3-win_amd64.whl
Size 18.6 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
dbde0e7b1b6ec6403384335b1fff8889285df139ea2b12a98457171e1b32c322
BLAKE2b-256 checksum
How to use checksums
20d492ab26d008efea9c13a82d599b99a4212b764834c7f280b62fa341e89993
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL qslib-0.15.3-cp310-abi3-manylinux_2_28_x86_64.whl
Size 20.2 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
bae65addeeb1ba77cc5489b069f8ca411850f8bf8696b40c60eaeeb1d87b7a8d
BLAKE2b-256 checksum
How to use checksums
6d6b1d850862f12da6ce21e25a84383d05c216e96c1aa170cd5fdc9727622bd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qslib-0.15.3-cp310-abi3-macosx_11_0_arm64.whl

Download URL qslib-0.15.3-cp310-abi3-macosx_11_0_arm64.whl
Size 18.5 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fa31aef74714f4267b516e8cd85acc11d930e3a445d96d3088a3bf982f199678
BLAKE2b-256 checksum
How to use checksums
160421f8d8f755c477725be2f38bf546eb9eb52fb1fe76957dbf4d1fb340cb2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.8.2

2 release files

This release

0.15.3 This release

10 release files

0.14.0

6 release files

0.13.0

2 release files

0.12.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

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