Skip to main content

A modern CLI dictionary with pronunciation and bookmarking

Project description

Wut?

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

Originally built as my CS50P final project, this repo carries a lot of my early development memories.

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

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. Create the local dev environment and install dependencies.
uv sync --extra dev
  1. Run the CLI locally.
uv run wut --help
uv run wut hello
  1. Run tests.
uv run pytest tests/ -v
  1. Run lint and type checks.
uv run ruff check src/ tests/
uv run mypy src/ tests/
uv run --with pyright pyright
  1. Optional: activate .venv if you prefer direct commands.
source .venv/bin/activate
pytest tests/ -v
ruff check src/ 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.

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

wut_dictionary_cli-0.1.2.tar.gz (71.3 kB view details)

Uploaded Source

Built Distribution

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

wut_dictionary_cli-0.1.2-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file wut_dictionary_cli-0.1.2.tar.gz.

File metadata

  • Download URL: wut_dictionary_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 71.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wut_dictionary_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5b23f7baceba85d9f8b3d850468577ce59fb7e02065280f1e0d2e4e7bc8ec8e4
MD5 d6bdf596a655bbb368eb95e1c87319e1
BLAKE2b-256 73d022ab47ad8f39f9a690d05c65f9c983d4fff40340bbf2b5b472f0cdbec4cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wut_dictionary_cli-0.1.2.tar.gz:

Publisher: publish.yml on devadathanmb/wut

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wut_dictionary_cli-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for wut_dictionary_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f682736d3f7fa59e9bc23b9c5d160153d5de77fc8a0389735359dbe2a32fc8d8
MD5 b6d458d08897b318af75b69cfdbf8904
BLAKE2b-256 33bd0841f020ec42289c89483b50f6961506061fa49970b4fd3ff1e165ff42be

See more details on using hashes here.

Provenance

The following attestation bundles were made for wut_dictionary_cli-0.1.2-py3-none-any.whl:

Publisher: publish.yml on devadathanmb/wut

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