import tarzi
def run_search(engine: str, mode: str, query: str = "rust programming language", limit: int = 3):
config = tarzi.Config.from_str(
f"""
[search]
engine = "{engine}"
mode = "{mode}"
limit = {limit}
"""
)
search_engine = tarzi.SearchEngine.from_config(config)
print(f"=== {engine} / mode={mode} ===")
try:
results = search_engine.search(query, limit)
print(f"Found {len(results)} results:")
for i, result in enumerate(results):
print(f" {i + 1}. {result.title} — {result.url}")
except Exception as e:
print(f"Search failed (expected if key/network missing): {e}")
finally:
search_engine.shutdown()
print()
def main():
run_search("bing", "auto")
run_search("duckduckgo", "webquery")
run_search("brave", "auto")
run_search("brave", "apiquery")
run_search("google_serper", "apiquery")
run_search("google", "webquery")
if __name__ == "__main__":
main()