Skip to main content

Library for communicating with and using the QuantStudio qPCR machine, intended for non-qPCR uses.

Project description

Documentation Status Codecov GitHub Workflow Status 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 Github version:

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

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.

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

qslib-0.15.1.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.1-cp314-cp314t-win_amd64.whl (19.0 MB view details)

Uploaded CPython 3.14tWindows x86-64

qslib-0.15.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

qslib-0.15.1-cp314-cp314t-macosx_11_0_arm64.whl (19.0 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

qslib-0.15.1-cp313-cp313t-win_amd64.whl (19.0 MB view details)

Uploaded CPython 3.13tWindows x86-64

qslib-0.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.7 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

qslib-0.15.1-cp313-cp313t-macosx_11_0_arm64.whl (19.0 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

qslib-0.15.1-cp310-abi3-win_amd64.whl (19.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

qslib-0.15.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.7 MB view details)

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

qslib-0.15.1-cp310-abi3-macosx_11_0_arm64.whl (19.1 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: qslib-0.15.1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1.tar.gz
Algorithm Hash digest
SHA256 f7e5ba09971d61216d4d5c17b615e0b35acc64ec24a7715e7cacb2a723c00b91
MD5 7d1501feeac342bdc7e019c447372010
BLAKE2b-256 5604c698c1cf991e4655819e0f0af2c5b528e4de7bc87afd31920c0390feca65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 19.0 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c0b5565f1412d2f01c7be7cefdbb0176d8d22be9a494fd3d97c5ebcfde36e309
MD5 979894e0c79a623462063cf4e51f2b14
BLAKE2b-256 ecc341f7840cff8e1ebea870349e73bef7bccfffabbdf32f910f2b8f41d09714

See more details on using hashes here.

File details

Details for the file qslib-0.15.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: qslib-0.15.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 20.7 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66b43db26120d53b9c84740aca2289fae965e5be4346cc06c1f743a186f0b226
MD5 ed0ae43fc64da020ccac9d6b74fa18f4
BLAKE2b-256 566bd73a9367d492f46f5e94cf98bec7d8cf1ef30edbdf429870ec394ffa3b4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.1-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 19.0 MB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9886b906632c69fe878d9256b7bed1f4e4c682ee3bb8af5841f6a447d30ebbd8
MD5 1b683dd3722415324b8d41dd3482c451
BLAKE2b-256 330cb50fcbc3c747241d03e00827b2277417d2facb289797fc1afd606e362ae4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.1-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 19.0 MB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 d7abf15c026ab5cadbe1cce14e6724e4e368b0e4ed0870ee3417c19d85f7a15d
MD5 0de65da2faf028482bd24685a1c588e7
BLAKE2b-256 61468c1d0e8c0e224da425690740272c48afdc6380c07844474d6b606daf8fc2

See more details on using hashes here.

File details

Details for the file qslib-0.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: qslib-0.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 20.7 MB
  • Tags: CPython 3.13t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed6691b8ad6a63ea5de1b58c90e69800dbf7d9a10521f5dce8e877bea67afe1d
MD5 73db4a6c903b8f1a1e7997fe5af09be5
BLAKE2b-256 77f7b6c894f7e6b7c0e47328dbf85e455bd095764c32a6fb818dfa96fc2366bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.1-cp313-cp313t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 19.0 MB
  • Tags: CPython 3.13t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91caadc81dfe4f645932e278270b3f2c9ef8b411c621bc36e7ab9c37ce7d256a
MD5 dfdacec83e733211b3697fcbe5fe608b
BLAKE2b-256 e4896c8568f090070183d8b99abb697a427fcd03af91f7b646dbdf8111c0fa01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 19.0 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7a228d997390b94dc6abf31f6cc75dfe0a80dd40977b8b8da773beebb1e4e6ab
MD5 3f386637da152da74c20e0630bbd71f6
BLAKE2b-256 22d7e7452dc21d66ba7948e13cb5db79d6ae1da1bf4d23c43fca037706be368f

See more details on using hashes here.

File details

Details for the file qslib-0.15.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: qslib-0.15.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 20.7 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 590f1fe71088cd678b489f54c1ccc9dec2e32115e45a104678cfc307ec8161b8
MD5 6a64467b2ebc149366d8f6bfe5a1f5af
BLAKE2b-256 414eaae68d2e210f484f2a745b372cf57e47fe75c1f7b397a5a46d93768ee61d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.1-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 19.1 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cffa8a0e4f65dc9c4646c6ede24f511493848517b91b2bf92cbf7a36f0b032e1
MD5 e6f3713bdb2f724a0698424a4b11fbc0
BLAKE2b-256 16be0a3479e882b56ed6333ea1941fdd656db3af04e64e218fd18738fc4f9a58

See more details on using hashes here.

Supported by

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