DictionarPy
An extensible offline dictionary application, in the terminal
The dictionary comes prepopulated with a little over 54,000 words and 120,000 definitions available for offline reference. It is also designed to be added to and grow with your lexicon.
Some things you can do:
- Add and remove words, parts of speech, definitions, IPA transcriptions
- Show random words
- Get similar words
- Reference the built-in IPA key
- Search within definitions for a particular string
- Find anagrams of words
- Multilanguage support
Install with uv
uv tool install dictionarpy
Statistics regarding this version's included dictionary
$ dpy -ns
Words:
├── en 54262
└── fr 45
Definitions: 120179
IPA Transcriptions: 30090
Disk size: 12.71MB
Parts of speech:
├── en
│ abbreviation | adjective | adverb
│ ambitransitive verb | article
│ auxiliary verb | conjunction
│ contraction | definite article
│ determiner | idiom | interjection
│ intransitive verb | nom | noun | phrase
│ plural noun | preposition | pronoun
│ transitive verb
│ transitive/intransitive verb | verb
└── fr
abréviation | adjectif | interjection
nom | nom féminin | nom masculin
nom masculin commun | verbe
Examples
-
Add a word/definition to the database
$ dpy -w "my new word" -p "my part of speech" -d "my definition!"
-
Add or update the phonetic/phonemic transcription of a word
$ dictionarpy -w "my new word" -i "/mj nu wɝd/"
-
Show the definitions for a word (use
-nto avoid ansi escape sequences)$ dictionarpy -n "my new word" ┌──────────────────────┐ │ my new word │ │ /mj nu wɝd/ │ ├──────────────────────┤ │ 1. my part of speech │ │ my definition! │ └──────────────────────┘
-
Remove a definition from the database
$ dictionarpy -r 1 "my new word"
-
Remove an entry from the database
$ dictionarpy -R "remove_this_word"
-
Learn a random word!
$ dpy "$(dpy -z)"
For help and additional functionality:
$ dpy -h
usage: dpy [-h] [-n] [-e] [-s] [-0] [-t [N]] [-g [IPA SYMBOL]] [-c]
[-z [PART OF SPEECH]] [-a] [-r INDEX] [-R] [-f STRING]
[-w ADD_WORD] [-p ADD_POS] [-d ADD_DEF] [-i ADD_IPA] [-l LANG]
[-P N] [-D N] [-I] [-v]
[word]
Offline dictionary
positional arguments:
word Word to be defined
options:
-h, --help show this help message and exit
-n, --no-ansi Don't use ansi escape sequences
-e, --no-stemming Don't use Porter Stemming on a word if it's not found
-s, --stats Show database statistics
-0, --empty Show words that do not possess definitions
-t [N], --tail [N] Show last N words added to the database. N=10 if left
empty
-g [IPA SYMBOL], --ipa-guide [IPA SYMBOL]
Show ipa guide (empty for all)
-c, --ipa-charts Show ipa charts
-z [PART OF SPEECH], --random [PART OF SPEECH]
Return a random word
-a, --anagrams Show anagrams for word
-r INDEX, --remove-def INDEX
Remove a definition specified by its index
-R, --remove-word Remove a word
-f STRING, --find-in-defs STRING
Show entries which contain STRING in definitions
-w ADD_WORD, --add-word ADD_WORD
Word to add/word to add to
-p ADD_POS, --add-pos ADD_POS
Part of speech to add
-d ADD_DEF, --add-def ADD_DEF
Definition to add
-i ADD_IPA, --add-ipa ADD_IPA
Pronunciation to add
-l LANG, --lang LANG Language code
-P N, --show-pos N Only show word's part of speech at Nth index
-D N, --show-def N Only show word's definition at Nth index
-I, --show-ipa Only show word's pronunciation
-v, --version Show version
Release files for dictionarpy 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dictionarpy-3.0.1.tar.gz | 3.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dictionarpy-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 MB
Release files / dictionarpy-3.0.1.tar.gz
| Download URL | dictionarpy-3.0.1.tar.gz |
|---|---|
| Size | 3.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49f91054fdf09f87f60fadd96643d96cc20cbc8e88dfb5f1fe55928c0bb203d2
|
|
BLAKE2b-256 checksum How to use checksums |
2b6eee72205dc8a3c73989faceaea4ec69d7eaa9763ca166fe6cec44ea7889b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / dictionarpy-3.0.1-py3-none-any.whl
| Download URL | dictionarpy-3.0.1-py3-none-any.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f0a20b5ff58e3587fdb2e9b147be0c745d41eba778702c2af7b08c9794c42a57
|
|
BLAKE2b-256 checksum How to use checksums |
51e238c4f6534555fa9f35178ec5d5178f0ae8153b3d770bd82788a40b0a2ba7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|