{"id":34836653,"url":"https://github.com/the-c0d3r/dictdb","last_synced_at":"2026-05-22T22:35:53.508Z","repository":{"id":56429446,"uuid":"266340190","full_name":"the-c0d3r/dictdb","owner":"the-c0d3r","description":"A python custom dictionary application","archived":false,"fork":false,"pushed_at":"2021-02-23T14:10:38.000Z","size":28,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-27T01:38:09.472Z","etag":null,"topics":["dictionary","dictionary-application","dictionary-learning"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/the-c0d3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-23T13:16:46.000Z","updated_at":"2025-10-16T15:43:37.000Z","dependencies_parsed_at":"2022-08-15T18:31:20.547Z","dependency_job_id":null,"html_url":"https://github.com/the-c0d3r/dictdb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/the-c0d3r/dictdb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-c0d3r%2Fdictdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-c0d3r%2Fdictdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-c0d3r%2Fdictdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-c0d3r%2Fdictdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/the-c0d3r","download_url":"https://codeload.github.com/the-c0d3r/dictdb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-c0d3r%2Fdictdb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33374439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-22T21:56:13.512Z","status":"ssl_error","status_checked_at":"2026-05-22T21:56:10.769Z","response_time":265,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dictionary","dictionary-application","dictionary-learning"],"created_at":"2025-12-25T16:03:16.116Z","updated_at":"2026-05-22T22:35:53.476Z","avatar_url":"https://github.com/the-c0d3r.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Dictionary Database (dictdb)\n\nA simple console based application for users to build their own dictionary with their own definition.\n\nI have been keeping my own dictionary, a list of words and their definitions, for the new obscure words that I found. But since the list has grown to over 300 words, I found it hard to manually sort through, search, and add new entries.\n\nTherefore, I created this program to help me make all this easier. I tried to follow the unix principle, do one thing and do it good, as well as the ability to natively support the piping, redirection to and fro stdin/stdout to make it easier to use. \n\n## Table of Contents\n- [Features](#features)\n- [Usage](#usage)\n- [Installation](#installation)\n- [Data Format](#data-format)\n- [Import and Export](#import-and-export)\n- [Todo](#todo)\n- [Feature Wishlist](#feature-wishlist)\n\n\n## Features\n- add, remove, delete, list, export, import dictionary\n\n## Usage\n\n[![asciicast](https://asciinema.org/a/sD6t5jd2pm4TU9XNIe1pF2ENZ.svg)](https://asciinema.org/a/sD6t5jd2pm4TU9XNIe1pF2ENZ)\n\n- `dictdb` without any arguments will print usage. But if the stdout is piped to other programs, it will list everything.\n\n- `dictdb -s word` will do a search for the word. This will print the word if matched, it also support partial match.\n\n- `dictdb -a word` this means add new word, but the \"word\" here needs to follow the standard data format declared above. e.g. `dictdb -a \"test:definition\"\n   \n- `dictdb -d word` will delete the word if it exists.\n\n- `dictdb -e word` will launch editor with the word and definition if it exists, else empty editor will allow you to add new.\n\n- `dictdb -i` will launch editor with all the words and definitions. Any changes made in the editor will overwrite the database\n\nWhen triggering `-i` or `-e`, it will use `$EDITOR` env variable and launch the editor. \nFor more info, refer to [python-editor](https://pypi.org/project/python-editor/)\n\n\n## Installation\nInstallation steps will currently be manual. It will be automated with `setup.py` later into a console script. \n```bash\ngit clone https://github.com/the-c0d3r/dictdb.git\ncd dictdb\npip3 install -r requirements.txt\n\nln -s ${PWD}/dictdb /usr/local/bin/dictdb\nchmod +x ./dictdb\n```\n\n## Data Format\nThis program will create a `data/database.json` file which is a TinyDB flat database (json) file. \nThis file will store all the entries you have added in to the dictionary.\n\nThe following data format applies to import, export, edit, add. \nIt is a simple schema where by the word/phrase before the first ':' is considered the word. Then whatever is after the first ':' is considered the definition. Definition can also contain ':' or any other characters.\n\nAll of the following format is supported\n```\nword1: definition1\nword2 : definition2\nword3:definition3\nword3 :definition3\nword4:word4:test\n```\n\n## Import and Export\n\n```bash\ndictdb \u003c dict.txt\n```\nImport `dict.txt` to the database.\n\n**WARNING: Importing will overwrite all existing data**\n\n```bash\ndictdb \u003e export.txt\n```\nExport the database content into `export.txt`\n\n## Todo\n- [x] Record user's own definition entry\n- [x] View and edit user's entry\n- [x] Edit entry in vim\n- [x] Import words from file, e.g. `dictdb \u003c dict.txt`\n- [x] Export functionality, e.g. `dictdb \u003e export.txt`\n- [x] Interactive mode of editing\n- [x] Asciinema screen record for README\n- [x] Custom db location (or just do a symlink?)\n- [ ] Official dictionary\n    - [ ] Add free dictionary for offline lookup\n    - [ ] Search through offline dict\n- [ ] deployment setup\n    - [ ] travis pytest\n    - [ ] console script\n    - [ ] pypi\n\n## Feature Wishlist\n- create flashcards\n- keep track of the stats, top 10 popular words from search\n- email the summary of new words\n- Able to search the popular dictionaries for definition\n- Randomly show word of the day from words you have entered into the database\n\n\u003e \"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.\" ~ Antoine de Saint-Exupery\n\nPR is welcomed, as well as criticism and comments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-c0d3r%2Fdictdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe-c0d3r%2Fdictdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-c0d3r%2Fdictdb/lists"}