C2|Q> is a modular quantum software engineering framework that automates the full pipeline from classical problem specifications to quantum circuit generation and execution.
This repository accompanies the article:
"C2|Q>: Bridging Classical Code and Quantum Execution via Automated Translation, Algorithm Selection, and Device Recommendation" Submitted to ACM Transactions on Software Engineering and Methodology (TOSEM), 2025.
- Submit standard Python code describing a problem.
- Automatically parse, reduce, and translate the problem into Quantum-Compatible Formats (QCFs).
- Select suitable quantum algorithms (e.g., QAOA, VQE, Grover).
- Recommend appropriate quantum devices across platforms (e.g., IBM, IonQ, Rigetti).
- Transpile and execute on hardware or simulators.
Refer to src/assets/workflow_editted-1.png
for detailed component diagrams and workflow explanations.
- Python 3.10+
- Git
git clone https://github.com/C2-Q/C2Q.git
cd C2Q
pip install -r requirements.txt
Run the unit tests with pytest
after installing the dependencies:
PYTHONPATH=. pytest -q
We welcome contributions from researchers, developers, and practitioners interested in quantum software engineering.
- Fork the repository on GitHub.
- Clone your fork and install dependencies:
git clone https://github.com/YOUR_USERNAME/C2Q.git cd C2Q python -m venv venv source venv/bin/activate # On Windows use venv\Scripts\activate pip install -r requirements.txt
- Create a feature branch:
git checkout -b feature/my-feature
- Commit your changes:
git add . git commit -m "Add explanation / fix bug / implement feature"
- Push and open a pull request:
git push origin feature/my-feature
- Follow PEP8 coding conventions.
- Document public functions and modules clearly.
- Keep commits focused and descriptive.
- Be respectful in discussions and code reviews.
This project is licensed under the Apache 2.0 License.
For research collaboration or substantial contributions, contact the maintainer:
📧 [email protected] (Project Principal Investigator (PI))