Metadata-Version: 2.4
Name: flashstudio
Version: 0.2.11
Summary: Interactive Training & Inference UI for FlashDet — runs on Google Colab
Author: FlashVision
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/FlashVision/FlashStudio
Project-URL: Repository, https://github.com/FlashVision/FlashStudio
Keywords: object-detection,flashdet,training,inference,ui,colab
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: streamlit>=1.28.0
Requires-Dist: streamlit-drawable-canvas>=0.9.3
Requires-Dist: streamlit-autorefresh>=1.0.1
Requires-Dist: plotly>=5.0
Requires-Dist: pandas>=1.5
Requires-Dist: pillow>=9.0
Requires-Dist: numpy>=1.21
Requires-Dist: opencv-python>=4.5
Requires-Dist: pyyaml>=6.0
Requires-Dist: flashdet>=1.3.0
Provides-Extra: full
Requires-Dist: torch>=2.0; extra == "full"
Requires-Dist: flashdet[export]; extra == "full"
Requires-Dist: pyngrok>=6.0; extra == "full"
Requires-Dist: ultralytics>=8.0; extra == "full"
Requires-Dist: onnxruntime>=1.15; extra == "full"
Requires-Dist: onnx>=1.14; extra == "full"
Requires-Dist: onnxslim>=0.1; extra == "full"
Provides-Extra: inference
Requires-Dist: ultralytics>=8.0; extra == "inference"
Requires-Dist: onnxruntime>=1.15; extra == "inference"
Requires-Dist: onnx>=1.14; extra == "inference"
Requires-Dist: onnxslim>=0.1; extra == "inference"
Provides-Extra: ngrok
Requires-Dist: pyngrok>=6.0; extra == "ngrok"
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Dynamic: license-file

# FlashStudio

**Interactive Training & Inference UI for FlashDet**

---

## Install

```bash
pip install flashstudio
```

FlashStudio installs FlashDet automatically and uses its `Trainer` API for training, so no repository checkout is required.

## Quick Start

```bash
# Launch locally
flashstudio

# Or with Python
from flashstudio import launch
launch()
```

## Google Colab

```python
!pip install flashstudio

from flashstudio import launch
launch()
```

FlashStudio detects Colab and uses the built-in proxy — no token, ngrok, or signup required. Pass `ngrok_token="YOUR_TOKEN"` only if you want a stable public URL.

Get a free ngrok token at: https://dashboard.ngrok.com/get-started/your-authtoken

## Features

- **Guided Workflow** — Dashboard → Data → Model → Training → Export → Inference with pipeline readiness and next-step hints
- **Project Workspaces** — isolated datasets, runs, checkpoints, and saved UI state per project
- **Data** — Upload, download, preview with annotation overlays, verify, repair, edit boxes, and run quality reports
- **Framework-first Model Config** — FlashDet Pico-Zoo backbones, Ultralytics YOLO, YOLOX export
- **Training** — FlashDet or Ultralytics backends with preflight checks, live loss curves, visualizations, logs, and run comparison
- **Weight Hub** — download FlashDet registry and Ultralytics checkpoints from training or inference
- **Export** — ONNX and TorchScript export for FlashDet and Ultralytics weights, TensorRT where available
- **Optimize** — layer/kernel fusion, ONNX parity, INT8 quantization, and FPS/latency benchmarking
- **Inference** — FlashDet, Ultralytics, ONNX Runtime, TorchScript, and TensorRT models
- **Live Inference** — RTSP/webcam streaming, multi-camera grid, live FPS and detections
- **Zones & Solutions** — polygon, rectangle, and line zones with 16 built-in solutions
- **Active Learning** — Export low-confidence detections for review
- **Dependency Hints** — in-app guidance and one-click installs for optional runtimes

## Supported Models

| Model | Params | Use Case |
|-------|--------|----------|
| FlashDet-Pico | ~298K | Edge / MCU |
| FlashDet-Nano | ~790K | Embedded / IoT |
| FlashDet-Small | ~1.8M | General purpose |
| FlashDet-Medium | ~3.6M | High accuracy |
| FlashDet-Large | ~5.8M | High accuracy |
| FlashDet-X | ~9.0M | Server / Max accuracy |

### Training and inference backends

- **Training** — FlashDet Trainer (default) or Ultralytics (YOLOv8/v9/v10/v11)
- **Inference** — FlashDet `.pth`, Ultralytics `.pt`, ONNX Runtime, TorchScript, TensorRT `.engine`

## Requirements

- Python >= 3.10
- FlashDet (for FlashDet training/inference)
- Ultralytics + ONNX Runtime for external YOLO/ONNX models
- TensorRT for `.engine` inference (optional)
- ngrok account (optional, for a stable Colab URL)
- GPU recommended for training

## Links

- GitHub: https://github.com/FlashVision/FlashStudio
- FlashDet: https://github.com/FlashVision/FlashDet
- Organization: https://flashvision.github.io

## License

Apache-2.0
