--- id: qcodes version: "0.58.0" license: MIT license_treatment: permissive maintenance: active --- # qcodes — Python-based data acquisition framework developed by the Copenhagen / Delft / Sydney / Microsoft quantum computing consortium License: permissive · Maintenance: active · Downloads: 79.1K/mo ## 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 above — verify before relying. QCoDeS is a Python data acquisition and control framework for systems with many computer-controllable degrees of freedom, originally developed for quantum computing experiments but applicable to any instrumentation scenario. 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 pip install qcodes uv add qcodes poetry add qcodes ## Installing qcodes 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. 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) Requires Python 3.11 or later. Primarily designed for Jupyter notebooks but can run in terminal scripts. 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 - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 79.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags data acquisition framework, instrument control python, quantum computing measurement, laboratory automation, hardware parameter sweep, experimental data collection, device characterization, instrumentation, jupyter-native, quantum-computing [View on SkillFed](https://skillfed.io/packages/qcodes) · [View on PyPI](https://pypi.org/project/qcodes/)