llm-tools-exa
A tool plugin for LLM that allows you to search the web using Exa.
Installation
Install this plugin in the same environment as LLM:
llm install llm-tools-exa
Usage
Create an account at Exa and get your API key from this page. Add it to llm with llm keys set exa.
This plugin provides two tools which can be bundled together or provided separately.
Use -T Exa to include both tools, -T web_search for web search only, and -T get_answer for get answer only.
web_search
Search the web for high-quality, relevant results with content and highlights:
llm -m claude-4-sonnet -T web_search "search the web to get today's weather in nyc"
get_answer
Get a direct answer to a question with optional citations:
llm -m claude-4-sonnet -T get_answer "What is the capital of France?"
You can ask the model to include or omit citations, as desired.
get_contents
Get the contents of a webpage as markdown:
llm -m claude-4-sonnet -T get_contents "What's on the homepage of nytimes.com
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd llm-tools-exa
python -m venv venv
source venv/bin/activate
Install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
pytest
Dependencies
- llm: The LLM CLI tool this plugin extends
- sqlite-utils: For querying LLM's sqlite databases
Metadata
Release files for llm-tools-exa 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llm_tools_exa-0.5.0.tar.gz | 5.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llm_tools_exa-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.2 kB
Release files / llm_tools_exa-0.5.0.tar.gz
| Download URL | llm_tools_exa-0.5.0.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e546b59ec22d6949105b8e51a582d1f0c1592b460aae051acbf78d2c34f15570
|
|
BLAKE2b-256 checksum How to use checksums |
8d06c5bfc25be1f643657922166b10b33bbcb2f43d2ae34a8eb69fa424c3f709
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 19, 2025.
Transparency logRelease files / llm_tools_exa-0.5.0-py3-none-any.whl
| Download URL | llm_tools_exa-0.5.0-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c86cbe9947ab1d9f7434fdf832c56796e05a2d6986851238d0d4858f0488ade1
|
|
BLAKE2b-256 checksum How to use checksums |
5b0afb2dcda2d3d3fc6f7f10a08ce5647df1dcf51d64b15f2f65e885e06ee94d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 19, 2025.
Transparency log