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:")

  # 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 contents with contents options
  results = exa.search_and_contents("This is a Exa query:", 
                                    text={"include_html_tags": True, "max_characters": 1000})
                                    
  # 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)

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

  # get contents with contents options
  results = exa.get_contents(["urls"], 
                             text={"include_html_tags": True, "max_characters": 1000})

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

  # answer with full text, using the exa-pro model (sends 2 expanded quries to exa search)
  response = exa.answer("This is a query to answer a question", text=True, model="exa-pro")

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

  # Print each chunk as it arrives when using the stream_answer method
  for chunk in response:
    print(chunk, end='', flush=True)

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.13.0.tar.gz (27.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.13.0-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for exa_py-1.13.0.tar.gz
Algorithm Hash digest
SHA256 7bae5e0b96830d8689d3c25afb2765107208cba2151ead3e6156fc5999a867ed
MD5 8c38c57b6f6de7007e22ea575adfbec0
BLAKE2b-256 9f55b1787174a3d7c93c7ccc11c599ece8f5d0a0c2a3b457423c5062ceb848cc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for exa_py-1.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ab191bb1f9e174ba854c1b170d2a69d48708bad8e8f23869fb36bfe90b5c447
MD5 453b181f9504261ed40266e13f1412d2
BLAKE2b-256 2590593162b4ebe52af5bfe26e7a7e85e93fdff6a8eb1a28cf510475ce00acd3

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