"Use PennyLane circuit import/export, dataset loading, debugging
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill io-data-logging --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Io Data Logging?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-io-data-logging)More formats (shields.io, HTML) on the badges page.
---
name: io-data-logging
description: "Use PennyLane circuit import/export, dataset loading, debugging
snapshots, logging, pytrees, and concurrency support workflows."
metadata:
disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---
# I/O, data, debugging, and logging
Use this sub-skill when a task involves importing/exporting circuits, loading PennyLane datasets, debugging circuit execution, configuring logging, or using support utilities such as pytrees and concurrency.
## Read first
- [`references/api-reference.md`](references/api-reference.md): verified signatures and module responsibilities for I/O, data, debugging, and logging.
- [`references/workflows.md`](references/workflows.md): OpenQASM export, converter dependency checks, dataset loading, snapshots, and logging recipes.
- [`references/troubleshooting.md`](references/troubleshooting.md): optional converter imports, remote dataset/cache failures, debug measurement issues, and logging config mistakes.
- [`scripts/io_data_smoke.py`](scripts/io_data_smoke.py): safe CPU smoke for OpenQASM export and importable data/debugging/logging modules.
## Route within this sub-skill
- **Circuit export:** use `qp.to_openqasm(circuit, wires=None, rotations=True, measure_all=True, precision=None)` for OpenQASM 2 output where supported.
- **Circuit import/conversion:** use `qp.from_qasm`, `qp.from_qasm3`, `qp.from_qiskit`, `qp.from_qiskit_noise`, `qp.from_qiskit_op`, `qp.from_pyquil`, `qp.from_quil`, `qp.from_quil_file`, `qp.FromBloq`, and `qp.to_bloq` only after checking optional dependencies.
- **Datasets:** use `qp.data.load(...)` and dataset namespace utilities; treat remote downloads/cache mutation as opt-in behavior.
- **Debugging:** use `qp.snapshots`, `qp.breakpoint`, `qp.debug_expval`, `qp.debug_state`, `qp.debug_probs`, and `qp.debug_tape` for circuit introspection.
- **Logging:** use `pennylane.logging` and its TOML configuration surfaces when instrumenting PennyLane behavior.
- **Support utilities:** use `pennylane.pytrees` and `pennylane.concurrency` for advanced integration tasks after confirming exact APIs.
## Boundaries
- Circuit execution and measurements belong to [`../circuits-devices/SKILL.md`](../circuits-devices/SKILL.md).
- Operator transformations and decomposition belong to [`../operators-transforms/SKILL.md`](../operators-transforms/SKILL.md).
- Dataset-backed scientific qchem/application workflows belong to [`../applications-qchem-resource/SKILL.md`](../applications-qchem-resource/SKILL.md) when the domain module owns semantics.
- Source-checkout test/lint/development policy belongs to [`../repo-development/SKILL.md`](../repo-development/SKILL.md).
## Minimal OpenQASM export
```python
import pennylane as qp
dev = qp.device("default.qubit", wires=2)
@qp.qnode(dev)
def circuit(theta):
qp.RX(theta, 0)
qp.CNOT([0, 1])
return qp.expval(qp.Z(1))
print(qp.to_openqasm(circuit)(0.2))
```
If a converter asks for Qiskit, PyQuil, OpenQASM3, or Qualtran, install and verify only that converter dependency.
## Verification cues
State whether the workflow is local-only or requires network/cache/external converter packages. For debug/logging answers, include a tiny QNode and expected printed/debug signal rather than only prose.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!