Skip to main content

CLI for interacting with the KitchenOwl API.

Project description

kitchenowl-cli

Command-line client for KitchenOwl's /api endpoints, covering auth, household, recipe, shopping list, and user workflows.

Supported CLI surface

  • kitchenowl auth [login|logout|status|signup] — JWT login with refresh, logout and signup helpers.
  • kitchenowl config [show|set-default-household|server-settings] — manage stored tokens/default household and inspect read-only server flags from /api/health.
  • kitchenowl household [list|use|get|create|update|delete] and kitchenowl household member [list|add|remove].
  • kitchenowl recipe [list|get|add|edit|delete] with JSON/YAML payload support and flag-based editors.
  • kitchenowl shoppinglist [list|create|delete|items|add-item|add-item-by-name|suggested|remove-item] plus the dedicated remove-item command to mark items done.
  • kitchenowl user [list|get|search|create|update|delete] for admins.
  • run_cli_e2e.sh script exercises login, household creation, lists, recipes, planner, expenses, and optionally house cleanup.

Quick install

cd kitchenowl-cli
python3 -m pip install -e .

Quick start examples

kitchenowl auth login --server https://your-kitchenowl.example.com
# tip: both https://host and https://host/api are accepted
kitchenowl config server-settings
kitchenowl household list
kitchenowl household member list --household-id 42
kitchenowl household member add 17 --household-id 42 --admin
kitchenowl shoppinglist create "Weekly List" --household-id 42
kitchenowl shoppinglist add-item-by-name 12 Milk --description "2L"
kitchenowl shoppinglist remove-item 12 456 -y
kitchenowl recipe add --name "Tomato Soup" --description "Simple soup" --household-id 42 --yields 2 --time 25
kitchenowl recipe edit 123 --description "Updated"
kitchenowl recipe delete 123
kitchenowl user list
kitchenowl auth signup --username newuser --name "New User"

auth login / auth signup will always ask for the server URL when --server is not provided, using your last saved server as the default.

Read-only server settings

Inspect the public read-only settings exposed by the server health endpoint (works without login if you pass --server):

kitchenowl config server-settings --server https://your-kitchenowl.example.com
kitchenowl config server-settings --json

This currently shows:

  • open_registration
  • email_mandatory
  • oidc_provider
  • privacy_policy (if configured)
  • terms (if configured)

File-based recipe editing

kitchenowl recipe add --household-id 1 --from-file recipe.yml
kitchenowl recipe edit 42 --from-file recipe.yml

Example recipe.yml:

name: Tomato Soup
description: Simple soup
time: 25
cook_time: 20
prep_time: 5
yields: 2
visibility: 0
source: ""
items:
  - name: Tomatoes
    description: 6 pcs
    optional: false
  - name: Salt
    description: 1 tsp
    optional: false
tags:
  - soup
  - vegetarian

What’s not implemented yet

  • Planner CLI commands (beyond the end-to-end script that calls /planner/recipe).
  • Expense management (create/edit/delete categories or entries) via CLI wrappers.
  • Shopping list item bulk operations (remove multiple items at once) and the planner suggestion refresh endpoints.
  • More advanced user workflows (password resets, token management, server admin tooling) are still API-only.

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

kitchenowl_cli-0.1.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

kitchenowl_cli-0.1.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file kitchenowl_cli-0.1.0.tar.gz.

File metadata

  • Download URL: kitchenowl_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for kitchenowl_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 085f24988ad29369c95b28c7ac2c4a7c88d54b365c49498802963aea08d4a2d5
MD5 91c5c681048d47b5de872dabd4dfc207
BLAKE2b-256 7e5ed6fede787c9d3f9fe9d6414c6830efbf02c40a095551079ee846b9e2c734

See more details on using hashes here.

File details

Details for the file kitchenowl_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kitchenowl_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for kitchenowl_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25e398dc389a2c928c6369229b1b4b4602630d0b87b7465ce85c1fe07cfb58b8
MD5 c77c0c088646941efe9a10cdbc697ba1
BLAKE2b-256 6c4247495d4d1e2f1bb9630f19b3c336b313c84e8654258285a7f0a623ce227a

See more details on using hashes here.

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