QuDET
Quantum Data Engineering Toolkit
A modular Python framework for building hybrid classical–quantum data pipelines.
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:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Write tests for your changes
- Ensure all tests pass (
pytest) - Format code (
black .andruff check .) - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| qudet-1.0.0.tar.gz | 98.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|