Skip to main content

Interactive evidence-search and relevance-feedback experiment scaffold.

Project description

evidence-fetcher

evidence-fetcher is an interactive evidence-search and relevance-feedback experiment.

The current vertical slice fetches web evidence from Brave Search, normalizes the provider response, removes duplicate URLs, and exposes the results through a Python API and a small command-line interface.

Installation

Install the core package:

pip install evidence-fetcher

Configuration

Create a Brave Search API key and expose it as BRAVE_SEARCH_API_KEY:

export BRAVE_SEARCH_API_KEY="..."

Python API

from evidence_fetcher import fetch_evidence

results = fetch_evidence("retrieval augmented generation evaluation")

for evidence in results:
    print(evidence.title)
    print(evidence.url)
    print(evidence.snippet)

fetch_evidence() returns typed Evidence objects with normalized title, url, snippet, source, and rank fields.

CLI

Readable text output:

evidence-fetcher "retrieval augmented generation evaluation"

JSON output:

evidence-fetcher "retrieval augmented generation evaluation" --format json

Use --limit to control the maximum number of results.

Architecture

The public API is intentionally small: fetch_evidence() accepts a query and returns normalized, deduplicated Evidence results. Provider-specific HTTP requests, credential handling, and response parsing live behind an internal Brave Search provider. The provider depends on a small HTTP client protocol, so tests and future integrations can inject a mock client instead of using the network.

Package-specific exceptions distinguish configuration errors, request failures, and malformed provider responses.

Only Brave Search is implemented in this slice. No Streamlit UI or additional search providers are included yet.

Development

This project uses uv for environment and dependency management.

uv sync
uv run pytest
uv run ruff check .
uv run mypy src
uv build
uv run sphinx-build -b html docs/source docs/built

Common shortcuts are available through make:

make check
make docs
make clean

Documentation

Documentation is built with Sphinx and Furo from docs/source/ into docs/built/. Read the Docs should build the documentation through its normal repository integration.

Releases

Releases are managed with Python Semantic Release and Conventional Commits. The GitHub Actions release workflow is intended to create the release commit, tag, GitHub release, wheel, sdist, and PyPI publication through trusted publishing.

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

evidence_fetcher-0.1.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

evidence_fetcher-0.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file evidence_fetcher-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for evidence_fetcher-0.1.0.tar.gz
Algorithm Hash digest
SHA256 01e6b318e169764bb04bbac95e3c12f612573c0147230eef7e4b4d9d8a6baa08
MD5 86dbc4f6691addce3046fc60f91acb2f
BLAKE2b-256 9f78ff5b76774af4ead0b8fc84106ce24ef0f8ebdb364aabe676023df5cadda2

See more details on using hashes here.

Provenance

The following attestation bundles were made for evidence_fetcher-0.1.0.tar.gz:

Publisher: release.yml on yeiichi/evidence-fetcher

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

File details

Details for the file evidence_fetcher-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for evidence_fetcher-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 494634e16d0495ca28d1234371c43f94c55080732583f983dfd14d930f74592a
MD5 7bb94ca8f67074d9df49cbc3a30295c8
BLAKE2b-256 bfbf97a9fc9187ce1f2f3a88ddc857eae76d09d11a1877536d34eaef41992290

See more details on using hashes here.

Provenance

The following attestation bundles were made for evidence_fetcher-0.1.0-py3-none-any.whl:

Publisher: release.yml on yeiichi/evidence-fetcher

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