Skip to main content

OuEstCharlie Woof — central controller and UI backend

Project description

Woof — Your Photos, Your Storage, Your Rules

Early preview release. Woof is functional but rough around the edges. Expect missing features, occasional errors, and breaking changes between releases. See the status section below.

Woof is the gateway to OuEstCharlie, a photo management system that keeps your photos exactly where they are — on your own drives — while giving you a beautiful, searchable gallery powered by your AI assistant.

No cloud subscription. No proprietary lock-in. Your library, your way.

What makes it different

Most photo managers lock your library into a cloud service (Google Photos, iCloud) or require a database server that becomes a single point of failure. Woof takes a different approach:

  • Conversation as your gallery. Woof connects to your AI assistant (Claude Desktop, ChatGPT, Goose…) and turns it into a full photo browser. Ask in plain language, get results inline. No separate app to learn.
  • Privacy by design. Only metadata travels to your AI assistant — your actual photos are served locally by Woof. Your pictures are never uploaded to any AI service unless you explicitly ask.
  • No database. Metadata lives as XMP sidecar files right next to your photos, plus lightweight JSON manifests. Move a drive, copy a folder — your entire organization travels with your photos.
  • Open formats, forever. XMP is an ISO standard. JSON is universal. AVIF is royalty-free. Every tool you already use — Lightroom, darktable, ExifTool — can read your metadata today and long after OuEstCharlie is gone.
  • Your photos are never touched. Woof reads your library as-is. It never modifies, moves, or deletes your original files. It also honors existing XMP metadata from Lightroom, darktable, or any other tool — rather than overwriting it.
  • Works with your existing folder structure. Just point Woof at your photos folder. No migration, no reorganization required.

Installation

Woof runs as a local MCP server. It connects to your AI desktop client and exposes your photo library as a set of tools.

Prerequisites

  • uv — handles Python automatically, uvx is included

Early preview: Woof is currently published on Test PyPI. The --extra-index-url flag in the configs below points there. This flag will be dropped once Woof is published on the main PyPI index.

Connect to Claude Desktop

Add Woof to your Claude Desktop MCP configuration. Open (or create) ~/Library/Application Support/Claude/claude_desktop_config.json and add:

{
  "mcpServers": {
    "woof": {
      "command": "uvx",
      "args": ["--extra-index-url", "https://test.pypi.org/simple/", "--extra-index-url", "https://pypi.org/simple/", "--from", "ouestcharlie-woof", "woof"]
    }
  }
}

Restart Claude Desktop. Woof will appear as an MCP integration, and the gallery will render as an interactive panel inside your conversation.

Connect to ChatGPT Desktop

ChatGPT Desktop supports MCP servers. Add Woof in Settings → Connectors → Add MCP Server:

  • Name: Woof
  • Command: uvx
  • Arguments: --extra-index-url https://test.pypi.org/simple/ --from ouestcharlie-woof woof

Connect to Goose

Goose supports MCP servers via its extension system. Add the following to your Goose configuration (~/.config/goose/config.yaml):

extensions:
  woof:
    type: stdio
    cmd: uvx
    args: ["--extra-index-url", "https://test.pypi.org/simple/", "--extra-index-url", "https://pypi.org/simple/", "--from", "ouestcharlie-woof", "woof"]
    enabled: true

First Steps

1. Register your photos folder

Once Woof is connected to your AI client, ask it to register your photo folder:

"Add a local backend to Woof pointing to /Users/yourname/Pictures"

Woof supports any folder on a local drive — including folders synced from iCloud Drive, OneDrive, or Google Drive, as long as the files are locally available.

2. Index your library

Trigger the indexer to scan your photos and build the metadata index:

"Index my local backend"

Woof will launch the indexing agent, which will:

  • Read EXIF/XMP metadata from each photo
  • Write XMP sidecar files alongside your originals (never modifying the originals)
  • Generate thumbnails and previews
  • Build a fast index for querying

Indexing speed is roughly 10 to 100 seconds per 1,000 photos depending on format and hardware.

3. Start browsing

Once indexing is complete, just ask:

"Show me photos in Woof from last July"

"In Woof, show me pictures taken near Paris"

"How many photos do I have in Woof?"

The gallery panel will appear inline in your conversation with matching results.


Storage

V1 supports local filesystem backends on macOS, Linux, and Windows. This includes:

  • A standard local hard drive or SSD
  • A folder synced from iCloud Drive, OneDrive, Google Drive, or Infomaniak kDrive — as long as files are downloaded and locally accessible

Native cloud storage (S3, Azure, GCS, OneDrive API) is planned for V2.


Status

Woof is an early preview targeting a focused V1 scope:

Feature Status
Local filesystem indexing (macOS, Linux, Windows) Working
Mounted cloud drives (iCloud Drive, OneDrive, kDrive) Working — files must be locally synced
JPEG, HEIC, RAW, PNG support Working
Date-based search Working
Gallery view (Claude Desktop) Working
Native cloud backends (S3, OneDrive, GCS…) Planned for V2
Enrichment agents (faces, scene recognition) Planned for V2
Albums and smart filters Planned for V2
Change detection / automatic re-indexing Planned for V2
Mobile companion app Planned for V2
Video support Planned

What this means for you: V1 works well for browsing and searching a local photo library. If you hit a bug or unexpected behavior, please open an issue.


Developers' corner

For developer and architecture documentation, see README_DEV.md.

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_woof-0.2.0.tar.gz (153.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_woof-0.2.0-py3-none-any.whl (71.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ouestcharlie_woof-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ec6ef779c800729e7f511f75b4b80c25ec1615d066099d56d4e2e8cca82d82bf
MD5 9b34f3dd8889ba8cc51141e3fe3532fa
BLAKE2b-256 c4603d0b10d3fcfc26755f70ff588845aaa7cf1d720d2c9139fa45cc10cead23

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on ouestcharlie/ouestcharlie-woof

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_woof-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ouestcharlie_woof-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c95a81d69beab6b82734d2ada8f198779b12b7449a60baa965ebfb8b2880bf0a
MD5 4dd4ec66c8d6d7491c7f0c2078e74e8d
BLAKE2b-256 f80524038e2d5a0bdb6e13ecb8e27b23fe7035a35f693fee19434efb35121cf0

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on ouestcharlie/ouestcharlie-woof

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