Metadata-Version: 2.4
Name: darvision
Version: 1.0.5
Summary: A Python framework that lets any computer stream its webcam to a remote viewer over WebSockets.
Author: Darshan Kerkar
License: MIT
License-File: LICENSE
Keywords: computer-vision,opencv,remote,streaming,webcam,websocket
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.11
Requires-Dist: click>=8.0.0
Requires-Dist: fastapi>=0.100.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: opencv-python>=4.8.0
Requires-Dist: pillow>=10.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: uvicorn[standard]>=0.23.0
Requires-Dist: websockets>=11.0
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: ngrok
Requires-Dist: pyngrok>=7.0.0; extra == 'ngrok'
Description-Content-Type: text/markdown

# DarVision

> **Stream any webcam to you — from anywhere in the world.**
>
> Created by [Darshan Kerkar](https://pypi.org/user/darshankerkar/)

---

## What is DarVision?

DarVision is a Python framework that turns any computer into a webcam streaming server.

The person on the **other side of the world** installs DarVision, runs one command, and their webcam is live. **You connect and watch.**

```
Their Computer                   Your Computer (Darshan)
──────────────                   ───────────────────────
pip install darvision
darvision host --public   ──►    darvision connect wss://xxxx.ngrok-free.app
(their webcam streams)           (you watch their stream)
```

---

## Installation

```bash
pip install darvision
```

With ngrok (for public streaming over the Internet):
```bash
pip install darvision[ngrok]
```

---

## Usage

### They host — you watch

**Step 1 — Remote person (the host):**
```bash
pip install darvision[ngrok]
darvision host --public
```

They will see:
```
──────────────────────────────────────────────────
  🎥  DarVision Host is running
──────────────────────────────────────────────────
  Local  :  ws://192.168.x.x:8765
  Public :  wss://abcd1234.ngrok-free.app
──────────────────────────────────────────────────
```

**Step 2 — They send you the `wss://` URL.**

**Step 3 — You connect (Darshan):**
```bash
darvision connect wss://abcd1234.ngrok-free.app
```

A window opens showing their live webcam.

---

### Local preview (host can see their own stream)
```bash
darvision host --preview
```

---

### Health check
```bash
darvision doctor
```

---

## Python API

**Host (remote machine):**
```python
from darvision import Host
Host().start()
```

**Client (your machine):**
```python
from darvision import Client
Client().connect("wss://abcd1234.ngrok-free.app")
```

---

## Roadmap

| Version | Feature |
|---------|---------|
| v1.0 | ✅ Webcam streaming over LAN / Internet |
| v1.1 | Camera source abstraction (video files, RTSP) |
| v1.2 | MediaPipe Pose plugin |
| v1.3 | Hand tracking plugin |
| v1.4 | YOLO object detection plugin |
| v1.5 | OCR plugin |
| v2.0 | Multi-client, browser viewer, recording |

---

## Author

**[Darshan Kerkar](https://pypi.org/user/darshankerkar/)**
MIT License
