← Quantum Store · Guides · Lessons · Glossary · Packages · About · Türkçe

Google Quantum AI

Google surface code experiment data (Nature 2023)

DatasetError correctionLicence: CC-BY-4.0Version: 2022-07-1410.3 KB

Official source: Data for "Suppressing quantum errors by scaling a surface code logical qubit"

Download ZIP (free)

Raw measurement data from the Sycamore hardware for the experiment "Suppressing quantum errors by scaling a surface code logical qubit" (315.5 MB, CC-BY-4.0). The package contains a script that downloads the data from Zenodo and checks it with MD5.

What is this dataset?

In an experiment published in Nature in 2023, Google Quantum AI showed on real hardware for the first time that a distance-5 surface code makes fewer logical errors than a distance-3 one. This record contains the raw detector measurements of that experiment, the circuit definitions (in Stim format) and the error models.

Usage

python zenodo_indir.py --liste        # files, sizes and MD5 checksums
python zenodo_indir.py --indir veri/  # download and verify the checksum

The script uses only the Python standard library. The data itself is not embedded in this package; it is always downloaded from the official Zenodo record. (--liste means list and --indir means download.)

What can you do with it?

Citation

In work that uses the data, cite the Google Quantum AI paper, Nature 614, 676–681 (2023), and the Zenodo DOI.

Installation and running

python zenodo_indir.py --liste
python zenodo_indir.py --indir veri/

Tested with: Python 3.12, Zenodo API (October 2026).

Official source

Links

Package contents

Licence

The example code and the guide in this package were written by the Quantum Store editors and are MIT licensed. The data it uses is subject to its own licence (CC-BY-4.0).


Quantum Store — https://hakanerdogan.com/en

Example code

The example shipped in the package, run and checked. Comments and printed messages are in Turkish; the code is the same in any language. Everything is in the ZIP.

zenodo_indir.py

"""Zenodo'dan Google Quantum AI yüzey kodu deney verisini indir.

Kayıt: https://doi.org/10.5281/zenodo.6804040 (lisans: CC-BY-4.0)

Kullanım:
    python zenodo_indir.py --liste          # dosyaları ve boyutlarını göster
    python zenodo_indir.py --indir veri/    # ZIP'i indir ve MD5 ile doğrula

Yalnızca Python standart kütüphanesi kullanılır.
"""

import argparse
import hashlib
import json
import sys
import urllib.request
from pathlib import Path

RECORD = "6804040"
API = f"https://zenodo.org/api/records/{RECORD}"


def get_json(url: str) -> dict:
    req = urllib.request.Request(url, headers={"User-Agent": "quantum-store"})
    with urllib.request.urlopen(req, timeout=60) as r:
        return json.loads(r.read())


def main() -> int:
    ap = argparse.ArgumentParser()
    ap.add_argument("--liste", action="store_true")
    ap.add_argument("--indir", metavar="KLASOR")
    args = ap.parse_args()

    record = get_json(API)
    meta = record["metadata"]
    print(f"{meta['title']}")
    print(f"DOI: {record['doi']}  Lisans: {meta['license']['id']}")
    for f in record["files"]:
        print(f"  {f['key']}  {f['size'] / 1e6:.1f} MB  {f['checksum']}")

    if not args.indir:
        return 0

    target = Path(args.indir)
    target.mkdir(parents=True, exist_ok=True)
    for f in record["files"]:
        path = target / f["key"]
        algo, expected = f["checksum"].split(":", 1)
        print(f"İndiriliyor: {path}")
        digest = hashlib.new(algo)
        req = urllib.request.Request(f["links"]["self"], headers={"User-Agent": "quantum-store"})
        with urllib.request.urlopen(req, timeout=120) as r, open(path, "wb") as out:
            done = 0
            while chunk := r.read(1 << 20):
                out.write(chunk)
                digest.update(chunk)
                done += len(chunk)
                print(f"\r  {done / 1e6:8.1f} / {f['size'] / 1e6:.1f} MB", end="")
        print()
        if digest.hexdigest() != expected:
            print("HATA: sağlama toplamı uyuşmuyor", file=sys.stderr)
            return 1
        print("  Doğrulandı.")
    return 0


if __name__ == "__main__":
    sys.exit(main())

Related concepts

← All packages

Share: X · LinkedIn