End-to-end quantum simulation toolkit from qubit physics to hardware design
Project description
QForge: Quantum Simulation Toolkit
QForge is a comprehensive, terminal-based quantum simulation toolkit that bridges qubit physics to hardware design. Built for everyone from absolute beginners to seasoned quantum computing researchers.
🚀 Features
✅ Fully Implemented
- Qubit Physics Modeling: Transmon, Fluxonium, Flux, Zero-π with pre-configured parameters
- Gate Physics Simulation: Time-domain simulation of single-qubit gates (X, Y, Z, H) using QuTiP dynamics.
- Terminal Plotting: Visualize energy spectra and Rabi oscillations directly in your terminal.
- Comprehensive Analysis: Energy spectra, coherence times (T1, T2), parameter sweeps.
- Realistic Noise Modeling: Accurate coherence time estimates and relaxation dynamics.
- Interactive CLI: Beginner-friendly wizards with auto-completions and rich visualizations.
- Comparison Engine: Compare different qubit architectures side-by-side.
🚧 Coming Soon
- Circuit Simulation: Multi-qubit circuit simulation with Qiskit
- Hardware Design: Chip layout design with Qiskit Metal
- Plugin Architecture: Extensible system for custom qubits and components
📦 Installation
pip install qforge
Development Installation
git clone https://github.com/Ingenio17/qforge.git
cd qforge
pip install -e ".[dev]"
🎯 Quick Start
Interactive Mode (Recommended)
qforge --interactive
1. Create a Qubit
qforge qubit create transmon --name my_qubit --EJ 15 --EC 0.3
2. Analyze Spectrum
View energy levels directly in your terminal:
qforge qubit analyze --name my_qubit --plot
3. Simulate a Gate
Simulate a $\pi$-pulse (X gate) and view Rabi oscillations:
qforge gate simulate --qubit my_qubit --gate X --duration 40 --save
📚 Documentation
Full documentation is available at qforge.readthedocs.io.
🎓 Examples
Check out the examples/ directory for complete workflows:
gate_simulation.py: End-to-end gate dynamics simulation.transmon_workflow.py: Complete transmon simulation and analysis.fluxonium_workflow.py: Complete fluxonium simulation and analysis.comprehensive_comparison.py: Advanced multi-qubit comparison with reports.
🏗️ Architecture
QForge is built on industry-standard quantum libraries:
- scqubits: Superconducting qubit physics
- QuTiP: Quantum dynamics and gate simulation
- Qiskit: Circuit-level quantum computing
- Qiskit Metal: Quantum hardware chip design
🤝 Contributing
Contributions are welcome! Please see our Contributing Guide.
Acknowledgments
QForge relies on the following open-source projects:
- scqubits: Setup and simulation of superconducting qubits.
- Copyright (c) 2019 and later, Jens Koch and Peter Groszkowski. Licensed under BSD 3-Clause.
- QuTiP: Quantum Toolbox in Python for dynamics.
- Copyright (c) 2011-2022 QuTiP developers. Licensed under BSD 3-Clause.
- Qiskit: Quantum SDK for circuit simulation.
- Copyright IBM Corporation and others. Licensed under Apache 2.0.
- Qiskit Metal: Hardware design.
- Copyright Qiskit Metal Development Team. Licensed under Apache 2.0.
Please see NOTICE and ThirdPartyNotices.md for full license details.
📄 License
Apache License 2.0 - see LICENSE for details.
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 qforge-0.2.0.tar.gz.
File metadata
- Download URL: qforge-0.2.0.tar.gz
- Upload date:
- Size: 8.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dda50a8f284d48835545b4f87d8d2aae56253b20dd8409819cc0aab53764903
|
|
| MD5 |
10808b788da95010715bb0f204bb7f39
|
|
| BLAKE2b-256 |
74025ab62487a589cc1b206eb2fdf69a57918c11b447ad7098e0d4fc0686c61e
|
Provenance
The following attestation bundles were made for qforge-0.2.0.tar.gz:
Publisher:
python-publish.yml on Ingenio17/qforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qforge-0.2.0.tar.gz -
Subject digest:
9dda50a8f284d48835545b4f87d8d2aae56253b20dd8409819cc0aab53764903 - Sigstore transparency entry: 947172471
- Sigstore integration time:
-
Permalink:
Ingenio17/qforge@25ac4fafbdf0adf243f7b616a345f99c6d4f30cf -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Ingenio17
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@25ac4fafbdf0adf243f7b616a345f99c6d4f30cf -
Trigger Event:
release
-
Statement type:
File details
Details for the file qforge-0.2.0-py3-none-any.whl.
File metadata
- Download URL: qforge-0.2.0-py3-none-any.whl
- Upload date:
- Size: 54.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a91bcbb4b7550340dc9fa2055807c010c642ca6ce08eb1e377c647980eed0a6c
|
|
| MD5 |
ccf145794fe23a6341e94d662d974f79
|
|
| BLAKE2b-256 |
eeef33a2fac17f71a740e6b49b98ed806a28704802a1698133c29b5a6fb83e2d
|
Provenance
The following attestation bundles were made for qforge-0.2.0-py3-none-any.whl:
Publisher:
python-publish.yml on Ingenio17/qforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qforge-0.2.0-py3-none-any.whl -
Subject digest:
a91bcbb4b7550340dc9fa2055807c010c642ca6ce08eb1e377c647980eed0a6c - Sigstore transparency entry: 947172485
- Sigstore integration time:
-
Permalink:
Ingenio17/qforge@25ac4fafbdf0adf243f7b616a345f99c6d4f30cf -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Ingenio17
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@25ac4fafbdf0adf243f7b616a345f99c6d4f30cf -
Trigger Event:
release
-
Statement type: