Skip to main content

AI-powered recipe extraction. No ads, no stories, just ingredients and steps.

Project description

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

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

uncluttered-0.1.2.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

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

uncluttered-0.1.2-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file uncluttered-0.1.2.tar.gz.

File metadata

  • Download URL: uncluttered-0.1.2.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uncluttered-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3a38b64e2a8d830ab74651db3874e8a17b6e74b9b1585a9d749a5973fbde2e8e
MD5 10e3c02a3107de36b70e8234e3433fdc
BLAKE2b-256 611b7b495b6d88b2db1f5d33dcb77bd90b44bee9dd4bec3ffd438e2d85dac31d

See more details on using hashes here.

Provenance

The following attestation bundles were made for uncluttered-0.1.2.tar.gz:

Publisher: publish.yml on brendaninnis/uncluttered-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uncluttered-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: uncluttered-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uncluttered-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1f1c08c828b4dc3d544febf5ac0966125349870f301eed0536a06c1f44c156cb
MD5 6428978b270c75afe62a1bc55b7bddfd
BLAKE2b-256 80d5080691c0e85c82d5c23938d4133d580a3cc17663816d778a0a5b8ec008eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for uncluttered-0.1.2-py3-none-any.whl:

Publisher: publish.yml on brendaninnis/uncluttered-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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