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.

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.3.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.3-cp314-cp314t-win_amd64.whl (18.6 MB view details)

Uploaded CPython 3.14tWindows x86-64

qslib-0.15.3-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.3-cp314-cp314t-macosx_11_0_arm64.whl (18.4 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tWindows x86-64

qslib-0.15.3-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.3-cp313-cp313t-macosx_11_0_arm64.whl (18.4 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.10+Windows x86-64

qslib-0.15.3-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.3-cp310-abi3-macosx_11_0_arm64.whl (18.5 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: qslib-0.15.3.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for qslib-0.15.3.tar.gz
Algorithm Hash digest
SHA256 4fcefde5f3145ba065945f06a89b6174395d0bc0be1c47d03bc641172e5a6d42
MD5 5759936767a6a41b2f2be3e06b213e49
BLAKE2b-256 5772c01c2059f5fd1432fe464a7156b6b46d0d751b50ade3c5ba97011fe66443

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 4513cd59b8ed7fc3b382a1cebc5a3b1c72fa8a4197e36386d5ced248947683ea
MD5 8776d2ca8303cabda1f7759068667316
BLAKE2b-256 150250ef859c850c772f4dfb207a9515078fc5e0848cdccc71d43159106c1260

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 380d1eff44a58606f0d49ebff7159148a38a0ffe13dfdcefe0d37777d848845f
MD5 d9821c498e074c57771f8c66e7fb5985
BLAKE2b-256 626619df4e00b12e0ee9083dc9d4132cee1807c800b70b3901ca330d39a3925c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cc2aefb597039ea25ed55e3479aa4f4cf706f879510170ead5098ecf9d5c6fc
MD5 6a2906ad3a024b7de8ec6786e2be63fa
BLAKE2b-256 7198b65d5a1447604b15881cd1ddaf426d16c3e4a246067bebc586874fa3140a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 12971f5d74863dae19a82946b41fbb75f4ae3a91fc75135810c1b37493459a61
MD5 c90785f0fab793ea630d1c3f438eafc4
BLAKE2b-256 25cc3598c9cc950bb63663e967a4f6bf31292c293232fef1c04e2d484f9668e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7ca750d9d8365c53ef68e47ecd16f40f063f724886f738a5da4ae8ff2e76808e
MD5 d78a956d263a90a6786dc8c0372c8b92
BLAKE2b-256 4f5ddeb321514be8aa4e8164b74cc8efdf3f7d6e2c883c02185ba03d02e222f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddfd5652d75580ae7d04e1ee364c14d403e331de06945694160dc02c21691b77
MD5 f6f72a4745746dc667947d993238d41b
BLAKE2b-256 93260b23bf562908caff06ffc67f1edee288985c2075c437b9c56d3d3c71c466

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dbde0e7b1b6ec6403384335b1fff8889285df139ea2b12a98457171e1b32c322
MD5 bda46864df75ece2bd21bed93d501c9c
BLAKE2b-256 20d492ab26d008efea9c13a82d599b99a4212b764834c7f280b62fa341e89993

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-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.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}

File hashes

Hashes for qslib-0.15.3-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bae65addeeb1ba77cc5489b069f8ca411850f8bf8696b40c60eaeeb1d87b7a8d
MD5 ea67aa84caa218d44f2a93ba51b65561
BLAKE2b-256 6d6b1d850862f12da6ce21e25a84383d05c216e96c1aa170cd5fdc9727622bd0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qslib-0.15.3-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 18.5 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using 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}

File hashes

Hashes for qslib-0.15.3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa31aef74714f4267b516e8cd85acc11d930e3a445d96d3088a3bf982f199678
MD5 9e1611e7af9e8cad554969b089f39d1a
BLAKE2b-256 160421f8d8f755c477725be2f38bf546eb9eb52fb1fe76957dbf4d1fb340cb2f

See more details on using hashes here.

Release history Release notifications | RSS feed

1.8.2

2 files

This release

0.15.3 This release

10 files

0.15.2

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