Skip to main content

hybridlane banner

hybridlane

hybridlane is a Python library for designing and manipulating hybrid continuous-variable (CV) and discrete-variable (DV) quantum circuits within the PennyLane ecosystem. It provides a frontend for expressing hybrid quantum algorithms, implementing the concepts from the paper Y. Liu et al, 2026 (PRX Quantum 7, 010201).

PyPI - Version Docs PyPI Downloads Build Status License

🚀 Features

  • ⚛️ Heterogeneous quantum circuits: Mix qubits and qumodes in the same circuit, and use our symbolic hybrid gate library to scalably build quantum algorithms.

  • 🤝 PennyLane compatibility: Utilize existing PennyLane gates, write compilation passes as transforms, build custom hybrid backends for hardware, and perform resource estimation across mixed-variable systems.

  • 💻 Classical simulation: Dispatch to our Jax-compatible simulator for accelerated CPU and GPU simulation and take gradients using automatic differentiation, or use Bosonic Qiskit.

  • 💾 OpenQASM-based IR: Leverage our intermediate representation extending OpenQASM to reduce the effort of building new hybrid backends and to facilitate interoperability with other quantum software.


⚙️ Installation

Install the package from PyPI:

pip install hybridlane

For more details on installation and optional dependencies, see the installation guide.


⚡ Quick Start

import numpy as np
import pennylane as qp
import hybridlane as hl

# Create a simulator with a custom Fock truncation
dev = qp.device("default.hybrid", fock_level=8)


# Define a hybrid circuit with familiar PennyLane syntax
@qp.qnode(dev)
def circuit(n):
    for j in range(n):
        qp.X(0)  # Wire `0` is inferred to be a qubit
        # Use hybrid CV-DV gates from hybridlane
        hl.JC(np.pi / (2 * np.sqrt(j + 1)), np.pi / 2, [0, "m"])

    # Mix qubit and qumode observables
    return hl.expval(hl.N("m") @ qp.Z(0))


# Execute the circuit
expval = circuit(5)
# array(5.)

# Perform wire type checking
res = hl.type_check(circuit)(5)
print(res.wire_types)
# OrderedDict({0: Qubit(), 'm': Qumode()})

For more examples, explore the documentation.


🗺️ Roadmap

hybridlane is under active development. Here are some of our future goals:

  • Broader measurement support: Including mid-circuit measurements and broader measurement capabilities.
  • Algorithms and transformations: Implementing popular algorithms and circuit transformations from research papers, including dynamic qumode allocation.
  • Symbolic Hamiltonians: Introducing support for symbolic bosonic Hamiltonians.
  • Noisy simulation: Supporting noisy quantum simulations, possibly with Dynamiqs.
  • Catalyst/QJIT support: Integrating with PennyLane's qjit capabilities by developing a custom MLIR dialect.
  • Community-driven features: Incorporating features requested by the community during usage.

Citing hybridlane

If you find hybridlane useful in your research, you can cite our paper:

@misc{furches2026hybridlane,
      title={Hybridlane: A Software Development Kit for Hybrid Continuous-Discrete Variable Quantum Computing},
      author={Jim Furches and Timothy J. Stavenger and Carlos Ortiz Marrero},
      year={2026},
      eprint={2603.10919},
      archivePrefix={arXiv},
      primaryClass={quant-ph},
      url={https://arxiv.org/abs/2603.10919},
}

📜 License

This project is licensed under the BSD 2-Clause License - see the LICENSE.txt file for details.


🙏 Acknowledgements

This project was supported by the U.S. Department of Energy, Office of Science, Advanced Scientific Computing Research program under contract number DE-FOA-0003265.

Metadata

Release files for hybridlane 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hybridlane 0.8.0
File Size Uploaded Provenance Actions
hybridlane-0.8.0.tar.gz 111.9 kB Without provenance Details for hybridlane-0.8.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hybridlane 0.8.0
File Interpreter ABI Platform Actions
hybridlane-0.8.0-py3-none-any.whl Python 3 none any Details for hybridlane-0.8.0-py3-none-any.whl

Total release size: 269.5 kB

Release files / hybridlane-0.8.0.tar.gz

Download URL hybridlane-0.8.0.tar.gz
Size 111.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c2aca6775e61d144e27654dbf0d4a9ea695e30fef7717409d036a27bb9c205c7
BLAKE2b-256 checksum
How to use checksums
1ec151632a0e57c8971e260a6a719f0b20cb33ebcff8e1827b4686c503720442
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / hybridlane-0.8.0-py3-none-any.whl

Download URL hybridlane-0.8.0-py3-none-any.whl
Size 157.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d291acd4e490fdc130018a2f4cfd0ee8e92a1ccdba569b245c1ee6f80fd89fb
BLAKE2b-256 checksum
How to use checksums
b8c9cc435640b660797bdfc697ecef015c828805e8d8a9b75f0efc648f040d19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for hybridlane 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page