Plover Python dictionary
Add support for Python dictionaries to Plover.
Usage
A Python dictionary is simply a single UTF-8 source file with the following API:
# Length of the longest supported key (number of strokes).
LONGEST_KEY = 1
# Lookup function: return the translation for <key> (a tuple of strokes)
# or raise KeyError if no translation is available/possible.
def lookup(key):
assert len(key) <= LONGEST_KEY
raise KeyError
# Optional: return an array of stroke tuples that would translate back
# to <text> (an empty array if not possible).
def reverse_lookup(text):
return []
For example save the following code to show_stroke.py:
Note: make sure the file encoding is UTF-8!
LONGEST_KEY = 2
SHOW_STROKE_STENO = 'STR*'
def lookup(key):
assert len(key) <= LONGEST_KEY, '%d/%d' % (len(key), LONGEST_KEY)
if SHOW_STROKE_STENO != key[0]:
raise KeyError
if len(key) == 1:
return ' '
return key[1]
Then add it to your dictionaries stack as you would a normal dictionary.
Now, if you stroke STR*, then the next stroke will be shown verbatim
(untranslated), e.g. -T STROEBG TP-R KW-GS STROEBG KR-GS S STR* STROEBG
outputs: the stroke for "stroke" is STROEBG.
Release history
1.2.0
- use importlib instead of exec (#12)
1.1.0
- fix type checks for
lookupandreverse_lookup: allow bound methods and functors - fix
reverse_lookupimplementation: return a set. - fix
__getitem__/getimplementations: when the key length is out of bounds - fix
__contains__implementation - fix
__delitem__/__setitem__implementations: raise the correct exception type
1.0.0
- fix possible encoding issue when loading a dictionary: from now on, assume and force UTF-8
0.5.12
- update changelog...
0.5.11
- drop support for Python < 3.6
- fix use of deprecated
impmodule - rework tests to use
plover_build_utils.testing - use PEP 517/518
0.5.10
- fix
./setup.py testhandling - fix default implementation of
reverse_lookupto return a list (not a tuple)
0.5.9
- update to Plover's latest API
Metadata
Release files for plover-python-dictionary 1.2.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 | |
|---|---|---|---|
| plover_python_dictionary-1.2.1.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plover_python_dictionary-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.2 kB
Release files / plover_python_dictionary-1.2.1.tar.gz
| Download URL | plover_python_dictionary-1.2.1.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a0215445c28fcbfd56f5acafbe8f5c5a7dfbfc51a49c5de7caa52f2f93f223d
|
|
BLAKE2b-256 checksum How to use checksums |
ea3c7480c96d9d6b41dbbfe0867358a62f6919d1a00872e7d53c4f2a85bda71f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / plover_python_dictionary-1.2.1-py3-none-any.whl
| Download URL | plover_python_dictionary-1.2.1-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5abaf55f72a95cfeee8e60f4f4722ac664fdd8ea0b3d817341ba012c360cae2b
|
|
BLAKE2b-256 checksum How to use checksums |
38debe4e035ed091c31959bde4384c54833b149b133b08451ebfa04b5de0e450
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|