LAP Technologies Python SDK for the QPU-1 quantum processor — 170+ algorithms, full gate set with auto-decomposition. v1.0.7: Critical ECC Shor bugfix — compute-copy-uncompute (CCU) Jacobian point addition with dedicated parity ancilla banks; fixes dirty-ancilla contamination that caused u==v measurements on all non-trivial keys.
Project description
lapq — LAP Technologies SDK for QPU-1
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
- QPU-1 Dashboard: https://qpu-1.lovable.app
- API Key Signup: https://qpu-1.lovable.app/api-access
- PyPI: https://pypi.org/project/lapq/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lapq-1.0.7.0.tar.gz.
File metadata
- Download URL: lapq-1.0.7.0.tar.gz
- Upload date:
- Size: 55.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
161a9b831520eaff0727861f13b85721c76c142c1183855b28c1a5a7e3aa34b1
|
|
| MD5 |
ee54027bda3ff1602532d4b7ecbb5f7e
|
|
| BLAKE2b-256 |
ff5e8ec82c413d447f90029ca49cc3b2edd69336515e0b067f932ee76095b397
|
File details
Details for the file lapq-1.0.7.0-py3-none-any.whl.
File metadata
- Download URL: lapq-1.0.7.0-py3-none-any.whl
- Upload date:
- Size: 62.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cac26b0036161d6dba36201ce166781bed911cd672bb6161396ce8ddc1d2f95
|
|
| MD5 |
f600d7f22f063395cfed2f1f73bc8a89
|
|
| BLAKE2b-256 |
8db2f326d26632bca853ca25504f35d75ecfced41d1450fe08861f57dc2e664a
|