Skip to main content

Documentation Status Codecov Forgejo Actions PyPI CII Best Practices DOI PyPI - Python Version

Our DNA 28 poster is available here.

Documentation: Stable, Latest

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 is pure Python, and can be installed via pip:

pip3 install -U qslib

Or, for the current Codeberg version:

pip3 install -U --pre git+https://codeberg.org/cge/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 Codeberg.

Potential contributions can be submitted via Codeberg. 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.

Download files

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

Source Distribution

qslib-0.15.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qslib-0.15.2-cp314-cp314t-win_amd64.whl (18.6 MB view details)

Uploaded CPython 3.14tWindows x86-64

qslib-0.15.2-cp314-cp314t-manylinux_2_28_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

qslib-0.15.2-cp314-cp314t-macosx_11_0_arm64.whl (18.4 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

qslib-0.15.2-cp313-cp313t-win_amd64.whl (18.6 MB view details)

Uploaded CPython 3.13tWindows x86-64

qslib-0.15.2-cp313-cp313t-manylinux_2_28_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

qslib-0.15.2-cp313-cp313t-macosx_11_0_arm64.whl (18.4 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

qslib-0.15.2-cp310-abi3-win_amd64.whl (18.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

qslib-0.15.2-cp310-abi3-manylinux_2_28_x86_64.whl (20.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

qslib-0.15.2-cp310-abi3-macosx_11_0_arm64.whl (18.4 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file qslib-0.15.2.tar.gz.

File metadata

  • Download URL: qslib-0.15.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2.tar.gz
Algorithm Hash digest
SHA256 ead3a457cdf90de3e51b91de883786997320a54427f2c56ef518e80f9755d905
MD5 278f17fdf2e63337867f0dfac909c90d
BLAKE2b-256 f5cda1a958494fecc9de0a4235cd9a34757e29a5bae63d051fd38c82f3fb0503

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 18.6 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 eb17d4383eb995c38b6970d73c5a9e4bcdad73d44c2fc10aac5b6045c8a2cba9
MD5 634dc84bf1b6b2c727ff2b9291551281
BLAKE2b-256 c6d4bff435c784dfd282536da1784f7a3ce551741636032e943fd5365294ed6a

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp314-cp314t-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 20.1 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4cc87f64739d5be9021d3c672893a2fdcc51467de0a4aa5e63ad44431f5f7355
MD5 45621f6a48f594028c67f9d37a568b54
BLAKE2b-256 22f17fc3834e260cb80c040bda76cbec13e89a2d0d35a1162328847adfabc35b

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.4 MB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 762b541881863e2a216e82a32fdbd39ca2bb5564f1db35314d60368d8f8f686c
MD5 e61572a24d75abec2214eeea152328b7
BLAKE2b-256 461c96bb66e6f9264f5e3743c52cf6b2c04a3d6905eb10d6695f14fa38db3500

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 18.6 MB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 b240894bedd244da6fa54cfdfe7390c6b11ab2eaac968589a10c223ccd11fb02
MD5 f27ad6f6b118b6c20dab524692658594
BLAKE2b-256 fc872fdcf5bd9bf2ebd6fe9e2bbf69a9867fb259a2a7b2737f7836fd4720504b

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp313-cp313t-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp313-cp313t-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 20.1 MB
  • Tags: CPython 3.13t, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6cd086558322e908c57bdab9c72393d7b2aa39d35677bbdb3a901b95b2e74d79
MD5 5d556880cbbc254071a170add2796746
BLAKE2b-256 7cd790ce3528e7181c31ca33975eaa83c767d0fe56ceaa0c13f6cb61a8434bbb

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp313-cp313t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.4 MB
  • Tags: CPython 3.13t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d962620210ea1e19a6ef5c623aec15ddb89573fee1e5880c2aeca028347f6b43
MD5 e32b48209d8dec3c4dca72a24dfee8f5
BLAKE2b-256 779b93f0b0dba3574364586df0d98a0c05c96568dc10431d96735e669e44e0a1

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 18.6 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8dde792f0cc8b88256f332ebd8d973b352b696c9170b1c0ab930a17119c4d90b
MD5 e921891e93ca2e9f4daef9ce0f698101
BLAKE2b-256 c22658e7104b603a17d8ab33bcac38360e4f2b59bc9df342300b23bed1399cbb

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp310-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 20.2 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e79d3375b6b4d8cf662a70d3bd8b02bb00ddc924a9f4052de07c1fcca82a7688
MD5 3895d76d929a1079cc680d1c7cd47375
BLAKE2b-256 74440cf1f4cb30f5402ce59191c43459027cf05b13a2077893b9f64807ff6fbd

See more details on using hashes here.

File details

Details for the file qslib-0.15.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: qslib-0.15.2-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.4 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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}

File hashes

Hashes for qslib-0.15.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 312d2f7baf2f916dd42557b809ff930636740d39b7f6a306a33b69e7cd4c25bd
MD5 1df0a5e48b9ad0135634656868104cde
BLAKE2b-256 27e893c2537194ccb1165f3af916e127af3e3a130a04024a028e1e5e5c0c8fac

See more details on using hashes here.

Release history Release notifications | RSS feed

1.8.2

2 files

0.15.3

10 files

This release

0.15.2 This release

10 files

0.15.1

10 files

0.15.0

10 files

0.14.0

6 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.1

2 files

0.10.0

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page