Skip to main content

OuEstCharlie Wally — photo search/consumption agent

Project description

OuEstCharlie — Wally

Wally is the search/consumption agent for OuEstCharlie. It is stateless and read-only: Woof launches it as a child process (MCP server over stdio), passes a structured search predicate via search_photos, and Wally returns matching photo metadata by traversing the manifest tree. It never reads XMP sidecars or writes anything.

Design Documents

Document Purpose
wally_LLD.md Low-level design

Repository Structure

src/wally/
├── __main__.py   # Entry point (stdio MCP server)
├── agent.py      # WallyAgent(AgentBase) — MCP tool registration, date parsing
└── searcher.py   # Pure async search logic — no MCP dependency, independently testable

tests/
└── test_searcher.py

searcher.py has no MCP dependency and can be unit-tested directly. agent.py is the thin adapter that registers the tool with FastMCP and handles date string parsing and result serialization.

Installation

From PyPI (recommended)

pip install wally

From source (development)

Requires the sibling ouestcharlie-py-toolkit repo:

uv venv
uv sync

Running Tests

Always use .venv/bin/python -m pytest:

.venv/bin/python -m pytest tests/ -v

Context

Repository Purpose
ouestcharlie Architecture docs, HLR/HLD, MCP interface
ouestcharlie-py-toolkit Python toolkit for agents
ouestcharlie-whitebeard Indexing agent
ouestcharlie-wally (this repo) Search/consumption agent
ouestcharlie-woof Woof controller

See ouestcharlie/HLD.md for the overall system architecture.

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

ouestcharlie_wally-0.2.0.tar.gz (75.2 kB view details)

Uploaded Source

Built Distribution

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

ouestcharlie_wally-0.2.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file ouestcharlie_wally-0.2.0.tar.gz.

File metadata

  • Download URL: ouestcharlie_wally-0.2.0.tar.gz
  • Upload date:
  • Size: 75.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ouestcharlie_wally-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e283ee83c0bed6baccf0647584c3ebbeefe7f739bef90687e3acd4f086de647c
MD5 700aa244fe5ddc59c624d2e303a27082
BLAKE2b-256 f40c9e68f027a5ca6508f00d93019b0d74638e64dbcdbe25fd91795b9d1cb92a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_wally-0.2.0.tar.gz:

Publisher: publish.yml on ouestcharlie/ouestcharlie-wally

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

File details

Details for the file ouestcharlie_wally-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ouestcharlie_wally-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b861f12881fde75e1b0f34c95bc4c4f5b94430dc64c399486482ecb0e208bd13
MD5 9cf8c67797d3d74014220de92939fba8
BLAKE2b-256 9c2cf3be8123e35c581f73a98fc74eb5cb145f4c0ecdac12ec1f03561f131ce1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_wally-0.2.0-py3-none-any.whl:

Publisher: publish.yml on ouestcharlie/ouestcharlie-wally

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

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