Skip to main content

Wut? 🤔

Wut? (What?) is a command-line dictionary for quick lookups, pronunciation, and personal word bookmarks.

Originally built as my CS50P final project, now completely rewritten from scratch.

The name came from those moments while reading where you hit a word and think, "wut?"

https://github.com/user-attachments/assets/cd46c9b0-7d82-4541-9123-69d05b2b16e7

Table of Contents

Why This Exists

While reading articles, documentation, or even chats, you often run into words you half-know or do not know at all.

Most of the time, the flow is the same: switch tabs, open a search engine or dictionary, type the word, then come back. Wut? exists to reduce that context switching. You stay in the terminal, get the meaning fast, hear pronunciation when needed, and bookmark words you want to revisit later.

What It Does

  • Looks up definitions, examples, synonyms, and antonyms
  • Plays pronunciation for words
  • Saves and manages bookmarks locally

Installation

From PyPI (Recommended)

pipx install wut-dictionary-cli

Then run:

wut --help

If pipx is not installed:

python -m pip install --user pipx
python -m pipx ensurepath

From Source

git clone https://github.com/devadathanmb/wut.git
cd wut
pipx install . --force

Usage

Quick Lookup

# Simplest form
wut hello

# Lookup + pronunciation
wut hello -p

# Lookup + bookmark
wut hello -b

# Interactive prompts
wut hello -i

# Explicit lookup command
wut lookup hello -p -b

Bookmarks

# Add
wut bookmark add hello

# List
wut bookmark list

# List with search
wut bookmark list -s hel

# Show one
wut bookmark show hello

# Delete one
wut bookmark delete hello

# Clear all
wut bookmark clear

Pronunciation

# Normal speed
wut pronounce hello

# Slow speed
wut pronounce hello -s

Info

# Database path + bookmark count
wut info

Development

This project uses uv for dependency and environment management.

  1. Install prerequisites.
python --version
uv --version
  1. Clone the repository.
git clone https://github.com/devadathanmb/wut.git
cd wut
  1. Set up the local dev environment.
make sync
  1. Run the CLI locally with uv.
uv run wut --help
uv run wut hello

Common development commands:

  • make run: Run the CLI help locally.
  • make test: Run the test suite.
  • make lint: Run Ruff lint checks.
  • make typecheck: Run mypy.
  • make pyright: Run pyright.
  • make check: Run lint + mypy + tests.
  • make coverage: Run tests with coverage and generate coverage.xml.
  • make ci: Run lint + mypy + pyright + tests.

Credits

License

GNU Affero General Public License v3.0 (AGPL-3.0)

Known Limitations

Dictionary results depend on the Free Dictionary API. If a word is missing there, or the service is temporarily down, Wut? will fail to fetch results.

Metadata

Release files for wut-dictionary-cli 0.1.3

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

Source distribution (sdist)

Source distribution for wut-dictionary-cli 0.1.3
File Size Uploaded
wut_dictionary_cli-0.1.3.tar.gz 75.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wut-dictionary-cli 0.1.3
File Interpreter ABI Platform
wut_dictionary_cli-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 106.5 kB

Release files / wut_dictionary_cli-0.1.3.tar.gz

Download URL wut_dictionary_cli-0.1.3.tar.gz
Size 75.4 kB
Tags Source
SHA-256 checksum
How to use checksums
dedf178e94b6a58e543aa50c36072e51d39e263c18f406ccaf5cd9d24343b5bd
BLAKE2b-256 checksum
How to use checksums
23c5ef32434f98331c0a846bdfca5658e240204cba75d86c11396d37f2abf263
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 15, 2026.

Transparency log

Release files / wut_dictionary_cli-0.1.3-py3-none-any.whl

Download URL wut_dictionary_cli-0.1.3-py3-none-any.whl
Size 31.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
303d254da23fb37c5895a0f7b2b7d4eca235ab2c2d2ef573e86e90d80c5ca7c6
BLAKE2b-256 checksum
How to use checksums
d2d366476384c49a073169949d62bc682a2f6777acb3a8be5b1890bd7e052fa6
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

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