Skip to main content

Python wrapper for the Tavily API

Project description

This Python wrapper allows for easy interaction with the Tavily API, offering both basic and advanced search functionalities directly from your Python programs. Easily integrate smart search capabilities into your applications, harnessing Tavily’s powerful search features.

Installing

pip install tavily-python

Usage

from tavily import Client
tavily = Client(api_key="YOUR_API_KEY")
# For basic search:
tavily.search(query="Should I invest in Apple right now?")
# For advanced search:
tavily.search(query="Should I invest in Apple right now?", search_depth="advanced")

Additional Methods

# You can easily get search result context based on any max tokens straight into your RAG.
# The response is a string of the context within the max_token limit.
tavily.get_search_context(query="What happened in the burning man floods?", search_depth="advanced", max_tokens=1500)

# You can also get a simple answer to a question including relevant sources all with a simple function call:
tavily.qna_search(query="Where does Messi play right now?")

API Methods

Client

The Client class is the entry point to interacting with the Tavily API. Kickstart your journey by instantiating it with your API key.

Methods

  • search(query, search_depth, **kwargs): Performs a search using the specified query. The depth of the search can be controlled by the search_depth parameter.

  • get_search_context(query, search_depth, max_tokens, **kwargs): Performs a search and returns a string of content and sources within token limit. Useful for getting only related content from retrieved websites

    without having to deal with context extraction and token management.

  • qna_search(query, **kwargs): Performs a search and returns a string containing an answer to the original query including relevant sources. Optimal to be used as a tool for AI agents.

Keyword Arguments

  • search_depth (str): The depth of the search. It can be “basic” or “advanced”. Default is “basic”.

  • max_results (int): The number of search results to return. Default is 10.

  • include_domains (list): A list of domains to specifically include in the search results. Default is None, which includes all domains.

  • exclude_domains (list): A list of domains to specifically exclude from the search results. Default is None, which doesn’t exclude any domains.

  • include_answer (bool): Whether or not to include answers in the search results. Default is False.

  • include_raw_content (bool): Whether or not to include raw content in the search results. Default is False.

Both methods internally call the _search method to communicate with the API.

Error Handling

In case of an unsuccessful HTTP request, a HTTPError will be raised.

License

This project is licensed under the terms of the MIT license.

Contact

For questions, support, or to learn more, please visit Tavily.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tavily-python-0.2.2.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

tavily_python-0.2.2-py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page