Shared primitive web research core for WeaveRT framework and product-kit adapters.
Project description
weavert-web-research
Framework-level shared web research core used by chat, coding, local-assistant, and devtools adapters.
This package is the primitive substrate, not the public owner of the high-level web_research workflow surface.
What this package owns
- normalized source, page, and citation-ready web result structures
- shared public-host and domain-policy enforcement
- a provider registry for deterministic search provider selection, capability metadata, and fallback reporting
- framework-owned research-loop state for budget usage, source and evidence ledgers, provider/freshness events, bounded traces, conflicts, gaps, and stop classification
- a thin backend seam for search, page inspection, and page-local finding
- the default DuckDuckGo HTML plus direct-fetch backend used by first-party adapters
- optional Azure AI Foundry Bing grounding, Google Programmable Search, and Brave Search API provider paths for configured deployments
Provider and freshness behavior
- DuckDuckGo HTML remains the no-credential fallback provider. It reports freshness as unsupported and the core post-filters domain policy.
- Bing grounding is available when
FOUNDRY_PROJECT_ENDPOINT,FOUNDRY_MODEL_DEPLOYMENT_NAME,BING_PROJECT_CONNECTION_ID, andAGENT_TOKENare set. SetWEAVERT_WEB_SEARCH_PROVIDER=bing-groundingto prefer it explicitly. This provider uses Azure AI Foundry Responses APIbing_groundingwith the configured project connection; it does not call the retired Bing Search API v7 endpoint atapi.bing.microsoft.com/v7.0/search. - Google Programmable Search is available when both
GOOGLE_SEARCH_API_KEYandGOOGLE_SEARCH_CXare set. SetWEAVERT_WEB_SEARCH_PROVIDER=google-searchto prefer it explicitly. - Brave Search is available when
BRAVE_SEARCH_API_KEYorWEAVERT_BRAVE_SEARCH_API_KEYis set. SetWEAVERT_WEB_SEARCH_PROVIDER=brave-searchto prefer it explicitly. freshness_days,recency_days, or compactfreshness.daysmap to provider freshness only when the selected provider supports it. Otherwise results includefreshness_scope.status="unsupported".- Bing grounding returns grounding citations rather than raw search API records. The adapter maps result count and supported freshness hints into the Foundry grounding request, accepts only stable public
httporhttpsURLs as candidate results, and leaves framework-side public-host, allowed-domain, and blocked-domain validation authoritative. - Google and Brave domain allow/block constraints are mapped with
site:and-site:query operators, then revalidated by the shared core. - Google freshness maps to
dateRestrict; Brave freshness maps to Brave'sfreshnessparameter; Bing grounding freshness maps to the supported Foundryfreshnessvalues for 1, 7, and 30 day windows. These are reported as provider-side freshness enforcement when mapped, but final URL policy remains enforced by the shared core. - When Bing grounding, Google, and Brave are all configured, the default registry tries Bing grounding first, then Google, then Brave, then DuckDuckGo HTML. Explicit
WEAVERT_WEB_SEARCH_PROVIDERselection still takes precedence and falls back through the remaining configured providers when fallback is allowed. - Default tests use deterministic
FixtureWebResearchProviderinstances and mocked provider responses. Live-provider smoke checks are opt-in by setting provider credentials and running targeted tests outside the default deterministic suite. - Profile-aware loops attach bounded source-quality metadata such as source class, duplicate cluster, profile-priority signals, freshness signals, and provider metadata. These signals explain selection and evaluation; they are not independent proof of factual truth.
- Ledger-bound claim annotations may be merged by higher-level kits only when they reference an existing source, page, or evidence handle. Rule-derived dates, versions, prices, numbers, source-type hints, and duplicate signals are auxiliary diagnostics, not truth validators.
Higher-level packages such as weavert-kit-common-web-research compose this core through their package adapters. The shared common web research kit owns the public web_research tool and its package-owned delegated worker.
Canonical names
- install name:
weavert-web-research - import root:
weavert_web_research
See also
../../README.md../../../product-kits/common/web-research/README.md
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 weavert_web_research-0.1.0.tar.gz.
File metadata
- Download URL: weavert_web_research-0.1.0.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
675bf692f30e94c8b21129bf70d764858a75238541ec61fa93d6753c585236bf
|
|
| MD5 |
e9c1df2206365ec6cccd398a582e4870
|
|
| BLAKE2b-256 |
0864ea882a7592f918e82290da566dcced21fd6516f33acc8f136dbbe964a896
|
Provenance
The following attestation bundles were made for weavert_web_research-0.1.0.tar.gz:
Publisher:
publish-public-packages.yml on xyz2b/weave-ai-runtime
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
weavert_web_research-0.1.0.tar.gz -
Subject digest:
675bf692f30e94c8b21129bf70d764858a75238541ec61fa93d6753c585236bf - Sigstore transparency entry: 1563135067
- Sigstore integration time:
-
Permalink:
xyz2b/weave-ai-runtime@0f39e07008e531fb0b60175824f22019483b909b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/xyz2b
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-public-packages.yml@0f39e07008e531fb0b60175824f22019483b909b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file weavert_web_research-0.1.0-py3-none-any.whl.
File metadata
- Download URL: weavert_web_research-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.3 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 |
15a3f502a470c219ce2499f66aa3900346a2088719f03d7b823e731452eb87ff
|
|
| MD5 |
60ec2e599851fec93593ddb870211bde
|
|
| BLAKE2b-256 |
0e223ba2d63d26107e84beff6d3b1834474692c9ca2f0f292bb05baed7a434e7
|
Provenance
The following attestation bundles were made for weavert_web_research-0.1.0-py3-none-any.whl:
Publisher:
publish-public-packages.yml on xyz2b/weave-ai-runtime
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
weavert_web_research-0.1.0-py3-none-any.whl -
Subject digest:
15a3f502a470c219ce2499f66aa3900346a2088719f03d7b823e731452eb87ff - Sigstore transparency entry: 1563135079
- Sigstore integration time:
-
Permalink:
xyz2b/weave-ai-runtime@0f39e07008e531fb0b60175824f22019483b909b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/xyz2b
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-public-packages.yml@0f39e07008e531fb0b60175824f22019483b909b -
Trigger Event:
workflow_dispatch
-
Statement type: