# quantum-starter-lab
[](https://pypi.org/project/quantum-starter-lab/)
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/Pranava-Kumar/quantum-starter-lab/issues)
[](https://github.com/Pranava-Kumar/quantum-starter-lab/stargazers)
This package abstracts complex quantum frameworks, making it easy to experiment with entanglement, superposition, and more—perfect for students, educators, and researchers exploring noisy intermediate-scale quantum (NISQ) applications without building everything from scratch.
## Features:
Easy-to-Use API: Run quantum demos with minimal code.
Multiple Backends: Supports Qiskit Aer and Cirq Simulator (with plans for real hardware integration).
Noise Simulation: Apply realistic noise models (bit-flip, depolarizing, amplitude damping) to study error effects.
Visualization: Built-in plotting for circuit diagrams and result histograms.
Reproducibility: Seed support for consistent results.
Extensible: Modular IR (Intermediate Representation) for custom circuits.
Research Tools: Export results to JSON/CSV for analysis; upcoming VQE and QAOA for optimization studies.
Cross-Platform: Works on Windows, macOS, and Linux.
# Installation:
You can install quantum-starter-lab from PyPI using pip or uv (recommended for faster installs).
## Using uv (Preferred)
uv is a fast Python package manager.
uv venv # Create a virtual environment
.venv\Scripts\activate # Activate on Windows (or source .venv/bin/activate on Unix)
uv pip install quantum-starter-lab
## Using pip
python -m venv .venv
.venv\Scripts\activate
pip install quantum-starter-lab
# Development Installation
## Clone the repo and install in editable mode for contributing:
git clone https://github.com/Pranava-Kumar/quantum-starter-lab.git
cd quantum-starter-lab
uv venv
.venv\Scripts\activate
uv sync --all-extras --dev
uv pip install -e .
Requirements: Python >=3.10, Qiskit, Cirq, Matplotlib, NumPy.
# Quick Start
## After installation, run a simple demo:
from quantum_starter_lab.api import make_bell
### Run the Bell state demo
results = make_bell(backend="qiskit.aer", seed=42)
print(results) # Prints explanation, counts, and probabilities
results.plot() # Displays circuit and histogram
## Example Usage
Here's a complete script testing multiple functions (save as test_quantum_lab.py and run with uv run python test_quantum_lab.py):
import math
from quantum_starter_lab.api import make_bell, deutsch_jozsa, bernstein_vazirani, grover, teleportation
SEED = 42
BACKEND = "qiskit.aer"
### Bell state with noise
results_bell = make_bell(backend=BACKEND, noise_name="depolarizing", p=0.05, seed=SEED)
print("Bell Results:", results_bell)
results_bell.plot() # View plot
### Deutsch-Jozsa
results_dj = deutsch_jozsa(n_qubits=3, oracle_type="balanced", backend=BACKEND, seed=SEED)
print("DJ Results:", results_dj)
### Bernstein-Vazirani
results_bv = bernstein_vazirani(n_qubits=4, secret_string="1011", backend=BACKEND, seed=SEED)
print("BV Results:", results_bv)
### Grover's search
results_grover = grover(n_qubits=3, marked_item="110", backend=BACKEND, seed=SEED)
print("Grover Results:", results_grover)
### Teleportation
results_tele = teleportation(initial_state_angle=math.pi, backend=BACKEND, seed=SEED) # Teleport |1>
print("Teleportation Results:", results_tele)
Expected output includes printed results and plots for each demo.
### For research workflows, export data:
results.export_data("results.json") # Upcoming feature in v0.2.0
# Setup and Development
Virtual Environment: Use uv or venv as shown in Installation.
Running Tests: After development install, run make test (requires Makefile from repo).
Linting: make lint to check code style.
Building and Publishing: Use uv build and your GitHub workflow for releases.
For real hardware, install extras: uv pip install qiskit-ibm-provider and pass backend="ibm_q".
# Roadmap
v0.2.0: Enhanced parameters and data export.
v0.3.0: VQE and QAOA for research.
v1.0.0: Real hardware support and community contributions.
# Contributing
We welcome contributions! To get started:
Fork the repo.
Create a feature branch (git checkout -b feature/new-demo).
Commit changes (git commit -m "Add VQE function").
Push (git push origin feature/new-demo).
Open a Pull Request.
## See CONTRIBUTING.md for details. Report issues or suggest features on GitHub Issues.
# License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
## Acknowledgments
### Built with Qiskit and Cirq.
### Inspired by quantum education resources from IBM and Google.
# Contact
Author: Pranava Kumar (pranavakumar.it@gmail.com)
Project Link: https://github.com/Pranava-Kumar/quantum-starter-lab
For questions or collaboration, open an issue or reach out!
Raw data
{
"_id": null,
"home_page": null,
"name": "quantum-starter-lab",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "cirq, education, nisq, qiskit, quantum algorithms, quantum computing, research, simulation",
"author": null,
"author_email": "Pranava Kumar <pranavakumar.it@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4d/96/bc2269bf4017e61443a03a62b5c4d6943ffed53fca553636ea50b6dc2164/quantum_starter_lab-0.1.5.tar.gz",
"platform": null,
"description": "# quantum-starter-lab\n\n[](https://pypi.org/project/quantum-starter-lab/)\n[](https://opensource.org/licenses/Apache-2.0)\n[](https://github.com/Pranava-Kumar/quantum-starter-lab/issues)\n[](https://github.com/Pranava-Kumar/quantum-starter-lab/stargazers)\n\nThis package abstracts complex quantum frameworks, making it easy to experiment with entanglement, superposition, and more\u2014perfect for students, educators, and researchers exploring noisy intermediate-scale quantum (NISQ) applications without building everything from scratch.\n\n## Features:\n\nEasy-to-Use API: Run quantum demos with minimal code.\n\nMultiple Backends: Supports Qiskit Aer and Cirq Simulator (with plans for real hardware integration).\n\nNoise Simulation: Apply realistic noise models (bit-flip, depolarizing, amplitude damping) to study error effects.\n\nVisualization: Built-in plotting for circuit diagrams and result histograms.\n\nReproducibility: Seed support for consistent results.\n\nExtensible: Modular IR (Intermediate Representation) for custom circuits.\n\nResearch Tools: Export results to JSON/CSV for analysis; upcoming VQE and QAOA for optimization studies.\n\nCross-Platform: Works on Windows, macOS, and Linux.\n\n# Installation:\n\nYou can install quantum-starter-lab from PyPI using pip or uv (recommended for faster installs).\n\n## Using uv (Preferred)\nuv is a fast Python package manager.\n\nuv venv # Create a virtual environment\n\n.venv\\Scripts\\activate # Activate on Windows (or source .venv/bin/activate on Unix)\n\nuv pip install quantum-starter-lab\n\n## Using pip\n\npython -m venv .venv\n\n.venv\\Scripts\\activate\n\npip install quantum-starter-lab\n\n# Development Installation\n\n## Clone the repo and install in editable mode for contributing:\n\ngit clone https://github.com/Pranava-Kumar/quantum-starter-lab.git\n\ncd quantum-starter-lab\n\nuv venv\n\n.venv\\Scripts\\activate\n\nuv sync --all-extras --dev\n\nuv pip install -e .\n\nRequirements: Python >=3.10, Qiskit, Cirq, Matplotlib, NumPy.\n\n# Quick Start\n## After installation, run a simple demo:\n\nfrom quantum_starter_lab.api import make_bell\n\n### Run the Bell state demo\n\nresults = make_bell(backend=\"qiskit.aer\", seed=42)\n\nprint(results) # Prints explanation, counts, and probabilities\n\nresults.plot() # Displays circuit and histogram\n\n\n## Example Usage\n\nHere's a complete script testing multiple functions (save as test_quantum_lab.py and run with uv run python test_quantum_lab.py):\n\nimport math\n\nfrom quantum_starter_lab.api import make_bell, deutsch_jozsa, bernstein_vazirani, grover, teleportation\n\nSEED = 42\n\nBACKEND = \"qiskit.aer\"\n\n### Bell state with noise\n\nresults_bell = make_bell(backend=BACKEND, noise_name=\"depolarizing\", p=0.05, seed=SEED)\n\nprint(\"Bell Results:\", results_bell)\n\nresults_bell.plot() # View plot\n\n### Deutsch-Jozsa\n\nresults_dj = deutsch_jozsa(n_qubits=3, oracle_type=\"balanced\", backend=BACKEND, seed=SEED)\n\nprint(\"DJ Results:\", results_dj)\n\n### Bernstein-Vazirani\n\nresults_bv = bernstein_vazirani(n_qubits=4, secret_string=\"1011\", backend=BACKEND, seed=SEED)\n\nprint(\"BV Results:\", results_bv)\n\n### Grover's search\n\nresults_grover = grover(n_qubits=3, marked_item=\"110\", backend=BACKEND, seed=SEED)\n\nprint(\"Grover Results:\", results_grover)\n\n### Teleportation\n\nresults_tele = teleportation(initial_state_angle=math.pi, backend=BACKEND, seed=SEED) # Teleport |1>\n\nprint(\"Teleportation Results:\", results_tele)\n\nExpected output includes printed results and plots for each demo.\n\n### For research workflows, export data:\n\nresults.export_data(\"results.json\") # Upcoming feature in v0.2.0 \n\n# Setup and Development\n\nVirtual Environment: Use uv or venv as shown in Installation.\n\nRunning Tests: After development install, run make test (requires Makefile from repo).\n\nLinting: make lint to check code style.\n\nBuilding and Publishing: Use uv build and your GitHub workflow for releases.\n\nFor real hardware, install extras: uv pip install qiskit-ibm-provider and pass backend=\"ibm_q\".\n\n# Roadmap\nv0.2.0: Enhanced parameters and data export.\n\nv0.3.0: VQE and QAOA for research.\n\nv1.0.0: Real hardware support and community contributions.\n\n# Contributing\nWe welcome contributions! To get started:\n\nFork the repo.\n\nCreate a feature branch (git checkout -b feature/new-demo).\n\nCommit changes (git commit -m \"Add VQE function\").\n\nPush (git push origin feature/new-demo).\n\nOpen a Pull Request.\n\n## See CONTRIBUTING.md for details. Report issues or suggest features on GitHub Issues.\n\n# License\nThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.\n\n## Acknowledgments\n### Built with Qiskit and Cirq.\n### Inspired by quantum education resources from IBM and Google.\n\n# Contact\nAuthor: Pranava Kumar (pranavakumar.it@gmail.com)\n\nProject Link: https://github.com/Pranava-Kumar/quantum-starter-lab\n\nFor questions or collaboration, open an issue or reach out!\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A Python package for quantum computing demos, simulations, and NISQ research tools.",
"version": "0.1.5",
"project_urls": {
"Changelog": "https://github.com/Pranava-Kumar/quantum-starter-lab/blob/main/RELEASE_NOTES.md",
"Documentation": "https://pranava-kumar.github.io/quantum-starter-lab",
"Repository": "https://github.com/Pranava-Kumar/quantum-starter-lab"
},
"split_keywords": [
"cirq",
" education",
" nisq",
" qiskit",
" quantum algorithms",
" quantum computing",
" research",
" simulation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f358fa8d11d9fdf747ac675dee8cbd42e0b0bb415a267cbdf2b1e10cb1a654dd",
"md5": "0bca4c5bc679edbab102ff12fd4b6f48",
"sha256": "5db998cfcb5423c8653c423f15a7f80655ac77d0c71a12f8ed8c6b4281336a47"
},
"downloads": -1,
"filename": "quantum_starter_lab-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0bca4c5bc679edbab102ff12fd4b6f48",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 30720,
"upload_time": "2025-08-09T19:36:42",
"upload_time_iso_8601": "2025-08-09T19:36:42.861428Z",
"url": "https://files.pythonhosted.org/packages/f3/58/fa8d11d9fdf747ac675dee8cbd42e0b0bb415a267cbdf2b1e10cb1a654dd/quantum_starter_lab-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4d96bc2269bf4017e61443a03a62b5c4d6943ffed53fca553636ea50b6dc2164",
"md5": "240853cc0ad9498045145d23116f47ed",
"sha256": "9b89244f79aede587a1d491ea804406653b22afa83a08460efb72a43af17ddfb"
},
"downloads": -1,
"filename": "quantum_starter_lab-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "240853cc0ad9498045145d23116f47ed",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 137864,
"upload_time": "2025-08-09T19:36:44",
"upload_time_iso_8601": "2025-08-09T19:36:44.553433Z",
"url": "https://files.pythonhosted.org/packages/4d/96/bc2269bf4017e61443a03a62b5c4d6943ffed53fca553636ea50b6dc2164/quantum_starter_lab-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-09 19:36:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Pranava-Kumar",
"github_project": "quantum-starter-lab",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "quantum-starter-lab"
}