catalyst
A JIT compiler for hybrid quantum programs in PennyLane
Catalyst compiles hybrid quantum-classical programs
A PennyLane JIT compiler built on MLIR that compiles quantum and classical workflows to machine binaries, with advanced control flow and end-to-end differentiability.
What Catalyst provides
Catalyst is an experimental package that enables just-in-time compilation of hybrid quantum-classical programs. The README states it is under heavy development and invites suggestions on the API and use cases. The listed features include compiling the entire quantum-classical workflow, including any optimization loops, and using Catalyst alongside PennyLane directly from Python by decorating quantum code and hybrid functions with the qjit decorator, which the README says leads to performance improvements over standard Python execution. It offers advanced control flow that supports both quantum and classical instructions, and infrastructure for quantum and classical compilation so circuits containing control flow can be compiled. The package is built to be end-to-end differentiable. It supports PennyLane-Lightning high-performance simulators and Amazon Braket devices, with additional hardware support including QPUs planned. The README organizes the components into a Catalyst Compiler built using MLIR with a quantum dialect, and a Catalyst Runtime that is a C++ runtime with multiple-device support based on QIR. A Python frontend for PennyLane and JAX provides the qjit decorator and functions for Catalyst-compatible control flow, gradient, and mid-circuit measurement. The project is positioned for researchers who want to move beyond interpreted Python execution for quantum workloads. By compiling instead of interpreting, Catalyst aims to reduce the overhead of repeated quantum-classical loops, and the README presents the qjit decorator as the main entry point for users who already write PennyLane code and want that code to run faster.
Installation and platforms
The README says Catalyst is officially supported on Linux with x86_64 and aarch64 architectures and macOS with arm64, and that pre-built binaries are distributed through the Python Package Index for Python 3.12 and higher. Installation is a single pip command for the pennylane-catalyst package. The README notes Catalyst no longer supports macOS with x86_64 architecture after version 0.11.0, which includes Macs running on Intel processors, and it gives a specific set of pinned versions for users who still need that combination, covering Catalyst, PennyLane, PennyLane-Lightning, and Jax. For contributors or those developing against the runtime or compiler, the README links to a minimal building-from-source guide. To start using the compiler from Python, the project points to a quick start guide plus examples and tutorials in the documentation, and it also points to the PennyLane website for an introduction to quantum computing and quantum machine learning. The README frames the library as experimental, so the supported platforms and Python versions reflect a moving target, and the documentation is the place to confirm the current requirements before installing. The pip install path is the recommended route for most users rather than building from source. The README points to the documentation for the exact supported versions and for the building-from-source guide, so a user should confirm their platform and Python version there before installing, since the project notes its support matrix can change as the experimental code evolves.
Roadmap and community
The README lays out a roadmap across three areas. For the frontend, the PennyLane frontend will likely be upstreamed into PennyLane proper to provide native JIT functionality, while the Catalyst compiler and runtime remain part of the Catalyst project, and the team invites interest in additional frontends. For the compiler, the plan is to keep building the stack and add quantum compilation routines, including an API for providing or writing Catalyst-compatible compilation routines, with improvements to autodifferentiation support and added classical autodiff, additional quantum gradients, and quantum-aware optimization methods. For the runtime, the plan is to add support for more devices including quantum hardware, and to build support for heterogeneous execution, with an invitation to connect a quantum device. The project welcomes contributions through forking and pull requests, and it encourages bug reports and feature suggestions. Support runs through the GitHub source code and issue tracker, plus a PennyLane discussion forum. The README states Catalyst is free and open source under the Apache License Version 2.0, and it lists the libraries it uses, including JAX, TensorFlow, OpenXLA, LLVM and MLIR, EnzymeAD, pybind11, nanobind, and others. A Journal of Open Source Software paper is cited for research use, with the author list and DOI provided in the README.
Editorial conclusion
Catalyst is free and open source under the Apache License Version 2.0, and the repository's most recent commit was on 2026-08-26. It is hosted at github.com/PennyLaneAI/catalyst.
Community notes