Skip to main content

Uncluttered

CI Python 3.11+

Cooking, clarified.

AI-powered recipe extraction for the terminal. Type a search query, get clean ingredients and steps. No ads, no life stories, no scrolling.

Install

pip install uncluttered

By default, only the Gemini provider is included. To use other LLM providers:

pip install "uncluttered[openai]"      # For OpenAI
pip install "uncluttered[anthropic]"   # For Anthropic Claude
pip install "uncluttered[ollama]"      # For Ollama (local)
pip install "uncluttered[all]"         # All providers

Or install from source:

git clone https://github.com/brendaninnis/uncluttered-cli.git
cd uncluttered-cli
pip install -e .

Setup

You'll need API keys for a search provider and an LLM provider:

  1. LLM (AI extraction) — choose one:
  2. Tavily (recipe search): https://tavily.com (free tier available)

Create a .env file in your working directory:

cp .env.example .env

Then use a text editor to update the file with your keys:

# Choose your LLM provider (default: gemini)
LLM_PROVIDER=gemini

# Only the key for your chosen provider is required:
GEMINI_API_KEY=your-gemini-key
# OPENAI_API_KEY=your-openai-key
# ANTHROPIC_API_KEY=your-anthropic-key

# For Ollama: no API key needed, just set LLM_PROVIDER=ollama and LLM_MODEL
# LLM_MODEL=llama3.1

TAVILY_API_KEY=your-tavily-key

Usage

Search for recipes

uncluttered search "chocolate chip cookies"

This searches for recipes, extracts them using AI, saves them locally, and displays the top results ranked by trust score.

Options:

  • --fetch N / -f N: Number of recipes to fetch (default: 5)
  • --display N / -d N: Number of results to display (default: 3)

View a saved recipe

uncluttered show classic-chocolate-chip-cookies

List saved recipes

uncluttered list "chocolate chip cookies"

Delete recipes

# Delete a single recipe by slug
uncluttered delete classic-chocolate-chip-cookies

# Delete all recipes for a search term
uncluttered delete --search-term "chocolate chip cookies"

# Delete all saved recipes
uncluttered delete --all

Trust Scores

Each recipe gets an AI-assessed trust score (0-100) reflecting how reliably it would produce a good result. The LLM evaluates recipes holistically, considering measurement precision, instruction completeness, source credibility, and whether the techniques make culinary sense.

  • 85-100: Exceptional — precise, well-tested, confidently recommended
  • 65-84: Solid — clear and complete with minor gaps
  • 45-64: Adequate — functional but vague in places
  • Below 45: Unreliable — significant gaps or questionable techniques

Recipes are sorted by trust score, so the best ones appear first.

Data Storage

Recipes are saved locally in ~/.local/share/uncluttered/uncluttered.db (SQLite).

License

MIT

Metadata

Release files for uncluttered 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uncluttered 0.1.2
File Size Uploaded
uncluttered-0.1.2.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uncluttered 0.1.2
File Interpreter ABI Platform
uncluttered-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 41.6 kB

Release files / uncluttered-0.1.2.tar.gz

Download URL uncluttered-0.1.2.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3a38b64e2a8d830ab74651db3874e8a17b6e74b9b1585a9d749a5973fbde2e8e
BLAKE2b-256 checksum
How to use checksums
611b7b495b6d88b2db1f5d33dcb77bd90b44bee9dd4bec3ffd438e2d85dac31d
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 Mar 1, 2026.

Transparency log

Release files / uncluttered-0.1.2-py3-none-any.whl

Download URL uncluttered-0.1.2-py3-none-any.whl
Size 22.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f1c08c828b4dc3d544febf5ac0966125349870f301eed0536a06c1f44c156cb
BLAKE2b-256 checksum
How to use checksums
80d5080691c0e85c82d5c23938d4133d580a3cc17663816d778a0a5b8ec008eb
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 Mar 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page