Jump to ratings and reviews
Rate this book

Building Quantum Software with Python: A developer's guide

Rate this book
A developer-centric look at quantum computing.

The demand for developers who can implement solutions with quantum resources is growing larger every day. Building Quantum Software with Python gives you the foundation you need to build the software for the quantum age, and apply quantum computing to real-world business and research problems.

In Building Quantum Software with Python you will learn

• Quantum states, gates, and circuits
• A practical introduction to quantum algorithms
• Running quantum software on classical simulators and quantum hardware
• Quantum search, phase estimation, and quantum counting
• Quantum solutions to optimization problems

Building Quantum Software with Python lays out the math and programming techniques you’ll need to apply quantum solutions to real challenges like sampling from classically intractable probability distributions and large-scale optimization problems. You will learn which quantum algorithms and patterns apply to different types of problems and how to build your first quantum applications. All the simulator code you write can be easily converted to run on real quantum hardware.

Foreword by Heather Higgins.

About the technology

Large-scale optimization problems, complex financial and scientific simulations, cryptographic calculations, and certain types of machine learning require unreasonably long times to run on classical computers. Quantum computers can perform some operations like these almost instantaneously! Don’t wait to get started. This book will prime you on quantum applications, implementations, and hybrid quantum-classic designs so you’ll be ready to join the quantum revolution.

About the book

Building Quantum Software with Python teaches you how to build working applications that run on a simulator or real quantum hardware. By relating QC to classical computing concepts you already know, this book’s intuitive visualizations and code implementations make quantum computing easy to grasp even if you don’t have a background in advanced math. As you go, you’ll discover and implement quantum techniques for truly random sampling, optimization solutions, unstructured search, and more—all using easy-to-follow Python code.

What's inside

• Hype-free discussions of when, where, and why QC makes sense
• Solving complex optimization problems
• Quantum search using Grover’s Algorithm
• Fourier transform, phase estimation, and probability distribution sampling

About the reader

For developers who know Python. No advanced math knowledge required.

About the author

Constantin Gonciulea leads the Advanced Technology group at Wells Fargo and has worked in quantum computing since 2018. Charlee Stefanski is a senior software engineer at Wells Fargo, where she leads the development of the internal quantum computing platform.

Table of Contents

Part 1
1 Advantages and challenges of programming quantum computers
2 A first look at quantum The knapsack problem
3 Single-qubit states and gates
4 Quantum state and Beyond one qubit
Part 2
5 Selecting outcomes with quantum oracles
6 Quantum search and probability estimation
7 The quantum Fourier tra

641 pages, Kindle Edition

Published May 13, 2025

5 people are currently reading
4 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
2 (50%)
4 stars
2 (50%)
3 stars
0 (0%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 2 of 2 reviews
453 reviews5 followers
May 28, 2025
Having spent time with both Microsoft’s Q# and IBM’s Qiskit, and after working through a range of quantum computing books, I approached Building Quantum Software with Python: A developer's guide with curiosity but also skepticism. Would a book promising to “build quantum software from scratch” actually deepen my understanding, or just cover old ground? After reading it and trying out the code from the companion GitHub repo, I found it does fill a valuable gap between dense academic texts and framework-bound tutorials.

The authors make it clear they’re writing for software developers and technically inclined professionals who want to grasp quantum computing’s potential without needing a physics PhD. This practical orientation shapes the book throughout. Unlike most resources that focus on a single toolkit, Constantin Gonciulea and Charlee Stefanski take a platform-agnostic approach. They guide readers through building a minimalist, Qiskit-like simulator (Hume) in Python, helping you internalize core quantum concepts before relying on any specific vendor API.

Key quantum concepts are presented intuitively, with heavy use of visuals: rose charts illustrate outcome probabilities, butterfly diagrams explain gate operations, and flowcharts break down computations from initial state to measurement. For developers familiar with arrays and dataframes, the use of “state tables” makes it easy to map quantum amplitudes and probabilities to familiar constructs. Analogies to classical computing—like drawing a parallel between quantum parallelism and SIMD instructions—are both apt and informative.

The book keeps math requirements minimal without dumbing things down. Appendices provide targeted reviews of complex numbers and linear algebra, while the main chapters emphasize intuition, often through hands-on coding. Early on, readers build a basic quantum simulator in Python, extending it step by step with support for multi-qubit states, gates, circuits, and measurements. The technical accuracy is high - Filip Wojcieszyn, author of Introduction to Quantum Computing with Q# and QDK, did the technical proofreading, and it shows. Everything, including the Jupyter notebooks, works smoothly out of the box. The approach is interactive and constructive: you aren’t just watching code, but actually building the tools yourself.

One of the book’s biggest strengths is its focus on reusable programming patterns. Rather than drowning the reader in syntax, the authors distill quantum programming into three core patterns: sampling from distributions, searching for outcomes, and estimating outcome probabilities. This mindset is valuable for engineers aiming to generalize their knowledge and move easily between frameworks, rather than getting stuck in the peculiarities of Qiskit or Q#. It’s a similar philosophy to Johan Vos’s Quantum Computing in Action, which uses Java's Strange to demystify quantum programming.

If you already have experience with Q# or Qiskit, you’ll find all the standard material—states, gates, measurement, circuits, oracles, QFT, phase estimation, amplitude amplification, Grover’s algorithm—but the book’s emphasis on abstraction and pattern recognition is what sets it apart. Building your own simulator, even if you’re used to Qiskit or Q# backends, will deepen your understanding of amplitude math, gate operations, and measurement. The treatments of amplitude amplification, inversion-by-the-mean, and the QFT are among the clearest I’ve seen.

The value here is less about introducing advanced new algorithms, and more about strengthening your intuition and ability to teach, build abstractions, or port algorithms across platforms. This book is ideal for those who want to grow quantum intuition, not just write code that works on a given SDK. If you want to understand what’s going on under the hood, or even create your own quantum framework, this book gives you a solid foundation.

Compared to other books, Building Quantum Software with Python stands out for its tone and approach. Academic classics like e.g. Nielsen & Chuang’s Quantum Computation and Quantum Information would be a standard for rigor, but aren’t practical for hands-on engineers. O’Reilly’s Programming Quantum Computers: Essential Algorithms and Code Samples is practical uses QCEngine simulator (which we don't get to dive into), while Cassandra Granade and Sarah Kaiser’s Learn Quantum Computing with Python and Q#: A hands-on approach splits its focus (between QuTiP and Q#, losing some depth on general programming patterns and Robert Loredo's Learn Quantum Computing with Python and IBM Quantum: Write your own practical quantum programs with Python is Qiskit focused. Gonciulea and Stefanski hit a sweet spot: hands-on, visual throughout, pattern-driven, and platform-neutral.

Shortcomings? The book does not cover the latest NISQ-era algorithms, variational circuits, nor hardware specific noise mitigation. It’s not intended as a reference on error correction, quantum hardware realities, nor does it explore quantum machine learning or hybrid quantum-classical approaches. The focus is on core patterns and engineering intuition, covering the fundations.

In summary, Building Quantum Software with Python: A developer's guide is a clear, visually rich, and hands-on resource for software engineers ready to move from a "tool user" to a "quantum software engineer". While it won’t reveal new algorithms for those already well-versed in Qiskit and Q#, it will deepen your understanding and clarify the layers between quantum math and practical software.
4 reviews
October 31, 2025
From the book "Gonciulea Constantin, Stefanski Charlee - Building Quantum Software with Python - 2025. pdf", I have learned about the foundational building blocks of quantum computing, including essential concepts, fundamental algorithms and patterns, and how to apply these concepts to run experiments on real quantum computers using Python.
I liked the most that the book uses a conversational tone and multimodal reinforcements (such as engaging visuals and contextual tips) to make learning about quantum computing more accessible and understandable for learners at all levels, including those without a deep understanding of quantum mechanics.
I also appreciate the emphasis on practical applications of quantum computing concepts.
What I liked least is that the book might be too basic for developers with advanced knowledge in quantum technologies, as it was designed to bridge the learning chasm between them and learners at other levels.
Additionally, some sections may require a certain level of prior knowledge in programming and mathematics to fully understand.
I found the sections on fundamental algorithms and patterns particularly interesting and would like to explore more about their real-world applications.
I also found the section on how to apply basic concepts and run experiments on real quantum computers using Python intriguing and would like to learn more about that. To be 100% sure, it would be helpful to factually check some of the experimental results and case studies presented in the book, as their validity could impact the reliability and effectiveness of the practical applications discussed.
I would rate this book a 4 out of 5, as it does an excellent job of making quantum computing more accessible and understandable for learners at all levels while also emphasizing practical applications. However, some sections may require a certain level of prior knowledge in programming and mathematics to fully understand.
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.