A framework for running quantum algorithms, with optional Kafka streaming, Spark processing, and Airflow orchestration. Currently implements the Variational Quantum Eigensolver (VQE) for ground-state energy estimation. Built as an engineering thesis project.
pip install quantum-pipeline
quantum-pipeline -f molecules.json -b sto3g --max-iterations 100 --optimizer L-BFGS-BOr with Docker:
docker pull straightchlorine/quantum-pipeline:cpu
docker run --rm straightchlorine/quantum-pipeline:cpu -f data/molecules.json -b sto3g --max-iterations 100See the installation guide for detailed setup, including GPU acceleration and full platform deployment.
Quantum Computing - VQE execution with multiple optimizers (L-BFGS-B, COBYLA, SLSQP, and others), configurable ansatz circuits (EfficientSU2, RealAmplitudes, ExcitationPreserving), parameter initialization strategies (random or Hartree-Fock based), multiple basis sets (sto-3g, 6-31g, cc-pVDZ), and GPU acceleration via CUDA. Learn more
Data Platform - Real-time Kafka streaming with Avro serialization, Spark-based ML feature engineering, Airflow workflow orchestration. Architecture overview
ML Pipeline - Convergence prediction and energy estimation models trained on VQE experiment data. Includes preprocessing, experiment tracking, and a dedicated Docker Compose stack (just up / just down).
Monitoring - Prometheus metrics export, Grafana dashboards, resource tracking. Configurable via environment variables (MONITORING_ENABLED, PUSHGATEWAY_URL, MONITORING_INTERVAL, MONITORING_EXPORT_FORMAT) or CLI flags. Monitoring setup
Deployment - Docker images for CPU and GPU (quantum-pipeline:cpu, quantum-pipeline:gpu). The GPU image on Docker Hub is built for Ampere (RTX 30xx) - rebuild with CUDA_ARCH=6.1 for Pascal or 8.9 for Ada Lovelace. Sample molecule files are included in the image under data/. Multi-service Docker Compose stack for the full platform. Deployment guide
from quantum_pipeline.runners.vqe_runner import VQERunner
runner = VQERunner(
filepath='data/molecules.json',
basis_set='sto3g',
max_iterations=100,
optimizer='COBYLA',
)
runner.run()See the API documentation for all constructor parameters.
MIT License. See LICENSE for details.
- Email: piotr@codextechnologies.org
- GitHub: straightchlorine
- Codeberg: piotrkrzysztof