Metadata-Version: 2.4
Name: mimiq-ide
Version: 1.3.2
Summary: Browser-based quantum circuit IDE powered by QPerfect
License-Expression: LicenseRef-Proprietary
Keywords: quantum,circuit,simulator,QPerfect,MIMIQ
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: fastapi
Requires-Dist: uvicorn[standard]
Requires-Dist: pydantic
Requires-Dist: numpy
Requires-Dist: mimiqcircuits>=0.21.6
Requires-Dist: mimiqlink
Requires-Dist: quantanium==1.15.24

# Mimiq IDE

**A browser-based quantum circuit IDE powered by [QPerfect](https://qperfect.io).**

Mimiq IDE lets you design, visualise, and simulate quantum circuits — directly in your browser, with no setup beyond a single `pip install`. Compose circuits visually by dragging and dropping gates, or write Python code directly in the built-in editor. Results are displayed instantly with histograms, statevectors, and Bloch sphere visualisations.

---

## Install

```bash
pip install mimiq-ide
```

Requires **Python 3.9+**.

---

## Run

```bash
mimiq
```

That's it. Your browser opens automatically at `http://127.0.0.1:8002`.

---

## What you can do

- **Visual circuit editor** — drag and drop gates onto qubits, reorder them, group and collapse blocks
- **Code editor** — write `mimiqcircuits` Python directly with syntax highlighting and gate autocomplete
- **Local simulation** — run circuits instantly via Quantanium with configurable shot counts
- **Cloud execution** — submit jobs to the QPerfect cloud via MimiqLink
- **Results panel** — histogram, statevector amplitudes, Bloch sphere, and phase visualisation
- **Export** — save circuits as `.py`, results as `.json`, or generate a full PDF report
- **Math shortcuts** — `pi`, `arcsin`, `arccos`, `sqrt` and all standard math functions are available in the editor without any import

---

## Requirements

The following QPerfect packages are required and installed automatically:

| Package | Purpose |
|---|---|
| `mimiqcircuits` | Circuit definition and gate library |
| `mimiqlink` | Cloud job submission |
| `quantanium` | Local simulation engine |

> **Note:** `quantanium` depends on NVIDIA CUDA libraries (~500 MB). This is expected — it powers the local simulator.

---

## Documentation

Full gate reference, API docs, and tutorials:
**https://docs.mimiq.io**

---

## Support

| Channel | Details |
|---|---|
| Email | support@mimiq.io |
| Issues | Report bugs or feature requests via email |

---

## Package maintenance

### Remotes

| Name | URL |
|---|---|
| `gitlab` | `git@gitlab.qperfect.io:development/mimiq-ide.git` — hosts CI/CD, source of truth |
| `origin` | `https://github.com/AymaneHassani/mimiq-ide.git` — public mirror for Cyrille & Yann |

### CI/CD pipeline

Defined in `.gitlab-ci.yml`, three stages:

| Job | Triggers on | Does |
|---|---|---|
| `build-wheel` | every push/tag | builds frontend, copies into Python package, produces `.whl` |
| `publish-pypi` | `v*.*.*` tag only | uploads `.whl` to PyPI via twine |
| `mirror-github` | `v*.*.*` tag only | pushes code to GitHub |

### Releasing a new version

```bash
bash release.sh
```

The script will:
1. Show current version
2. Ask: patch bump (`x.y.Z`) or minor bump (`x.Y.0`)
3. Update version in `pyproject.toml` and `mimiq_ide/__init__.py`
4. Commit all staged changes + version bump
5. Create git tag `vX.Y.Z`
6. Push branch + tag to GitLab → CI builds and publishes to PyPI automatically

### Manually mirroring to GitHub

```bash
git push origin main
git push origin vX.Y.Z   # if you also want the tag on GitHub
```

### PyPI rules

- PyPI **rejects duplicate versions** — never push the same version tag twice
- If a release fails mid-way, bump to the next patch version before retrying

---

*© QPerfect — All rights reserved.*
