A Guide to Open-Source Software for Quantum Computing

When quantum computing comes up, people usually picture IBM's complex cryogenic setups or esoteric formulas from quantum mechanics. This makes it seem like the average developer has no way in. In reality, it's quite different: right now you can open a terminal, install a few packages via pip or cargo, and run your first quantum algorithm on a simulator.
The problem is different. Over the past five years, so much software has appeared in this space that it's easy to drown in it. There are frameworks from giants like Google and IBM, niche libraries in C++, Julia, Rust, and even OCaml. To bring order to this chaos, the Quantum Open Source Foundation (QOSF) assembled the repository awesome-quantum-software. This is a detailed, structured catalog of open-source tools for quantum programming.
What's Inside the Catalog
The repository creators didn't just dump links in one pile—they organized them by application areas. If you're used to writing in Python, there are dozens of ready-made libraries here. But if you need maximum simulation speed, there are engines in C++ and Rust with CUDA support.
The catalog contains roughly two dozen categories. Here are the main areas most relevant to developers:
1. Full-Stack Quantum Frameworks
These are the foundational SDKs everyone starts with. They provide high-level APIs for creating quantum circuits, manipulating qubits, and submitting jobs to real hardware or local simulators.
- Qiskit from IBM. Probably the most popular tool, with a massive community built around it.
- Cirq from Google. Tailored for NISQ algorithms (algorithms for noisy intermediate-scale quantum processors of the current generation).
- PennyLane from Xanadu. Great for those who want to combine quantum circuits with machine learning, as the library supports differentiable programming and integrates with PyTorch and TensorFlow.
- CUDA-Q from NVIDIA. A platform for hybrid quantum-classical computing with GPU acceleration.
2. Quantum Circuit Simulators
A full-fledged quantum computer costs millions of dollars and is accessible through a cloud queue, so 95% of development and debugging happens on regular PCs. The list includes simulators for any tech stack:
- Python: Stim (a very fast stabilizer circuit simulator), Dynamiqs (built on JAX with GPU support).
- C++: Qiskit Aer, qsim, Quantum++.
- Rust: QCGPU, RustQIP, Quriust.
- For the browser: Quirk and Quantum JavaScript (Q.js), where you can build circuits visually through drag-and-drop.
3. Quantum Compilers and Optimizers
Quantum gates are noisy, and qubit coherence time is limited to microseconds. The shorter the circuit, the fewer errors. Compilers handle this optimization:
- TKET (and its updated version TKET2 in Rust). Optimizes circuits for the topology of specific chips.
- PyZX. A library that rewrites circuits using ZX-calculus formalism, significantly reducing the number of expensive two-qubit operations.
- Mitiq. A tool for quantum error mitigation without changing the hardware.
4. Quantum Annealing and Optimization
A separate branch of quantum computing focused on solving combinatorial problems: shortest path finding, traveling salesman problems, portfolio optimization. This section includes tools for working with D-Wave machines and classical QUBO problem solvers (like dimod and qubovert).
5. Post-Quantum Cryptography and Security
Shor's algorithm could theoretically break RSA and ECC, so the cryptographic world is rapidly transitioning to post-quantum algorithms. The repository includes links to liboqs, PQClean, and forks of OpenSSH and OpenSSL with quantum-resistant key exchange algorithm support.
How This List Benefits Developers
If you work in backend, data analysis, or mobile development, a logical question arises: why should I even open this repository?
First, it's a convenient entry point. Instead of reading outdated articles, you can use ready-made interactive tutorials like Microsoft's Quantum Katas, or run a browser-based emulator like Quirk. You immediately see live projects that are being actively maintained.
Second, there's a Quantum fun section with practical games. For example, Quandoom (DOOM adapted to run on a quantum simulator) or Entanglion (an open-source board game explaining entanglement principles). This is an excellent way to understand basic superposition and qubit measurement concepts without poring over heavy linear algebra textbooks.
Third, the repository authors maintain an Abandoned projects section. Projects with no commits for over two years end up there. This helps avoid wasting time on dead libraries and provides ideas for open-source contributions: some older repositories have solid architecture but need dependency updates.
Where to Start
If you want to get hands-on with quantum software, I recommend the following path:
- Play with Quirk in your browser. Within a couple of minutes, you'll understand how Hadamard gates put a qubit into superposition and how quantum entanglement works.
- Install Qiskit or PennyLane via pip, create a simple random number generation circuit (QRNG), and run it on a local simulator.
- Check out the Unitary Fund grant program (link is right at the top of the README). The foundation regularly awards $4,000 grants for developing quantum open-source software. If you can write performant code in C++, Rust, or Python, your skills will definitely be useful there.
The repository awesome-quantum-software is worth bookmarking for anyone wanting to stay current with technologies at the intersection of physics and programming. The quantum industry is gradually transitioning from purely academic to applied development, and open-source software plays a key role in this shift.
Related projects