Skip to main content

QpiAI Quantum SDK

A comprehensive quantum computing framework with modular implementations, built for researchers, educators, and quantum application developers.

PyPI version Python Versions License

Architecture

The following diagram illustrates how QpiAI's products work together. The QpiAI Quantum SDK can execute circuits locally via built-in simulators, or submit jobs remotely to QpiAI QCloud for access to high-performance cloud simulators and QPUs.

Architecture Diagram

Show Mermaid Source Code
flowchart LR
    %% 1. Client Layer
    subgraph Client ["Client"]
        Notebooks["Jupyter Notebooks/
Python Program"]
        Agents["AI Agents"]
    end

    %% 2. SDK Layer
    SDK["QpiAI SDK"]

    %% 3. Execution Branches
    subgraph Local ["Local Execution"]
        LocalSim["Local Simulator"]
    end

    %% Remote Execution Layer
    subgraph Remote ["QpiAI QCloud"]
        CloudSims["QCloud Simulators"]
        QPU{{"QPU"}}
    end

    %% The Pipeline Flow
    Notebooks --> SDK
    Agents --> SDK
    SDK -->|Local Run| LocalSim
    SDK -->|Remote Job| Remote

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 (educational implementation for small N)
  • 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
  • Iterative Amplitude Estimation: Maximum-likelihood amplitude estimation for Monte Carlo-style workflows (canonical QPE-based variant planned)

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.10 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, target="101")
circuit = grover.build_circuit()

# 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

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

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/}}
}

Copyright © 2026 QpiAI. All rights reserved.

Download files

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

Source Distribution

qpiai_quantum-0.3.0.tar.gz (165.6 kB view details)

Uploaded Source

Built Distribution

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

qpiai_quantum-0.3.0-py3-none-any.whl (205.2 kB view details)

Uploaded Python 3

File details

Details for the file qpiai_quantum-0.3.0.tar.gz.

File metadata

  • Download URL: qpiai_quantum-0.3.0.tar.gz
  • Upload date:
  • Size: 165.6 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

Hashes for qpiai_quantum-0.3.0.tar.gz
Algorithm Hash digest
SHA256 05f984ddfa9adc8d269bee17aeea03f8d0080f27ba698cb4e1d66ebd28785378
MD5 63344d82889464a456df45ace841d1ac
BLAKE2b-256 e855f774b4eca418d3c2ae6a5320386a083cf6602be63db97001713c6e825488

See more details on using hashes here.

File details

Details for the file qpiai_quantum-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: qpiai_quantum-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 205.2 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

Hashes for qpiai_quantum-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0af9350dc5cb38dd7c46ea798a0e9e46c7edce9432577c71ced0dedd5b2c9bef
MD5 0df4da96274d265e4c9e278294c731f3
BLAKE2b-256 dabf25a902d10642df63576d87359c63e59514161dc9a88547fd6fdd934ef230

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 Sentry Error logging StatusPage Status page