A small provider-neutral web search abstraction with Brave Search support.
Project description
search-smith
search-smith is a small, reusable web-search abstraction package. Version
0.1.0 supports Brave Search as the only functional provider while keeping the
public API provider-neutral.
Background
Programmatic web search is often a small but important part of evidence
collection, fact-checking, and retrieval workflows. As older APIs such as
Google's Custom Search JSON API become harder to rely on for new projects,
applications need a thin layer that can normalize results without tying the
rest of the codebase to one provider. search-smith starts with Brave Search,
which provides public web results from Brave's independent search index, and
keeps the provider boundary small enough for future alternatives.
Quick start
uv add search-smith
export BRAVE_SEARCH_API_KEY="..."
from search_smith import search
results = search("Python semantic release", count=10)
for result in results:
print(result.title)
print(result.url)
You can also use the explicit Brave client:
from search_smith import BraveSearch
client = BraveSearch()
results = client.search("Python semantic release")
The CLI is available as search-smith:
search-smith "Brave Search API" --count 5
search-smith "Brave Search API" --format json
Full documentation is in docs/ and is intended to be published by Read the
Docs at https://search-smith.readthedocs.io/.
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 search_smith-0.1.0.tar.gz.
File metadata
- Download URL: search_smith-0.1.0.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf148d4938db8262365c018408b15f461d0c73a441368e787c33b2f70708101e
|
|
| MD5 |
e2be78f82bcba609e49298080d057c04
|
|
| BLAKE2b-256 |
0e13c7f7ec5184fc9976b33082ad358e53a04720094c07027cd23060db9839e3
|
Provenance
The following attestation bundles were made for search_smith-0.1.0.tar.gz:
Publisher:
release.yml on yeiichi/search-smith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
search_smith-0.1.0.tar.gz -
Subject digest:
cf148d4938db8262365c018408b15f461d0c73a441368e787c33b2f70708101e - Sigstore transparency entry: 2179961791
- Sigstore integration time:
-
Permalink:
yeiichi/search-smith@6d4e6f4f9ac14770ebdac7fb78478c8fa2d01dbf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yeiichi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6d4e6f4f9ac14770ebdac7fb78478c8fa2d01dbf -
Trigger Event:
push
-
Statement type:
File details
Details for the file search_smith-0.1.0-py3-none-any.whl.
File metadata
- Download URL: search_smith-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.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 |
8bf004bd5f823ed8c3b332ac90d7a7997232f26cfbcc4eea7d4710d9f35fa136
|
|
| MD5 |
d42436ec773b365ffa523dae6201d73c
|
|
| BLAKE2b-256 |
279924aaa6f4ee82f3b2bedf80dcf9d546fd7808fbef9ff37e58f0ecf56acecc
|
Provenance
The following attestation bundles were made for search_smith-0.1.0-py3-none-any.whl:
Publisher:
release.yml on yeiichi/search-smith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
search_smith-0.1.0-py3-none-any.whl -
Subject digest:
8bf004bd5f823ed8c3b332ac90d7a7997232f26cfbcc4eea7d4710d9f35fa136 - Sigstore transparency entry: 2179961940
- Sigstore integration time:
-
Permalink:
yeiichi/search-smith@6d4e6f4f9ac14770ebdac7fb78478c8fa2d01dbf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yeiichi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6d4e6f4f9ac14770ebdac7fb78478c8fa2d01dbf -
Trigger Event:
push
-
Statement type: