Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.3.0 instead.

QpiAI Quantum SDK

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

Python Version PyPI version 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.

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
  • 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

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.1.37.tar.gz (120.3 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.1.37-py3-none-any.whl (148.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qpiai_quantum-0.1.37.tar.gz
  • Upload date:
  • Size: 120.3 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.1.37.tar.gz
Algorithm Hash digest
SHA256 f7daba8531928cc81d0980918dcde1517c62826efd4b28d06396c9881464aeb7
MD5 3df5a26cf18457bba05f1cd2fc0ebfa8
BLAKE2b-256 e222261d2204d6f16171427a2a442e1f85a1c5ca809b3ab15f5133eda6221212

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qpiai_quantum-0.1.37-py3-none-any.whl
  • Upload date:
  • Size: 148.7 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.1.37-py3-none-any.whl
Algorithm Hash digest
SHA256 27e8b18e224cb1e69be4bb2cc453acf29e00b5f1ca60236cf9021abc648ba0d6
MD5 5d93d77f3d05eda12a878d469e88c3f2
BLAKE2b-256 025c95fefd8380aae237ee5ec95d20f9b73a456c7d1041c91c9f00d8a24ff8d2

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