Skip to main content

Quantum Data Engineering Toolkit — A modular Python framework for quantum-enhanced data pipelines.

Project description

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.

Project details


Download files

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

Source Distribution

qudet-1.0.0.tar.gz (98.6 kB view details)

Uploaded Source

Built Distribution

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

qudet-1.0.0-py3-none-any.whl (124.0 kB view details)

Uploaded Python 3

File details

Details for the file qudet-1.0.0.tar.gz.

File metadata

  • Download URL: qudet-1.0.0.tar.gz
  • Upload date:
  • Size: 98.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for qudet-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7baf919caf2682ed947a11100d733451b8bc6ac9dc3fa7cf6ff264a94c80a347
MD5 e56438e672f4db4d09eb9b56c2c8e461
BLAKE2b-256 3507bbc4f393a895f860683f50639cabd7da492eac4cca35b20f759ccdcc8e9c

See more details on using hashes here.

File details

Details for the file qudet-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: qudet-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 124.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for qudet-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbcadde3bc35d6cbc4bf66a58e46f390010529f1748a735f3c93b5b5b232b8b4
MD5 5123137f175eb34f59bebecb5090808e
BLAKE2b-256 6081aacd7cb1f1125e451877a72b791c439991c6a4751d6284c7ecc71742bca5

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