Image interpreter for automation workflows - local, offline, 8x fewer tokens
Project description
farscry
Image interpreter for automation workflows - local, offline, 8x fewer tokens
pip install farscry
farscry screenshot.png
from farscry import extract, diff, extract_batch
Extract VASP context from an image
vasp = extract("screenshot.png")
print(vasp)
Diff two screenshots
delta = diff("before.png", "after.png")
Batch processing (parallel)
results = extract_batch(["a.png", "b.png", "c.png"])
What it does
farscry converts screenshots into typed, coordinate-rich text that automation workflows can act on - without vision APIs, without API keys, and with 8x fewer tokens than raw image sending.
It speaks VASP (Visual Application State Protocol).
Install
pip
pip install farscry
npm
npm install -g farscry
Homebrew
brew install teles-forge/farscry/farscry
curl
curl -fsSL https://farscry.dev/install | sh
Python API
from farscry import extract, diff, extract_batch, FarscryError
From file path
vasp = extract("screenshot.png")
From bytes (PNG/JPG/WebP)
with open("screenshot.png", "rb") as f:
vasp = extract(f.read())
JSON output
vasp_json = extract("screenshot.png", json=True)
Diff
delta = diff("before.png", "after.png")
Batch (parallel via rayon)
results = extract_batch(["a.png", "b.png"])
Error handling
try:
vasp = extract("nonexistent.png")
except FarscryError as e:
print(f"Failed (exit {e.exit_code}): {e}")
Platforms
| Platform | Architecture | Notes |
|---|---|---|
| macOS | Apple Silicon (arm64) | Native CoreML, 21ms |
| macOS | Intel (x64) | |
| Linux | x86_64 | |
| Windows | x86_64 |
License
Apache-2.0. See NOTICES for ONNX Runtime attribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file farscry-0.1.0.tar.gz.
File metadata
- Download URL: farscry-0.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4e597adfc9f89195a1d82cca52da70b7e0094a668108f992e5e42d443c286a6
|
|
| MD5 |
04b4f5d5427a5da413285701d52579d9
|
|
| BLAKE2b-256 |
4126b582bb267d93c5b5e1f2282126c3051e27a87fa998aff6be095e22c0423e
|
File details
Details for the file farscry-0.1.0-py3-none-any.whl.
File metadata
- Download URL: farscry-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f35c75fa7bf474a04c7efe3f3429308c7b9cb3fcf8d6e33293a09ae33baab28b
|
|
| MD5 |
00dc1c340d936694c2fb0409302a45d9
|
|
| BLAKE2b-256 |
bc240773dec7b76bd1bb43e553ece233661d9dfb6ad982383f5387ec2fcbcd17
|