Metadata-Version: 2.4
Name: myqclab
Version: 0.1.0
Summary: Quantum Computing Lab programs in Python and Qiskit
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: qiskit>=1.0.0
Requires-Dist: qiskit-aer>=0.14.0
Dynamic: requires-python

# Quantum Computing Lab Programs & `myqclab` Package

Compact, verified Python and Qiskit implementations of 9 core quantum algorithms for lab exams.

Available both as standalone scripts/notebooks and as an installable Python package **`myqclab`**.

---

## 📦 Package Installation

Install directly in your environment:
```bash
pip install .
```
Or in editable/development mode:
```bash
pip install -e .
```

---

## 🚀 Package Usage

### 1. In Python / Jupyter Notebook
```python
import myqclab

# Show the code of any algorithm in the terminal (quotes optional!)
myqclab.show(grover)
myqclab.show("grover")

# Run the algorithm and print the circuit and simulation output
myqclab.run(grover)

# List all available programs
myqclab.list()
```

### 2. From Terminal CLI
```bash
# Print code of a program
myqclab grover
myqclab show grover

# Execute program directly
myqclab run grover

# List all programs
myqclab list
```

---

## 📚 Available Quantum Programs

| Program Name | Loop Variation | Algorithm | Manually Configurable Input |
|---|---|---|---|
| `qe` | `qeloop` | Quantum Entanglement | `state = '00'` (`'00'`, `'01'`, `'10'`, `'11'`) |
| `tele` | `teleloop` | Quantum Teleportation | `state = '1'` (`'0'` or `'1'`) |
| `super` | `superloop` | Superdense Coding | `msg = '01'` (`'00'`, `'01'`, `'10'`, `'11'`) |
| `de` | `deloop` | Deutsch's Algorithm | `oracle_type = 'balanced_id'` (`'constant_0'`, etc.) |
| `dj` | `djloop` | Deutsch-Jozsa Algorithm | `oracle_type = 'balanced'`, `n = 3` |
| `simon` | `simonloop` | Simon's Algorithm | `s = '11'` |
| `bv` | `bvloop` | Bernstein-Vazirani | `s = '1011'` |
| `grover` | `groverloop` | Grover's Search | `target = '10'` (`'00'`, `'01'`, `'10'`, `'11'`) |
| `shor` | `shorloop` | Shor's Algorithm | `N = 15, a = 7` |

---

## Standalone Running

Run any script with Python:
```bash
python qe.py
```
Or open any `.ipynb` file in Jupyter Notebook / JupyterLab / Google Colab.
