Metadata-Version: 2.4
Name: planopticon
Version: 0.2.0
Summary: AI-powered video analysis and knowledge extraction tool
Author: CONFLICT LLC
License-Expression: MIT
Project-URL: Homepage, https://planopticon.dev
Project-URL: Documentation, https://planopticon.dev
Project-URL: Repository, https://github.com/conflict-llc/PlanOpticon
Project-URL: Issues, https://github.com/conflict-llc/PlanOpticon/issues
Keywords: video,analysis,ai,knowledge-extraction,transcription,diagrams
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24.0
Requires-Dist: opencv-python>=4.8.0
Requires-Dist: scipy>=1.10.0
Requires-Dist: pillow>=10.0.0
Requires-Dist: matplotlib>=3.7.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: tqdm>=4.66.0
Requires-Dist: colorlog>=6.7.0
Requires-Dist: click>=8.1.0
Requires-Dist: librosa>=0.10.0
Requires-Dist: soundfile>=0.12.0
Requires-Dist: openai>=1.0.0
Requires-Dist: anthropic>=0.5.0
Requires-Dist: google-genai>=1.0.0
Requires-Dist: markdown>=3.4.0
Requires-Dist: mermaid-py>=0.5.0
Requires-Dist: plotly>=5.18.0
Requires-Dist: kaleido>=0.2.1
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: tenacity>=8.2.0
Provides-Extra: pdf
Requires-Dist: weasyprint>=60.0; extra == "pdf"
Provides-Extra: gpu
Requires-Dist: torch>=2.0.0; extra == "gpu"
Requires-Dist: torchvision>=0.15.0; extra == "gpu"
Provides-Extra: gdrive
Requires-Dist: google-auth>=2.0.0; extra == "gdrive"
Requires-Dist: google-auth-oauthlib>=1.0.0; extra == "gdrive"
Requires-Dist: google-api-python-client>=2.0.0; extra == "gdrive"
Provides-Extra: dropbox
Requires-Dist: dropbox>=12.0.0; extra == "dropbox"
Provides-Extra: cloud
Requires-Dist: planopticon[gdrive]; extra == "cloud"
Requires-Dist: planopticon[dropbox]; extra == "cloud"
Provides-Extra: dev
Requires-Dist: pytest>=7.3.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: black>=23.3.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: mypy>=1.3.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Provides-Extra: all
Requires-Dist: planopticon[pdf]; extra == "all"
Requires-Dist: planopticon[cloud]; extra == "all"
Requires-Dist: planopticon[dev]; extra == "all"
Dynamic: license-file

# PlanOpticon

**AI-powered video analysis and knowledge extraction.**

PlanOpticon processes video recordings into structured knowledge — transcripts, diagrams, action items, key points, and knowledge graphs. It auto-discovers available models across OpenAI, Anthropic, and Gemini, and produces rich multi-format output.

## Features

- **Multi-provider AI** — Auto-discovers and routes to the best available model across OpenAI, Anthropic, and Google Gemini
- **Smart frame extraction** — Change detection for transitions + periodic capture for slow-evolving content (document scrolling, screen shares)
- **People frame filtering** — OpenCV face detection automatically removes webcam/video conference frames, keeping only shared content
- **Diagram extraction** — Vision model classification detects flowcharts, architecture diagrams, charts, and whiteboards
- **Knowledge graphs** — Extracts entities and relationships, builds and merges knowledge graphs across videos
- **Action item detection** — Finds commitments, tasks, and follow-ups with assignees and deadlines
- **Batch processing** — Process entire folders of videos with merged knowledge graphs and cross-referencing
- **Rich output** — Markdown, HTML, PDF reports. Mermaid diagrams, SVG/PNG renderings, JSON manifests
- **Cloud sources** — Fetch videos from Google Drive and Dropbox shared folders
- **Checkpoint/resume** — Pipeline resumes from where it left off if interrupted
- **Screengrab fallback** — When extraction isn't perfect, captures frames with captions — something is always better than nothing

## Quick Start

```bash
# Install
pip install planopticon

# Analyze a single video
planopticon analyze -i meeting.mp4 -o ./output

# Process a folder of videos
planopticon batch -i ./recordings -o ./output --title "Weekly Meetings"

# See available AI models
planopticon list-models
```

## Installation

### From PyPI

```bash
pip install planopticon

# With all extras (PDF, cloud sources, GPU)
pip install planopticon[all]
```

### From Source

```bash
git clone https://github.com/ConflictHQ/PlanOpticon.git
cd PlanOpticon
pip install -e ".[dev]"
```

### Binary Download

Download standalone binaries (no Python required) from [GitHub Releases](https://github.com/ConflictHQ/PlanOpticon/releases).

### Requirements

- Python 3.10+
- FFmpeg (`brew install ffmpeg` / `apt install ffmpeg`)
- At least one API key: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GEMINI_API_KEY`

## Output Structure

```
output/
├── manifest.json              # Single source of truth
├── transcript/
│   ├── transcript.json        # Full transcript with timestamps
│   ├── transcript.txt         # Plain text
│   └── transcript.srt         # Subtitles
├── frames/                    # Content frames (people filtered out)
├── diagrams/                  # Detected diagrams + mermaid code
├── captures/                  # Screengrab fallbacks
└── results/
    ├── analysis.md            # Markdown report
    ├── analysis.html          # HTML report
    ├── analysis.pdf           # PDF report
    ├── knowledge_graph.json   # Entities and relationships
    ├── key_points.json        # Extracted key points
    └── action_items.json      # Tasks and follow-ups
```

## Processing Depth

| Depth | What you get |
|-------|-------------|
| `basic` | Transcription, key points, action items |
| `standard` | + Diagram extraction (10 frames), knowledge graph, full reports |
| `comprehensive` | + More frames analyzed (20), deeper extraction |

## Documentation

Full documentation at [planopticon.dev](https://planopticon.dev)

## License

MIT License — Copyright (c) 2026 CONFLICT LLC
