Skip to main content

Amon Hen

"From the Seat of Seeing, no moment remains hidden."

A fast, lightweight CLI and Python library for natural language video moment retrieval on local CPU. Runs entirely on CPU without discrete GPUs, background daemons, or cloud dependencies.

PyPI Python 3.11+ License: MIT


Key Highlights

  • 100% CPU Execution: Powered by Apple's MobileCLIP2 architecture and ONNX Runtime.
  • Low Footprint: Hybrid FP32-vision + INT8-quantized text pipeline (approx. 105 MB RAM).
  • Zero Infrastructure: Embedded vector database via SQLite and sqlite-vec (single .db file).
  • High Throughput: 3-gate adaptive motion sampler achieving 4.8x to 18.5x realtime indexing speed.
  • Temporal Grouping: Merges consecutive matching frames into start-end timestamp intervals.

Installation

# Recommended via uv
uv tool install amon-hen

# Or via pipx
pipx install amon-hen

# Or standard pip
pip install amon-hen

Quickstart

1. Interactive Terminal UI

Run amon-hen without arguments to launch the interactive prompt:

amon-hen

Supports instant search queries, history navigation (/), /open <n> to play matches in your default player, and /cut <n> [output] to export clips.

2. Index Videos

# Index a video or entire folder with adaptive motion sampling
amon-hen index /path/to/videos/ --sampler adaptive

3. Search Moments

# Search using natural language
amon-hen search "a person holding an umbrella"

4. Extract Video Clip

# Extract matching segment into a standalone video clip
amon-hen cut video.mp4 --start 00:00:37 --end 00:01:06 -o match.mp4

Python API

from amonhen.store import Store
from amonhen.model_registry import get_model
from amonhen.encode import TextEncoder
from amonhen.pipeline import search

# 1. Connect to index
store = Store("index.db", embed_dim=512)

# 2. Load CPU-optimized text encoder
model = get_model("mobileclip2-s0").download()
text_encoder = TextEncoder(model.text_model_path, model.tokenizer_path)

# 3. Retrieve matching video segments
results = search("red sports car turning", store=store, text_encoder=text_encoder)
for seg in results:
    print(
        f"{seg.video_path}: {seg.start_ms / 1000.0:.1f}s - {seg.end_ms / 1000.0:.1f}s (score: {seg.score:.3f})"
    )

Resources & Links

Download files

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

Source Distribution

amon_hen-0.1.12.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

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

amon_hen-0.1.12-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

File details

Details for the file amon_hen-0.1.12.tar.gz.

File metadata

  • Download URL: amon_hen-0.1.12.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for amon_hen-0.1.12.tar.gz
Algorithm Hash digest
SHA256 5e436293a2ecffba576a76b9d0d525db12cb4e6c042c13a9f368e595e8e8ff14
MD5 079a00b5afa7489489d8589a36775b90
BLAKE2b-256 a988d228e7c515251e504295a15d8d86f6af4df05967b93aef8e10337e314735

See more details on using hashes here.

Provenance

The following attestation bundles were made for amon_hen-0.1.12.tar.gz:

Publisher: release.yml on flxhrdyn/amon-hen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amon_hen-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: amon_hen-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 34.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for amon_hen-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 694fb72c06b2b954ab1066bb0404276999fe3b2605991e8e5dbe994ee2a5fb30
MD5 3cb7f6c648d700e306e6d8719e53228b
BLAKE2b-256 622b34981dd7f4a05250588e1dc6645bd13dc1c3e53ce47ef03f51e32f0e0a17

See more details on using hashes here.

Provenance

The following attestation bundles were made for amon_hen-0.1.12-py3-none-any.whl:

Publisher: release.yml on flxhrdyn/amon-hen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.21

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.17

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

This release

0.1.12 This release

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page