Skip to main content

LAP Technologies Python SDK for the QPU-1 quantum processor — 170+ algorithms, full gate set with auto-decomposition. ECC Shor now uses Cuccaro RCA adder (~100x fewer gates).

Project description

lapq — LAP Technologies SDK for QPU-1

PyPI version Python versions License: MIT

lapq is a powerful Python SDK for the QPU-1 quantum processor, designed for both beginners and experts. It features a library of 170+ quantum algorithms across 12 categories and an automatic gate decomposition engine that handles all the math for you.

Made by SK Mahammad Saad Amin | LAP Technologies


🔑 API Access

To use this library, you need a QPU-1 API key.

Get your key here: https://qpu-1.lovable.app/api-access


📦 Installation

pip install lapq

🚀 Quick Start

Basic Usage

from lapq import QPU1

# Initialize client
qpu = QPU1("your_api_key_here")

# Run a Bell State circuit
result = qpu.circuit(2).h(0).cnot(0, 1).run()
print(f"Result: {result.bits}")  # e.g. "00" or "11"

Three Levels of Access

1. High-Level Algorithms (150+ ready-to-run)

from lapq.algorithms import bell_state, grover, vqe_molecular, shors_factorization

# Bell state
result = bell_state(qpu).run()

# Grover's search for state |5⟩ on 3 qubits
result = grover(qpu, n=3, marked=[5]).run()
print(result.bits)  # "101"

# VQE molecular simulation
result = vqe_molecular(qpu, n_qubits=4).run()

2. Mid-Level Circuit Builder (Fluent API)

result = qpu.circuit(3).h(0).crx(0, 1, 0.5).cswap(0, 1, 2).ccz(0, 1, 2).run()

3. Low-Level Raw Access (Qreg / Qiskit / OpenQASM)

# Raw Qreg
qpu.run_qreg("q = Qreg(2)\nq.H(0)\nq.CNOT(0,1)\nprint(q.measure())")

# Qiskit
qpu.run_qiskit("""
from qiskit import QuantumCircuit
qc = QuantumCircuit(2)
qc.h(0); qc.cx(0, 1); qc.measure_all()
""")

# OpenQASM
qpu.run_openqasm("""
OPENQASM 2.0;
include "qelib1.inc";
qreg q[2]; creg c[2];
h q[0]; cx q[0],q[1];
measure q -> c;
""")

🛠 Features

170+ Quantum Algorithms

Category Examples
Search & Optimization Grover, QAOA MaxCut, Amplitude Amplification, TSP
Chemistry & Simulation VQE, QPE, Trotter-Suzuki, Hubbard Model
Machine Learning QNN, QSVM, QGAN, Quantum Autoencoder
Cryptography BB84, E91, Shor's Factorization, Quantum Money
Oracle & Boolean Deutsch-Jozsa, Bernstein-Vazirani, Simon's
Transforms & Arithmetic QFT, Adder, Multiplier, Comparator, GCD
States & Communication Bell, GHZ, W, Teleportation, Superdense
Quantum Walks Discrete, Continuous, Coined, Szegedy
Benchmarking RB, XEB, Quantum Volume, Mirror
Dynamics & Lattice Heisenberg, Ising, XY Model, Floquet
ECC Shor Shor's for Elliptic Curve Cryptography (P-256, secp256k1)
Miscellaneous HHL, VQLS, Monte Carlo, Error Correction

Auto Gate Decomposition

Use high-level gates like CZ, CSWAP, CCZ, RXX, RYY, RZZ, ECR, and more — they are automatically decomposed into QPU-1 native primitives (H, X, Y, Z, S, T, Rx, Ry, Rz, CNOT, CCNOT, SWAP) with minimal CNOT count.

Batch Execution

results = qpu.batch_fast([
    qpu.circuit(2).h(0).cnot(0, 1),
    qpu.circuit(3).ghz(),
    qpu.circuit(4).qft(),
])
for r in results:
    print(r.bits)

📊 Circuit Inspection

Generate and inspect circuits without an API key:

from lapq.circuit import Circuit

c = Circuit(3, client=None)
c.h(0).cnot(0, 1).cnot(1, 2)
print(c.to_qreg())   # View Qreg source code
print(c.gate_count()) # Gate count
c.draw()              # Pretty-print circuit

📄 License

Distributed under the MIT License. See LICENSE for more information.


🔗 Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lapq-1.0.6.1.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lapq-1.0.6.1-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file lapq-1.0.6.1.tar.gz.

File metadata

  • Download URL: lapq-1.0.6.1.tar.gz
  • Upload date:
  • Size: 53.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for lapq-1.0.6.1.tar.gz
Algorithm Hash digest
SHA256 d86183a8a244a2134a78bd388801d900b73800e07ec87ee258f28a07a6224609
MD5 95f07506451f555f5cdab1c9027b74b5
BLAKE2b-256 b132dd49af1ed7647274463e4f5644c8ba05b2e9feacc16d6c200952f40b898b

See more details on using hashes here.

File details

Details for the file lapq-1.0.6.1-py3-none-any.whl.

File metadata

  • Download URL: lapq-1.0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 59.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for lapq-1.0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17503bee686e80fd63dd02941ce737ae62f5ec936eafe592096c43fb00fd1b85
MD5 56077619a533c6d346a205204c554bbd
BLAKE2b-256 0e8b2c44cd74ff5f000addaf4292e3a52b6199cb660fbf49eef9fc3e1c3cbf99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page