A comprehensive Python-based quantum computing framework providing modular implementations of quantum algorithms and optimization solvers
Project description
QpiAI Quantum SDK
A comprehensive quantum computing framework with modular implementations, built for researchers, educators, and quantum application developers.
Features
Core Quantum Computing
- Circuit Building: Intuitive quantum circuit construction with support for quantum and classical registers
- Gate Operations: Comprehensive set of quantum gates including:
- Single-qubit: H, X, Y, Z, S, S†, T, T†, SX, ID
- Rotation: RX, RY, RZ, P (phase)
- Two-qubit: CX (CNOT), CY, CZ, SWAP, iSWAP, CP, RZZ
- Multi-qubit: CCX (Toffoli), CSWAP (Fredkin)
- Measurement: Flexible measurement operations with classical register support
- Simulation Backends: Statevector simulator, Density matrix simulator, and Tensor network simulator
- QPU Access: Run circuits on QpiAI Indus quantum processing unit
- Circuit Utilities: Circuit depth, size, gate statistics (
list_gates), composition (compose), inverse, and barrier operations
Quantum Algorithms
- Grover's Search: Amplitude amplification for unstructured search
- Shor's Algorithm: Integer factorization
- Quantum Fourier Transform (QFT): Core subroutine for many quantum algorithms
- Quantum Phase Estimation (QPE): Eigenvalue estimation
- Simon's Algorithm: Finding hidden bit strings
- Bernstein-Vazirani: Determining hidden linear functions
- Deutsch-Jozsa: Distinguishing constant from balanced functions
- Quantum Random Number Generator (QRNG): True quantum randomness
- Amplitude Estimation: Quantum speedup for Monte Carlo estimation (standard and iterative variants)
Quantum Information & States
- Statevector: Full quantum state representation and manipulation
- Density Matrix: Mixed state representation with comprehensive operations
- Entangled State Generation: Bell states, GHZ states, W states, and Cluster states
Visualization Tools
- Circuit Diagrams: Matplotlib-based circuit rendering with light/dark themes and math-text support
- Plotly Visualizer: Interactive circuit and result visualization
- Bloch Sphere: Interactive 3D Bloch sphere visualization (Plotly-based)
- Histogram Plots: Measurement outcome visualization
- State Vector Plots: Amplitude and phase visualization
Backend & Job Management
- Direct Execution: Run circuits with configurable shots, device, and simulation method
- JobManager: Unified interface for job submission, status tracking, cancellation, and history
- Job Result Handling: Structured results with counts, statevectors, and density matrices
Authentication & Cloud
- QpiAI Cloud Authentication: Secure access to QpiAI cloud platform and QPU resources via
QpiAIQuantumAuth
Installation
PyPI Installation (Recommended)
The QpiAI Quantum SDK is available as an open-source package. Install directly from PyPI:
pip install qpiai-quantum
Verify Installation
python -c 'import qpiai_quantum; print(f"QpiAI Quantum SDK v{qpiai_quantum.__version__} installed successfully")'
Requirements
- Python 3.8 or higher
- Dependencies are automatically installed with pip
Quick Start
Basic Circuit Example
from qpiai_quantum import Circuit
# Create a quantum circuit with 2 qubits and 2 classical bits
circuit = Circuit(2, 2)
# Apply quantum gates
circuit.h(0) # Hadamard gate on qubit 0
circuit.cx(0, 1) # CNOT gate (control: qubit 0, target: qubit 1)
# Measure qubits
circuit.measure([0, 1], [0, 1])
# Visualize the circuit
circuit.show()
print("Bell state circuit created successfully!")
Authentication & API Key Setup
Before running circuits on any backend (including the local simulator), you need to authenticate with your API key:
from qpiai_quantum import QpiAIQuantumAuth
# Login with your API key (obtain from https://qcloud.qpiai.tech/)
QpiAIQuantumAuth.login(api_key="your_api_key_here")
# Verify your API key
QpiAIQuantumAuth.verify_api_key()
# View available remote compute resources (Note: this does not list the local simulator)
QpiAIQuantumAuth.list_compute_resources()
Alternatively, set your API key in a qcloud.env file in your project root:
API_KEY="your_api_key_here"
Running a Circuit on QpiAI Simulators
from qpiai_quantum import Circuit
# Create a circuit
circuit = Circuit(2, 2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure([0, 1], [0, 1])
# Execute on the statevector simulator
job_result = circuit.run(shots=10000, experiment_name="Bell State", device_name="QpiAI-QSV-Local")
# Get results
counts = job_result.get_counts()
print(f"Measurement results: {counts}")
Quantum Algorithms
from qpiai_quantum import GroverSearch, QFT, ShorsAlgorithm
# Grover's search
grover = GroverSearch(num_qubits=3, oracle_type="custom")
# Quantum Fourier Transform
qft = QFT(num_qubits=4)
# Shor's algorithm for factorization
shor = ShorsAlgorithm(N=15)
State Preparation
from qpiai_quantum import BellStateGenerator, GHZStateGenerator, WStateGenerator, ClusterStateGenerator
# Generate Bell state (maximally entangled 2-qubit state)
bell_gen = BellStateGenerator(num_qubits=2)
bell_circuit = bell_gen.generate_state()
# Generate GHZ state (n-qubit entangled state)
ghz_gen = GHZStateGenerator(num_qubits=3)
ghz_circuit = ghz_gen.generate_state()
# Generate W state (n-qubit entangled state)
w_gen = WStateGenerator(num_qubits=3)
w_circuit = w_gen.generate_state()
# Generate Cluster state (graph-state entanglement)
cluster_gen = ClusterStateGenerator(num_qubits=4)
cluster_circuit = cluster_gen.generate_state()
Quantum Information
from qpiai_quantum import Statevector, DensityMatrix
# Create and inspect a statevector
sv = Statevector([1, 0]) # |0⟩ state
# Create a density matrix
dm = DensityMatrix([[1, 0], [0, 0]]) # |0⟩⟨0|
Documentation & Tutorials
- Tutorial Notebooks: Explore comprehensive examples in the
sdk_notebooks/directory. - Getting Started Guide: Learn the basics of quantum circuit construction
- Documentation: Complete SDK documentation at https://docs.qcloud.qpiai.tech/
Use Cases
Research
Experiment with quantum logic gates and circuits, develop new quantum computing approaches, and prototype novel quantum applications.
Education
Learn quantum computing concepts with practical, hands-on implementations. Perfect for students, educators, and quantum computing enthusiasts.
Development
Build quantum applications and integrate quantum computing capabilities into your projects with a clean, intuitive API.
Contributing
We welcome contributions from the community! Whether it's bug reports, feature requests, or questions, we'd love to hear from you.
Please see CONTRIBUTING.md for guidelines on:
- Reporting bugs and issues
- Requesting new features
- Contributing code
- Asking questions and getting support
- Code of conduct
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Links & Resources
- PyPI Package: https://pypi.org/project/qpiai-quantum/
- Documentation: https://docs.qcloud.qpiai.tech/
- QpiAI QCloud Platform: https://qcloud.qpiai.tech/
- Support Email: info@qpiai.tech
Citation
If you use the QpiAI Quantum SDK in your research, please cite it as follows:
@software{qpiai_quantum_sdk,
author = {{QpiAI}},
title = {QpiAI Quantum SDK},
year = {2026},
url = {https://github.com/qpiai/quantum-sdk},
note = {Company Website: \url{https://www.qpiai.tech/}}
}
Acknowledgments
Built with modern Python quantum computing libraries and optimized for performance and ease of use.
Copyright © 2026 QpiAI. All rights reserved.
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 qpiai_quantum-0.1.35.tar.gz.
File metadata
- Download URL: qpiai_quantum-0.1.35.tar.gz
- Upload date:
- Size: 119.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
669c0f517b82b3841228652387479e90484054990a5c2c61ee4f28d79b80b7c3
|
|
| MD5 |
ee8a3de0f09f389418510a4b6f47bed1
|
|
| BLAKE2b-256 |
1817f2f83826103a38e53088c331231cf2678b0ca904b3b7cf892947acc251ba
|
File details
Details for the file qpiai_quantum-0.1.35-py3-none-any.whl.
File metadata
- Download URL: qpiai_quantum-0.1.35-py3-none-any.whl
- Upload date:
- Size: 148.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bee12b891aa9c99a4f5f6c2ca965d1bb4e62b4f6439359d767aba0cbfb97cc21
|
|
| MD5 |
efa74d4208815bff1016bceaf0490cfb
|
|
| BLAKE2b-256 |
ea6af25a3ed077087ee39a432e0f904f8d3b9b0258801a97bb8e1cec409be232
|