OuEstCharlie Whitebeard — photo indexer agent for local drives
Project description
Whitebeard: Photo library indexer
Whitebeard is the indexing agent for OuEstCharlie. It operates in index mode:
scan an existing local photo library in place (no files moved), create XMP sidecars
with ouestcharlie: fields, and write leaf manifests.
More about OuEstCharlie on the OuEstCharlie Blog
MCP tool exposed: index_partition(partition, force=False).
Project Layout
src/whitebeard/
indexer.py — core logic (no MCP dependency, independently testable)
agent.py — WhitebeardAgent(AgentBase) registering MCP tools
__main__.py — entry point: python -m whitebeard
tests/
test_indexer.py
Installation
From PyPI (recommended)
pip install whitebeard
From source (development)
Requires the sibling ouestcharlie-py-toolkit repo and a built image-proc binary (see its README_DEV.md):
uv venv
uv sync
Running Tests
Always use .venv/bin/python -m pytest:
.venv/bin/python -m pytest tests/ -v
MCP Inspector
Use mcp dev from the repo root with a backend config pointing at a local photo folder:
WOOF_BACKEND_CONFIG='{"type":"filesystem","root":"/path/to/photos"}' \
mcp dev src/whitebeard/__main__.py
Note: The default MCP Inspector timeout is too low for full-library indexing runs. Increase it in the Inspector settings before calling
index_partition.
Context
| Repository | Purpose |
|---|---|
| ouestcharlie | Architecture docs, HLR/HLD, MCP interface |
| ouestcharlie-woof | Woof controller |
| ouestcharlie-py-toolkit | Python toolkit for agents |
| ouestcharlie-whitebeard This repo | Indexing agent |
| ouestcharlie-wally | Search/consumption agent |
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
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 ouestcharlie_whitebeard-0.5.0.tar.gz.
File metadata
- Download URL: ouestcharlie_whitebeard-0.5.0.tar.gz
- Upload date:
- Size: 373.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe87a69831f9e6f6d718da2ee4ff8aff132d658217ce5b6b0950a37b88a9cf88
|
|
| MD5 |
322a9778326f241d1e590d64d34e13ef
|
|
| BLAKE2b-256 |
94d13494630dfb6d69f7a8cf66bdb606cf97190a945cace4372fea3a670ff16d
|
Provenance
The following attestation bundles were made for ouestcharlie_whitebeard-0.5.0.tar.gz:
Publisher:
publish.yml on ouestcharlie/ouestcharlie-whitebeard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ouestcharlie_whitebeard-0.5.0.tar.gz -
Subject digest:
fe87a69831f9e6f6d718da2ee4ff8aff132d658217ce5b6b0950a37b88a9cf88 - Sigstore transparency entry: 1338569974
- Sigstore integration time:
-
Permalink:
ouestcharlie/ouestcharlie-whitebeard@a90d1d6575ba51a6f20b8ade1347dcc62171b26c -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/ouestcharlie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a90d1d6575ba51a6f20b8ade1347dcc62171b26c -
Trigger Event:
push
-
Statement type:
File details
Details for the file ouestcharlie_whitebeard-0.5.0-py3-none-any.whl.
File metadata
- Download URL: ouestcharlie_whitebeard-0.5.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
086e932aa810bda6c0eccde4ecb3831450ceb219f7b846cca8637786ec7c296a
|
|
| MD5 |
5a16cebdb59d2ce94f2b06df4e8cbb21
|
|
| BLAKE2b-256 |
f0b2ddab198176432555362eef7cc69f84205ce769aae05337fc4dd1845f21aa
|
Provenance
The following attestation bundles were made for ouestcharlie_whitebeard-0.5.0-py3-none-any.whl:
Publisher:
publish.yml on ouestcharlie/ouestcharlie-whitebeard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ouestcharlie_whitebeard-0.5.0-py3-none-any.whl -
Subject digest:
086e932aa810bda6c0eccde4ecb3831450ceb219f7b846cca8637786ec7c296a - Sigstore transparency entry: 1338569986
- Sigstore integration time:
-
Permalink:
ouestcharlie/ouestcharlie-whitebeard@a90d1d6575ba51a6f20b8ade1347dcc62171b26c -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/ouestcharlie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a90d1d6575ba51a6f20b8ade1347dcc62171b26c -
Trigger Event:
push
-
Statement type: