  Python is a popular programming language known for its flexibility,
usability, readability, and focus on developer productivity. The quantum
software community has adopted Python on a number of large-scale efforts due to
these characteristics, as well as the remote nature of near-term quantum
processors. The use of Python has enabled quick prototyping for quantum code
that directly benefits pertinent research and development efforts in quantum
scientific computing. However, this rapid prototyping ability comes at the cost
of future performant integration for tightly-coupled CPU-QPU architectures with
fast-feedback. Here we present a language extension to Python that enables
heterogeneous quantum-classical computing via a robust C++ infrastructure for
quantum just-in-time (QJIT) compilation. Our work builds off the QCOR C++
language extension and compiler infrastructure to enable a single-source,
quantum hardware-agnostic approach to quantum-classical computing that retains
the performance required for tightly coupled CPU-QPU compute models. We detail
this Pythonic extension, its programming model and underlying software
architecture, and provide a robust set of examples to demonstrate the utility
of our approach.
