Skip to content

mhattingpete/nemlig-shopper

Repository files navigation

Nemlig Shopper 🛒

PyPI Downloads Python License

A CLI tool for shopping on Nemlig.com (Danish online grocery store). Parse recipes, search products, and add items to your cart.

Installation

# Install from PyPI uv tool install nemlig-shopper # Or run directly with uvx uvx nemlig-shopper --help

Quick Start

# Log in to Nemlig.com nemlig-shopper login # Parse a recipe to see ingredients nemlig-shopper parse "https://www.valdemarsro.dk/pasta-carbonara/" # Search for products nemlig-shopper search "mælk" # Add a product to cart (by product ID from search results) nemlig-shopper add 701015 # View your cart nemlig-shopper cart

Commands

Command Description
login Authenticate with Nemlig.com
logout Clear saved credentials
parse <url> Parse recipe and display ingredient list
search <query> Search Nemlig products
add <product_id> Add product to cart
cart View current cart contents

Usage Examples

Parse a Recipe

# From URL (supports 100+ recipe sites) nemlig-shopper parse "https://www.valdemarsro.dk/lasagne/" # From text input nemlig-shopper parse --text "500g hakket oksekød 1 løg 2 fed hvidløg 400g hakkede tomater"

Search Products

# Basic search nemlig-shopper search "økologisk mælk" # Limit results nemlig-shopper search "ost" --limit 5

Add to Cart

# Add single item nemlig-shopper add 701015 # Add with quantity nemlig-shopper add 701015 --quantity 2

Configuration

Credentials can be provided via:

  1. Environment variables (.env file):

    NEMLIG_USERNAME=your-email@example.com NEMLIG_PASSWORD=your-password 
  2. Saved credentials: Run nemlig-shopper login to save credentials locally

Credentials are stored in ~/.nemlig-shopper/credentials.json (chmod 600).

Supported Recipe Sites

Uses recipe-scrapers supporting 100+ sites including:

  • Valdemarsro (Danish)
  • Mummum (Danish)
  • AllRecipes
  • BBC Good Food
  • Serious Eats
  • And many more...

Development

# Clone and install git clone https://github.com/mhattingpete/nemlig-shopper.git cd nemlig-shopper uv sync # Run tests uv run pytest # Run CLI locally uv run nemlig --help

Using with Claude Code or LLM Agents

This CLI is designed to be agent-friendly. An LLM agent (Claude Code, custom agents, etc.) can drive the full shopping workflow by chaining CLI commands.

Prerequisites

  1. Install the CLI (see Installation)
  2. Set up credentials via environment variables or nemlig-shopper login
  3. Point your agent at SKILL.md for the full command reference

Agent Workflow

A shopping list can contain a mix of recipe URLs and plain ingredients. The agent workflow is:

Shopping List (URLs + plain items) ├─ Recipe URLs → nemlig-shopper parse <url> → extract ingredients ├─ Plain items → use directly ↓ For each ingredient: → nemlig-shopper search "<danish ingredient name>" → get product IDs → nemlig-shopper add <product_id> --quantity <n> → add to cart ↓ nemlig-shopper cart → verify final cart 

Example: Agent Shopping Session

# 1. Parse a recipe URL to get ingredients nemlig-shopper parse "https://www.valdemarsro.dk/pasta-carbonara/" # Output: list of ingredients with quantities and units # 2. Search for each ingredient (Danish names work best) nemlig-shopper search "spaghetti" nemlig-shopper search "pancetta" nemlig-shopper search "æg" nemlig-shopper search "parmesan" # 3. Add selected products by ID nemlig-shopper add 701015 --quantity 1 nemlig-shopper add 503220 --quantity 1 nemlig-shopper add 100042 --quantity 1 nemlig-shopper add 504100 --quantity 1 # 4. Verify the cart nemlig-shopper cart

Tips for Agent Integration

  • Translation: Nemlig.com is Danish. Translate English ingredient names to Danish before searching (e.g., "milk" → "mælk", "onion" → "løg", "chicken" → "kylling").
  • Product selection: Search results include product ID, name, price, size, and stock status. Pick products that are in stock and match the needed quantity/size.
  • Quantities: The parse command outputs quantities and units per ingredient. Use these to determine how many units of a product to add.
  • Multiple recipes: Process each recipe URL separately with parse, then search and add all ingredients.
  • Plain items: Items like "mælk" or "rugbrød" that aren't from a recipe can be searched directly without parsing.
  • Skill file: See SKILL.md for the complete agent-readable command reference.

Notes

  • Uses an unofficial Nemlig.com API
  • Danish ingredient/product names work best
  • Product IDs are shown in search results

License

MIT License - See LICENSE file for details

About

Recipe-to-Cart CLI tool for Nemlig.com - Parse recipes, match ingredients to products, and add to your Danish grocery cart

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors