Metadata-Version: 2.4
Name: ojanvu
Version: 1.0.2
Summary: Official Python SDK for Ojanvu Quantum Hardware & Cloud
Author: Ojanvu Quantum Labs
Author-email: Ojanvu Quantum Labs <contact@ojanvu.com>
License: Proprietary
Project-URL: Homepage, https://ojanvu.com
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pyserial>=3.5
Dynamic: author
Dynamic: requires-python

# Ojanvu Python SDK (`ojanvu`)

The official Python client library for **Ojanvu Quantum Systems**.

`ojanvu` provides an intuitive Python interface to connect, configure, and execute quantum programs on Ojanvu Planck series quantum hardware.

---

## Installation

```bash
pip install ojanvu
```

---

## Hardware Compatibility

`ojanvu` supports the Ojanvu Planck quantum processor series:
- **Ojanvu Planck 2** (Current Release via `from ojanvu import Planck2`)
- **Ojanvu Planck 1** (Legacy compatibility)
- **Ojanvu Planck 3** (Future hardware integration)

---

## Usage Example (Planck 2 Hardware)

### Basic Execution

```python
from ojanvu import Planck2

# Connects to hardware, verifies status, and arms the core
qpu = Planck2()

# Define an OpenQASM quantum circuit
circuit = """
qreg q[2];
creg c[2];
h q[0];
cx q[0], q[1];
measure q -> c;
"""

# Execute circuit on physical hardware
result = qpu.execute(circuit, shots=1000)

# Retrieve results
print("Measurement Counts:", result.get_counts())
print("Probabilities     :", result.get_probabilities())

# Safely close session
qpu.close()
```

### Context Manager Usage

```python
from ojanvu import Planck2

with Planck2() as qpu:
    diag = qpu.get_optical_diagnostics()
    print("Optical Interlock Status:", diag.get("optical_status"))
```

---

## API Reference

### `Planck2(port=None, baudrate=115200, timeout=15.0)`
- `execute(circuit, shots=500, timeout=30.0)`: Executes OpenQASM quantum circuits and returns a `JobResult` object.
- `execute_cv(cv_program, timeout=15.0)`: Executes quantum operations across optical modes.
- `calibrate()`: Triggers optoelectronic self-calibration on physical hardware.
- `get_optical_diagnostics()`: Returns optical interlock and sensor health status.
- `get_telemetry()`: Returns live sensor array readings.
- `close()`: Cleanly releases and secures the hardware connection.

### `JobResult`
- `get_counts()`: Returns state histogram dictionary (e.g. `{'00': 502, '11': 498}`).
- `get_probabilities()`: Returns empirical state probability distribution.
- `shots`: Total measured shot count.
- `execution_time`: Execution latency in seconds.

---

## Support & Inquiries
- **Website:** [https://ojanvu.com](https://ojanvu.com)
- **Email:** `contact@ojanvu.com`
- **License:** Proprietary © 2026 Ojanvu Quantum Labs. All rights reserved.
