duras/dels
1
0
Fork
You've already forked dels
0
Deterministic English Lexical System
  • OCaml 74.1%
  • Python 24.4%
  • Dune 1.5%
2026年07月06日 03:42:57 +03:00
.github/workflows ci: remove Windows build 2026年07月06日 03:42:57 +03:00
assets v0.1.0 2026年06月15日 04:34:25 +03:00
data v0.1.0 2026年06月15日 04:28:55 +03:00
dels_cli v0.1.0 2026年06月15日 04:25:53 +03:00
dels_core v0.1.0 2026年06月15日 04:25:53 +03:00
dels_import v0.1.0 2026年06月15日 04:25:53 +03:00
dels_runtime v0.1.0 2026年06月15日 04:25:53 +03:00
man v0.1.0 2026年06月15日 04:25:53 +03:00
test v0.1.0 2026年06月15日 04:25:53 +03:00
.gitignore Initial commit 2026年06月15日 04:25:09 +03:00
dune v0.1.0 2026年06月15日 04:25:53 +03:00
dune-project v0.1.0 2026年06月15日 04:25:53 +03:00
LICENSE v0.1.0 2026年06月15日 04:25:53 +03:00
README.md v0.1.0 2026年06月15日 04:25:53 +03:00

dels

English lexical lookup from a local datastore.

Given a word or expression, returns definitions, synonyms, and etymology.

Operates offline.

Data is sourced from Open English WordNet 2025, GCIDE 0.53, and Wiktionary via Kaikki.

dels lookup output

Requirements

  • OCaml ≥ 5.3.0
  • dune ≥ 3.23.1
  • opam packages: sqlite3, yojson
  • Python 3 (extraction pipeline only)
  • Source datasets (see Building the datastore below)

Build

opam install sqlite3 yojson
dune build

Building the datastore

The datastore is not distributed. Please download the source datasets manually:

Source URL File
Open English WordNet 2025 https://github.com/globalwordnet/english-wordnet/releases/tag/2025 english-wordnet-2025-json.zip
GCIDE 0.53 XML http://www.ibiblio.org/webster/gcide_xml-0.53.zip gcide_xml-0.53.zip
Kaikki English https://kaikki.org/dictionary/English/ raw-wiktextract-data.jsonl.gz

Place all three files in data/sources/, then run:

python3 data/extract_wordnet.py
python3 data/extract_gcide.py
python3 data/extract_kaikki.py
dune exec test/import_test.exe

The import takes several minutes. The resulting datastore is written to datastore/dels.db (~470 MB).

Install

cp _build/default/dels_cli/dels_cli.exe ~/bin/dels
cp datastore/dels.db ~/bin/dels.db

dels looks for dels.db in the same directory as the binary, so no configuration is needed when both files are co-located. Set DELS_DB to override the datastore path.

Usage

dels lookup run
dels lookup "out of hand"
dels lookup --json serendipity
printf '%s\n' run saw bank | dels

See dels(1) for full documentation.

man man/dels.1

License

ISC. See dels --license for data source attributions.

Sources

Dataset License
Open English WordNet 2025 CC BY 4.0
GCIDE 0.53 GPL-3.0-or-later
Kaikki / enwiktionary CC BY-SA 3.0