$npx skillfedfor your agent

qcodes

Python-based data acquisition framework developed by the Copenhagen / Delft / Sydney / Microsoft quantum computing consortium

With conditionsPyPI Scientific/EngineeringReleased May 202679.1K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — qcodes-0.58.0-py3-none-any.whl
v0.58.0 · released 2026-05-04 · Python >=3.11 · 25 runtime deps: broadbean, h5netcdf, h5py, ipywidgets, ipykernel, jsonschema, matplotlib, networkx

Yes, if you are building a measurement or control system with multiple instruments or parameters. The framework handles the plumbing—parameter validation, data storage, logging—that would otherwise require substantial custom code. The active maintenance, MIT license, and broad dependency set make it production-ready for academic and research labs. Not necessary for simple single-instrument scripts or if you need only raw VISA communication.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.11 or later.
  • Primarily designed for Jupyter notebooks but can run in terminal scripts.
  • Low friction installation with a pure-wheel distribution.

License · maintenance · safety

MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, making it suitable for both academic and industrial instrumentation work.

last release 2026-05-04 (102 days) · last repo commit 2026-08-14 · 453 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 79,075 downloads/mo, #14,384 on PyPI

Verify before relying

pip install qcodes

import qcodes
from qcodes import Instrument

# Define an instrument with controllable parameters
class MyDevice(Instrument):
    def __init__(self, name, **kwargs):
        super().__init__(name, **kwargs)
        self.add_parameter('voltage', set_cmd=lambda v: None, get_cmd=lambda: 0)
  • Whether the 25 runtime dependencies (including h5py, pyvisa, xarray, dask) are all required for basic usage or if a minimal subset suffices.
  • Specific hardware interfaces and instrument drivers supported beyond the framework itself.
  • Performance characteristics for large-scale parameter sweeps or high-frequency data collection.
Same gist for agents: .md · .json

What it is and what it does

QCoDeS is a Python framework for controlling laboratory instruments and acquiring data from experiments with many adjustable parameters. It was created by a consortium spanning Copenhagen, Delft, Sydney, and Microsoft to support quantum computing research, but its architecture generalizes to any system where a computer needs to set and measure multiple instrument parameters. The framework handles parameter definition, value validation, data storage, and visualization, with particular support for Jupyter notebook workflows.

The package integrates with a substantial ecosystem: it uses h5py and h5netcdf for hierarchical data storage, xarray and dask for multidimensional array handling, matplotlib and pillow for plotting, pyvisa for instrument communication, and several other utilities for metadata, progress tracking, and telemetry. This rich dependency graph means QCoDeS is heavyweight but self-contained—you get a complete measurement stack rather than a bare protocol library.

Use it for

  • Automated parameter sweeps across quantum devices or nanoelectronic samples with live data collection and visualization.
  • Laboratory automation for multi-instrument experiments where you need to coordinate voltage, current, temperature, and frequency settings.
  • Data acquisition pipelines that require hierarchical storage, metadata tracking, and reproducible experiment logging.
  • Interactive measurement notebooks where scientists adjust parameters in real time and inspect results without writing boilerplate control code.
  • Instrument driver development and testing using a standardized parameter and command interface.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are building a measurement or control system with multiple instruments or parameters.

The framework handles the plumbing—parameter validation, data storage, logging—that would otherwise require substantial custom code. The active maintenance, MIT license, and broad dependency set make it production-ready for academic and research labs. Not necessary for simple single-instrument scripts or if you need only raw VISA communication.

Install

qcodes on PyPI

Before you install

Low friction installation with a pure-wheel distribution. Active maintenance with a recent release (102 days ago) and ongoing commits. Requires Python 3.11 or later, which may constrain older environments.

Requires Python 3.11 or later. Primarily designed for Jupyter notebooks but can run in terminal scripts.

License in practice

MIT license permits commercial and private use with minimal restrictions, making it suitable for both academic and industrial instrumentation work.

Quickstart

pip install qcodes

import qcodes
from qcodes import Instrument

# Define an instrument with controllable parameters
class MyDevice(Instrument):
    def __init__(self, name, **kwargs):
        super().__init__(name, **kwargs)
        self.add_parameter('voltage', set_cmd=lambda v: None, get_cmd=lambda: 0)

Verify before relying

  • Whether the 25 runtime dependencies (including h5py, pyvisa, xarray, dask) are all required for basic usage or if a minimal subset suffices.
  • Specific hardware interfaces and instrument drivers supported beyond the framework itself.
  • Performance characteristics for large-scale parameter sweeps or high-frequency data collection.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.11
Install frictionLow. Pure-Python wheel
Runtime dependencies
25 packages
broadbeanh5netcdfh5pyipywidgetsipykerneljsonschemamatplotlibnetworkxnumpypackagingpandaspyarrowpyvisaruamel.yamltabulatetyping_extensionstqdmuncertaintiesversioningitwebsocketsxarraycf_xarrayopentelemetry-apipillowdask
MaintenanceActively maintained 102 days since the last release
Last repo commit
First released
Downloads79,075 / month, #14,384 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: Science/ResearchProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering

Evidence: qcodes-0.58.0-py3-none-any.whl

Tags

Capabilities
data acquisition frameworkinstrument control pythonquantum computing measurementlaboratory automationhardware parameter sweepexperimental data collectiondevice characterization
Topics
instrumentationjupyter-nativequantum-computing

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “data acquisition framework”

  • qcodesQCoDeS is a Python data acquisition and control framework for systems…
  • botorchBoTorch provides a modular, PyTorch-based framework for building…
  • ophydOphyd provides a Python abstraction layer for hardware control and…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also broadbean · qiskit-experiments · qm-qua · cirq-google · cirq-core · cirq · pennylane · py-deviceid · pydoe · MultiPyVu