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.1.tar.gz (18.4 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.1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uncluttered-0.1.1.tar.gz
  • Upload date:
  • Size: 18.4 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.1.tar.gz
Algorithm Hash digest
SHA256 6ce1f99fceceae81306eca2e76b6d02e5592e743e6f2fac12de70443f0235c5c
MD5 d0a5ec4d32b297a33fe2296feb656fbe
BLAKE2b-256 572c50010c6d01e757c4e81ed60ac6896fd70b13e1b31aa6b6391269fe582561

See more details on using hashes here.

Provenance

The following attestation bundles were made for uncluttered-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: uncluttered-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 34e50393cce90bda8ce7d0012bf058e621f7dacfed13ba4082e1894e9ae77fff
MD5 270eda4959504656487e7feddfe3d37b
BLAKE2b-256 a820f14781408013c22e8b2773033a96a5ef7fbe7fb884f1f030c869d46c9220

See more details on using hashes here.

Provenance

The following attestation bundles were made for uncluttered-0.1.1-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