zyra.connectors.discovery package
Submodules
Module contents
Dataset discovery backends and CLI for zyra search.
Implements a lightweight local backend that searches the packaged SOS dataset catalog at zyra.assets.metadata/sos_dataset_metadata.json.
Also includes a federated API search subcommand, zyra search api
, that can
query one or more Zyra-like APIs exposing /search
(or equivalent via
OpenAPI). Results are normalized and can be emitted as JSON/CSV or displayed
as a compact table.
- Usage examples:
zyra search “tsunami”
zyra search “GFS” –json
- Use the selected URI with the matching connector, e.g.:
zyra acquire ftp “$(zyra search ‘earthquake’ –select 1)” -o out.bin
- API search examples:
zyra search api –url https://zyra.noaa.gov/api –query “temperature”
zyra search api –url https://zyra.a.edu/api –url https://zyra.b.edu/api –query “precipitation” –table
- class zyra.connectors.discovery.DatasetMetadata(id: 'str', name: 'str', description: 'str | None', source: 'str', format: 'str', uri: 'str')[source]
Bases:
object
- description: str | None
- format: str
- id: str
- name: str
- source: str
- uri: str
- class zyra.connectors.discovery.DiscoveryBackend[source]
Bases:
object
Interface for dataset discovery backends.
- search(query: str, *, limit: int = 10) list[DatasetMetadata] [source]
- class zyra.connectors.discovery.LocalCatalogBackend(catalog_path: str | None = None, *, weights: dict[str, int] | None = None)[source]
Bases:
DiscoveryBackend
Local backend backed by the packaged SOS catalog JSON.
File: zyra.assets.metadata/sos_dataset_metadata.json Schema (subset of fields used here):
url (str): public catalog URL
title (str): dataset title
description (str): dataset description
keywords (list[str]): search tags
ftp_download (str|None): FTP base path to assets (preferred URI)
- search(query: str, *, limit: int = 10) list[DatasetMetadata] [source]