Quantum Version Control CLI
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
QVC โ Quantum Version Control
A command-line version control system for quantum circuits.
QVC is a Python-based CLI tool that enables developers and researchers to track, manage, and compare versions of quantum circuits built using Qiskit. Inspired by traditional version control systems, QVC introduces staging, committing, and diffing capabilities specifically tailored for quantum computing workflows.
It allows users to stage circuits, commit versions, analyze circuit differences, and restore previous circuit states, making it useful for students, researchers, and quantum developers.
Table of Contents
- Table of Contents
- Features
- Installation / Setup
- Usage
- Screenshots / Demo
- Project Structure
- Configuration
- Contributing Guidelines
- Roadmap
- Built With / Tech Stack
- Authors / Acknowledgements
- License
- Support / Contact
Features
- โ Quantum Circuit Versioning โ Track and manage different versions of quantum circuits.
- ๐ฆ Staging System โ Add circuits to a staging area before committing.
- ๐ Commit History โ Save circuit versions with commit messages.
- ๐ Circuit Difference Analysis โ Compare circuits using text, parameter, and state differences.
- ๐ Status Monitoring โ View staged and committed circuits in summary or detailed form.
- โป Restore Functionality โ Restore circuits to previously committed versions.
- ๐ฅ Command Line Interface โ Lightweight CLI workflow similar to traditional version control tools.
Installation / Setup
Prerequisites
- Python 3.9+
- pip package manager
Steps for Installation
# Clone repository
git clone https://github.com/Pratham-Vishwakarma/QVC.git
cd QVC
Install the CLI tool:
pip install .
After installation, you can run:
qvc help
Usage
General User
Initialize a QVC project:
qvc init
Add a circuit file:
qvc add circuit.py
Add all circuit files in the directory:
qvc add .
Commit staged circuits:
qvc commit "Initial circuit commit"
Check status:
qvc status stage summary
View circuit differences:
qvc diff text detailed
Restore previous version:
qvc restore
Developer
Install in editable mode:
pip install -e .
Run CLI directly for testing:
python -m qvc.cli
Modify modules inside the qvc directory to extend functionality.
Example workflow:
qvc init
qvc add bell.py
qvc commit "Initial circuit"
qvc diff text summary
Project Structure
qvc/
โ
โโโ qvc/
โ โโโ cli.py
โ โโโ add.py
โ โโโ commit.py
โ โโโ diff_text.py
โ โโโ diff_param.py
โ โโโ diff_state.py
โ โโโ status.py
โ โโโ restore.py
โ
โโโ pyproject.toml
โโโ README.md
โโโ LICENSE
Configuration
No additional configuration required.
Initialize QVC in your project directory:
qvc init
Contributing Guidelines
- Fork the repository.
- Create a feature branch.
git checkout -b feature-name
- Commit changes.
git commit -m "Add feature"
- Push to branch.
git push origin feature-name
- Open a Pull Request.
Roadmap
- Add commit history viewer
- Add circuit visualization
- Add remote repository support
- Improve circuit parsing using AST
- Add merge functionality for circuits
Built With / Tech Stack
| Component | Purpose |
|---|---|
| Python | Core CLI implementation |
| Qiskit | Quantum circuit framework |
| NumPy | Numerical operations |
| AST (Python) | Static code analysis |
| pip | Package management |
Authors / Acknowledgements
- Pratham Vishwakarma โ Developer
- Raj Parmar โ Developer
Inspired by modern version control workflows and quantum development tools.
Special thanks to the Qiskit community for advancing quantum computing.
License
QVC is licensed under the MIT License.
Support / Contact
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qvc-1.0.0.tar.gz.
File metadata
- Download URL: qvc-1.0.0.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
526f3cfc1715229f5cf7c07d2daf4878e997f1edbef069867ee50d8f19e681de
|
|
| MD5 |
2bf2837c972ab8f1cd3f9bce93c22fb8
|
|
| BLAKE2b-256 |
80f0a53c56b9358835d242e81d7b47b50ddd2e4ff501224ef6613bfaa5556451
|
File details
Details for the file qvc-1.0.0-py3-none-any.whl.
File metadata
- Download URL: qvc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb5a1e9dee252c48384789ed7a653705079b3540c2d6c1f711e5bc2be148f767
|
|
| MD5 |
78fc59aeff508ff9a89f662131a54a3a
|
|
| BLAKE2b-256 |
05acadda356f8876702675f9f38e6105beb656f67274c9de38e8c3b8c0934f93
|