Skip to main content

Python SDK for Exa API.

Project description

Exa

Exa (formerly Metaphor) API in Python

Note: This API is basically the same as metaphor-python but reflects new features associated with Metaphor's rename to Exa. New site is https://exa.ai

Installation

pip install exa_py

Usage

Import the package and initialize the Exa client with your API key:

from exa_py import Exa

exa = Exa(api_key="your-api-key")

Common requests

  # basic search
  results = exa.search("This is a Exa query:")

  # autoprompted search
  results = exa.search("autopromptable query", use_autoprompt=True)

  # keyword search (non-neural)
  results = exa.search("Google-style query", type="keyword")

  # search with date filters
  results = exa.search("This is a Exa query:", start_published_date="2019-01-01", end_published_date="2019-01-31")

  # search with domain filters
  results = exa.search("This is a Exa query:", include_domains=["www.cnn.com", "www.nytimes.com"])

  # search and get text contents
  results = exa.search_and_contents("This is a Exa query:")

  # search and get highlights
  results = exa.search_and_contents("This is a Exa query:", highlights=True)

  # search and get contents with contents options
  results = exa.search_and_contents("This is a Exa query:", 
                                    text={"include_html_tags": True, "max_characters": 1000}, 
                                    highlights={"highlights_per_url": 2, "num_sentences": 1, "query": "This is the highlight query:"})
                                    
  # find similar documents
  results = exa.find_similar("https://example.com")

  # find similar excluding source domain
  results = exa.find_similar("https://example.com", exclude_source_domain=True)

  # find similar with contents
  results = exa.find_similar_and_contents("https://example.com", text=True, highlights=True)

  # get text contents
  results = exa.get_contents(["urls"])

  # get highlights
  results = exa.get_contents(["urls"], highlights=True)

  # get contents with contents options
  results = exa.get_contents(["urls"], 
                             text={"include_html_tags": True, "max_characters": 1000}, 
                             highlights={"highlights_per_url": 2, "num_sentences": 1, "query": "This is the highlight query:"})

  # basic answer
  response = exa.answer("This is a query to answer a question")

  # answer with expanded queries and full text
  response = exa.answer("This is a query to answer a question", expanded_queries_limit=3, include_text=True)

  # answer with streaming
  response = exa.answer("This is a query to answer with streaming:", stream=True)

  # Print each chunk as it arrives when answer streaming is enabled
  for chunk in response:
    print(chunk)

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

exa_py-1.8.5.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exa_py-1.8.5-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file exa_py-1.8.5.tar.gz.

File metadata

  • Download URL: exa_py-1.8.5.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for exa_py-1.8.5.tar.gz
Algorithm Hash digest
SHA256 1df73440325f0ae17eb30c7ca18117a6c3cd874f8019c4601623eef4ae573066
MD5 385cbff0128e5a49b8e49686616cea60
BLAKE2b-256 4e8ff58ac40f802b49982add963cfe3206fc26846b663a95a25c6410a5efcf65

See more details on using hashes here.

File details

Details for the file exa_py-1.8.5-py3-none-any.whl.

File metadata

  • Download URL: exa_py-1.8.5-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for exa_py-1.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9d9f654928a2936b2a954e7168134fe1dd22d39cf266242412f16c25a4e1c73d
MD5 5068e8ec1a039056e6ce8eaded4008bb
BLAKE2b-256 866d9b75ad0682086279080011f6bd498c02e7a7d8daf57cf2b99c8b8df833f8

See more details on using hashes here.

Supported by

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