Skip to main content

QuDET

Quantum Data Engineering Toolkit

A modular Python framework for building hybrid classical–quantum data pipelines.

PyPI version Python versions License


Overview

QuDET bridges the gap between classical data engineering and quantum computing. It provides a production-ready, modular framework that lets AI engineers and researchers integrate quantum algorithms into data pipelines without deep quantum physics expertise.

QuDET follows scikit-learn conventions (fit / transform / predict) so you can drop quantum components into existing ML workflows with minimal friction.

Why QuDET?

  • Practical quantum integration: Quantum components solve real problems (kernel methods, encoding, anomaly detection) rather than existing for novelty.
  • Familiar API: scikit-learn compatible interfaces mean minimal learning curve.
  • Modular architecture: Use only what you need. Each module works independently.
  • Production-ready: Input validation, proper error handling, logging, and type hints throughout.
  • Simulator-first: Works out of the box with Qiskit Aer. Optional IBM Quantum hardware support.

Architecture

QuDET is organized into six specialized layers:

Module Purpose Key Classes
Connectors Data ingestion & I/O QuantumDataLoader, QuantumParquetLoader, QuantumSQLLoader
Transforms Feature engineering QuantumPCA, FeatureScaler, QuantumNormalizer, CoresetReducer
Encoders Classical to Quantum AngleEncoder, AmplitudeEncoder, IQPEncoder, RotationEncoder
Analytics Quantum ML models QuantumSVC, QuantumKernelRegressor, QuantumKMeans
Compute Execution layer BackendManager, CircuitOptimizer, QuantumErrorMitigation
Governance Safety & operations QuantumDriftDetector, ResourceEstimator, AuditLogger

Installation

pip install qudet

Optional Dependencies

# SQL database connectors
pip install "qudet[sql]"

# Encryption and security features
pip install "qudet[crypto]"

# Distributed computing with Dask
pip install "qudet[distributed]"

# IBM Quantum hardware access
pip install "qudet[ibm]"

# Everything (including dev tools)
pip install "qudet[all]"

Testing the installation

Open a Python prompt and run this minimal code to verify QuDET is installed correctly:

import numpy as np
from qudet.encoders import AngleEncoder

# Create dummy data and encode it
data = np.array([0.5, 0.8])
encoder = AngleEncoder(n_qubits=2)
circuit = encoder.encode(data)

print(f"QuDET installed successfully! Generated a {circuit.num_qubits}-qubit circuit.")

Examples & Tutorials

Check out the examples/ directory in this repository! We provide a highly informative Kickstart Guide (kickstart_guide.ipynb) that walks you through an end-to-end real-world workflow using all 6 QuDET modules on a wine quality dataset.

Development Setup

git clone https://github.com/satwiksps/qudet-dev.git
cd qudet-dev
python -m venv .venv

# Linux/macOS
source .venv/bin/activate

# Windows
.venv\Scripts\activate

pip install -e ".[dev]"

Feedback and Contributions

We welcome any feedback on how QuDET is working and are happy to receive bug reports, pull requests, and other feedback:

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Write tests for your changes
  4. Ensure all tests pass (pytest)
  5. Format code (black . and ruff check .)
  6. Submit a pull request

Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=qudet --cov-report=term-missing

# Run specific module tests
pytest tests/test_encoders/ -v

# Run only fast tests
pytest -m "not slow"

License

Distributed under the Apache 2.0 License. See LICENSE for details.

Release files for qudet 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qudet 1.0.0
File Size Uploaded
qudet-1.0.0.tar.gz 98.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qudet 1.0.0
File Interpreter ABI Platform
qudet-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 222.6 kB

Release files / qudet-1.0.0.tar.gz

Download URL qudet-1.0.0.tar.gz
Size 98.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7baf919caf2682ed947a11100d733451b8bc6ac9dc3fa7cf6ff264a94c80a347
BLAKE2b-256 checksum
How to use checksums
3507bbc4f393a895f860683f50639cabd7da492eac4cca35b20f759ccdcc8e9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release files / qudet-1.0.0-py3-none-any.whl

Download URL qudet-1.0.0-py3-none-any.whl
Size 124.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbcadde3bc35d6cbc4bf66a58e46f390010529f1748a735f3c93b5b5b232b8b4
BLAKE2b-256 checksum
How to use checksums
6081aacd7cb1f1125e451877a72b791c439991c6a4751d6284c7ecc71742bca5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page