bub-web-search
Provider-selectable web tools for bub, covering two capabilities:
web.search: search the web, backed by one search providerweb.read: read a webpage as clean markdown, backed by one reader provider
Each capability has its own provider dimension, so they can be mixed freely (e.g. SearXNG for search, Jina for reading).
Search providers
Set BUB_SEARCH_PROVIDER (or provider in the web-search: config section)
to enable exactly one search provider:
ollamasearxngjina
If the provider is unset it is inferred from which provider-specific
configuration is present. If nothing resolves, web.search is not registered.
Reader providers
There is no explicit reader selector: web.read is enabled by configuring a
reader-capable platform. Currently that means a jina_api_key (Jina Reader);
without one, web.read is not registered. A selector field will only be
introduced once more than one reader platform exists.
Installation
bub install bub-web-search
Run bub onboard to select a provider and write its configuration
interactively.
Ollama
Required:
BUB_SEARCH_PROVIDER=ollamaBUB_SEARCH_OLLAMA_API_KEY
Optional:
BUB_SEARCH_OLLAMA_API_BASE- Default:
https://ollama.com/api
- Default:
The web.search tool accepts query and max_results.
Jina
Required:
BUB_SEARCH_PROVIDER=jinafor search;BUB_SEARCH_JINA_API_KEYalone already enables theweb.readreaderBUB_SEARCH_JINA_API_KEY
Optional:
BUB_SEARCH_JINA_SEARCH_BASE- Default:
https://s.jina.ai
- Default:
BUB_SEARCH_JINA_READER_BASE- Default:
https://r.jina.ai
- Default:
BUB_SEARCH_JINA_TIMEOUT_SECONDS- Default:
30
- Default:
The web.search tool accepts query. The web.read tool accepts url and
returns the page content as markdown.
All settings can also be written to the web-search: section of the Bub
config file, e.g.:
web-search:
provider: jina
jina_api_key: jina_...
or mixing platforms per capability (SearXNG searches, Jina reads):
web-search:
provider: searxng
searxng_base_url: https://searx.example.com
jina_api_key: jina_...
SearXNG
Required:
BUB_SEARCH_PROVIDER=searxngBUB_SEARCH_SEARXNG_BASE_URL
Optional:
BUB_SEARCH_SEARXNG_TIMEOUT_SECONDS- Default:
10
- Default:
BUB_SEARCH_SEARXNG_DEFAULT_LANGUAGEBUB_SEARCH_SEARXNG_DEFAULT_SAFE_SEARCH0off,1moderate,2strict- Default:
1
BUB_SEARCH_SEARXNG_USER_AGENT- Default:
bub-web-search/1.0
- Default:
BUB_SEARCH_SEARXNG_AUTH_HEADERBUB_SEARCH_SEARXNG_AUTH_VALUE
The searxng.search tool accepts:
querymax_resultscategoriesengineslanguagetime_rangesafe_search
The SearXNG instance must allow JSON responses from its /search endpoint.
Migration From bub-searxng-search
Replace the package with bub-web-search, set
BUB_SEARCH_PROVIDER=searxng, and rename the environment variables:
BUB_SEARXNG_SEARCH_BASE_URLtoBUB_SEARCH_SEARXNG_BASE_URL- other
BUB_SEARXNG_SEARCH_*variables toBUB_SEARCH_SEARXNG_*
Metadata
Release files for bub-web-search 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bub_web_search-0.1.1.tar.gz | 8.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bub_web_search-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.3 kB
Release files / bub_web_search-0.1.1.tar.gz
| Download URL | bub_web_search-0.1.1.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
81030ba3b1e540adee18be32fa998c4613bd02fcabc3fcd4c347d17a7e5b402f
|
|
BLAKE2b-256 checksum How to use checksums |
8a33053e633a0958e5551831b65e8f2312d8771681c8a2d21f7a7340bceb84f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / bub_web_search-0.1.1-py3-none-any.whl
| Download URL | bub_web_search-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
30fa5f59cd4a0a9be1ed3c0eb55c9c1a8b8386e5bed2ad4904d76f17ae80b785
|
|
BLAKE2b-256 checksum How to use checksums |
93bdb6a84a10e86b48f7e05a6452dd68b5adc192e135e9a12aa5fa42e8a2df70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for bub-web-search 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.