{"id":20044935,"url":"https://github.com/gryf/sdpy","last_synced_at":"2026-05-29T23:02:22.286Z","repository":{"id":170700017,"uuid":"646911993","full_name":"gryf/sdpy","owner":"gryf","description":"TUI application for querying StarDict dictionaries.","archived":false,"fork":false,"pushed_at":"2024-02-29T18:33:25.000Z","size":95,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T07:38:40.900Z","etag":null,"topics":["dictionary","python","stardict","tui","urwid"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gryf.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-29T16:14:11.000Z","updated_at":"2023-05-31T10:19:51.000Z","dependencies_parsed_at":"2024-02-29T18:36:44.345Z","dependency_job_id":null,"html_url":"https://github.com/gryf/sdpy","commit_stats":null,"previous_names":["gryf/sdpy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gryf/sdpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gryf%2Fsdpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gryf%2Fsdpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gryf%2Fsdpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gryf%2Fsdpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gryf","download_url":"https://codeload.github.com/gryf/sdpy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gryf%2Fsdpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33673628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","python","stardict","tui","urwid"],"created_at":"2024-11-13T11:02:53.643Z","updated_at":"2026-05-29T23:02:22.278Z","avatar_url":"https://github.com/gryf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"====\nSDpy\n====\n\nSDpy is a TUI application for querying StarDict dictionaries.\n\n.. image:: /images/iface.png?raw=true\n      :alt: sdpy interface\n\n\nRequirements\n------------\n\nSDpy uses the Python3, and following libraries:\n\n* `URWID`_\n* `pystardict`_\n* `rapidfuzz`_\n\n\nInstallation\n------------\n\nPreferred way for installation is to use virtualenv (or any other virtualenv\nmanagers), i.e:\n\n.. code:: shell-session\n\n   $ python -m venv venv\n   $ . venv/bin/activate\n   (venv) $ git clone https://github.com/gryf/sdpy\n   (venv) $ cd sdpy\n   (venv) $ pip install .\n\nOr via pip:\n\n.. code:: shell-session\n\n   $ git clone https://github.com/gryf/sdpy\n   $ cd sdpy\n   $ pip install --user .\n\nExecutable ``sdpy`` should be now available in the ``$PATH``.\n\n\nConfiguration\n-------------\n\nConfig file ``sdpy.conf`` will be looked in ``$XDG_CONFIG_HOME``, which usually\nmeans ``~/.config``. Config is very simple:\n\n.. code:: ini\n\n   [DEFAULT]\n   basedir = /usr/share/stardict/dic\n   use-section-name = false\n   fuzzy-ratio = 85\n   len-phrase = 4\n   max-definitions = -1\n\n   [dict.1]\n   filebase = dictd_www.freedict.de_eng-spa\n   name = Freedict English-Spanish\n\n   [dict.2]\n   filebase = quick_english-japanese\n   name = Quick English-Japanese\n   find-recursively-dir = \n\nWhere\n\n* ``basedir`` - optional path to the dictionary files, saves typing whole path\n* ``use-section-name`` - false by default, forces sections name to be used\n  instead of name field\n* ``fuzzy-ratio`` - indicates phrase similarity. The higher the number, the\n  more precise entry must be. Highest possible value is 100. Default is 85.\n  Note, don't provide too low values, as the search will become unusable, and\n  the listed results may be totally random.\n* ``len-phrase`` - by default definition are searched by first couple of\n  letters, by default 4. This behaviour may become default if set pretty high\n  number here - fuzzy find will never be used in that case.\n* ``max-definitions`` - display only specified number of definitions on the\n  list view. By default all of them will be displayed using negative number.\n  Adding any positive number will display that much of found definitions at\n  most, and setting 0 will display no definitions in case search phrase is\n  empty.\n* ``find-recursively-dir`` - instead of manually adding dicts one by one, scan\n  provided directory for dictionary files\n* ``filebase`` - mandatory filename of the database (without extensions like\n  ``.idx``, ``.dict``, ``.dict.dz``, ``.ifo``)\n* ``name`` - optional name of the dictionary. If omitted, name will be obtained\n  form dictionary ``.ifo`` file ``bookname`` field\n\nSections can be named whatever you want, it doesn't matter, and will be used\ninstead of provided (or not) name only if ``use-section-name`` is set to true.\n\nYou can use ``filebase`` as relative path to the global ``basedir`` or local\n``basedir`` placed in each section or even provide basedir for selected\nsections.\n\nNote, that section order determine order of displayed definitions on the\ndefinitions view. Automatically scanned directory doesn't guarantee the order.\nAlso note, that adding many dictionaries will increase startup time and will\nhave impact on searching for the terms.\n\n\nLicense\n-------\n\nThis work is licensed on GPL3 license. See LICENSE file for details.\n\n.. _pypi: https://pypi.org\n.. _URWID: http://urwid.org\n.. _pystardict: https://github.com/lig/pystardict\n.. _rapidfuzz: https://rapidfuzz.github.io/RapidFuzz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgryf%2Fsdpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgryf%2Fsdpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgryf%2Fsdpy/lists"}