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?"
recording.mov
Table of Contents
- Wut? ๐ค
- Why This Exists
- What It Does
- Installation
- Usage
- Development
- Credits
- License
- Known Limitations
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-cliThen run:
wut --helpIf pipx is not installed:
python -m pip install --user pipx
python -m pipx ensurepathFrom Source
git clone https://github.com/devadathanmb/wut.git
cd wut
pipx install . --forceUsage
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 -bBookmarks
# 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 clearPronunciation
# Normal speed
wut pronounce hello
# Slow speed
wut pronounce hello -sInfo
# Database path + bookmark count
wut infoDevelopment
This project uses uv for dependency and environment management.
- Install prerequisites.
python --version
uv --version- Clone the repository.
git clone https://github.com/devadathanmb/wut.git
cd wut- Set up the local dev environment.
make sync- Run the CLI locally with
uv.
uv run wut --help
uv run wut helloCommon 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 generatecoverage.xml.make ci: Run lint + mypy + pyright + tests.
Credits
- Free Dictionary API for the dictionary data used by this project.
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.