Skip to main content

An Intelligent Open-Source Video Understanding System A different path from traditional Large Video Language Models (LVLMs). Built for modularity, openness, and real-world usability.

Project description

PyPI version Python Versions License

Downloads Twitter Follow gurrt

gurrt is an intelligent video understanding system, an open-source alternative to monolithic Large Video Language Models built out of frustration.

One cannot work with Large Video Language Models :

  • Expensive to set up
  • GPU intensive
  • Slow to experiment with
  • Difficult to run on consumer hardware
  • Often closed or partially restricted

Most state-of-the-art video models require massive compute clusters and large-scale infrastructure.
They are impressive โ€” but they are not accessible.

If meaningful video intelligence requires:

  • Multiple high-end GPUs
  • Hours of inference time
  • Proprietary model access

Then it stops feeling truly open.


A Different Philosophy

gurrt is not an attempt to compete with systems like YouTubeโ€™s internal models or other large-scale industrial LVLMs trained on massive GPU clusters. It is an attempt to rethink the approach. Instead of asking how to build a larger end-to-end video transformer, it explores a different path:

  • Smarter frame sampling techniques
  • Stronger and more modular vision models
  • Better structured embedding strategies
  • More efficient and grounded RAG pipelines
  • Persistent memory-driven reasoning

The idea is how can i just get the job done with minimal efforts yielding high end results

It represents a belief that meaningful video understanding can emerge from:

  • Thoughtful engineering
  • Smart sampling
  • Strong modular components
  • Memory-augmented retrieval

Not just from massive GPU clusters and billion-parameter models.

๐ŸŒฟ Quick Start Guide for pypi package

1. Installation

Set up gurrt using uv. Note: This project requires Python 3.12.

# 1. Install uv and set Python version
pip install uv
uv venv
uv python pin 3.12

# 2. Activate environment
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# 3. Install gurrt (Standard/CPU)
uv pip install gurrt

# 4. OR Install with GPU Support
uv pip install gurrt[cuda] --extra-index-url https://download.pytorch.org/whl/cu121

2. Commands

Command Description
gurrt init Configure API keys (Groq, Supermemory, Ollama).
gurrt models-download Download and cache AI models locally.
gurrt index <path> Extract frames and audio for search.
gurrt index-ollama <path> <model> Index using a specific Ollama model.
gurrt ask "<query>" Query your indexed video content.

The tool automatically optimizes performance by disabling unnecessary logging and tokenizer parallelism to ensure a clean CLI experience yet some logs do appear of Moviepy will resolve it in future iterations.


Architecture Overview

Video
  โ”‚
  โ”œโ”€โ”€ Smart Frame Extraction
  โ”‚     โ””โ”€โ”€ Captioning + Embeddings
  โ”‚
  โ”œโ”€โ”€ Audio Extraction
  โ”‚     โ””โ”€โ”€ Speech-to-Text + Embeddings
  โ”‚
  โ”œโ”€โ”€ Vector Memory Store
  โ”‚
  โ”œโ”€โ”€ Supermemory (Persistent Conversation Layer)
  โ”‚
  โ””โ”€โ”€ LLM Reasoning Engine

Project Setup (using uv)

# Install uv if you haven't already
pip install uv

# Sync dependencies
uv sync

# Activate environment
.venv\Scripts\activate

File Structure

gurrt/
โ”œโ”€โ”€ src/
โ”‚   |
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ videorag/                      # Core Video-RAG application package
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€ api/
โ”‚       โ”‚   โ””โ”€โ”€ server.py              # API server (exposes endpoints for querying, ingestion, etc.)
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€ cli/
โ”‚       โ”‚   โ””โ”€โ”€ main.py                # CLI entry point (init, ingest, query commands)
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€ config/
โ”‚       โ”‚   โ””โ”€โ”€ config.py              # Configuration management (API keys, paths, environment setup)
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€ core/                      # Core intelligence pipeline
โ”‚       โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚       โ”‚   โ”œโ”€โ”€ asr.py                 # Audio extraction + speech-to-text processing
โ”‚       โ”‚   โ”œโ”€โ”€ embedding.py           # Embedding generation for captions & transcripts
โ”‚       โ”‚   โ”œโ”€โ”€ llm.py                 # LLM interaction and reasoning logic
โ”‚       โ”‚   โ”œโ”€โ”€ models.py              # Model loading and management utilities
โ”‚       โ”‚   โ”œโ”€โ”€ pipeline.py            # End-to-end ingestion + query pipeline orchestration
โ”‚       โ”‚   โ”œโ”€โ”€ prompts.py             # Prompt templates and structured context injection
โ”‚       โ”‚   โ”œโ”€โ”€ search.py              # Retrieval logic (semantic search over stored embeddings)
โ”‚       โ”‚   โ””โ”€โ”€ vectordb.py            # Vector database interface and storage abstraction
โ”‚       โ”‚
โ”‚       โ””โ”€โ”€ utils/
โ”‚           โ””โ”€โ”€ utils.py            # Shared utility functions and helpers
โ”‚
โ””โ”€โ”€ README.md                         # Project documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gurrt-1.0.2.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gurrt-1.0.2-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file gurrt-1.0.2.tar.gz.

File metadata

  • Download URL: gurrt-1.0.2.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for gurrt-1.0.2.tar.gz
Algorithm Hash digest
SHA256 762d2af0e491390f38e5367b3e336adbec9546eca75d55a8b4b95a15a0d97265
MD5 9c02552e50c985a7676cedc4a7c5c2ba
BLAKE2b-256 0e0854458659138feb57162e07df4e7f89f08634abd343e0214a0a2262353859

See more details on using hashes here.

File details

Details for the file gurrt-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: gurrt-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for gurrt-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a541b517be83f839ce46bdc32fb139cfa5772661241ad7ff0755db19a92cb1f2
MD5 52b7796728ca02b3b7cb5437aea96b42
BLAKE2b-256 ffeee081485fefa1c4a7539e48219e266e832b5a0a52b4855ebe5cf2201a19cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page