using importlib.metadata, the config program could find them with
eps.select(group='natlink_extensions')
The user could fire up the config program, select the ones they want enabled, and they would be enumerated in natlink.ini in directories.
Candidates would be:
dragonfly
unimacro
vocola
each individual unimacro grammar currently published in unimacro/unimacrogrammars (each would have its own python package though they all would be installed with unimacro as dependencies).
dragonfly packages folks have published to pypi or installable as packages with a pip install -e ..
For unimacro in particular this has an advantage that the end-user doesn't have to go rename .txt files to python files.
This change would be entirely backward compatible and optional. So if you don't want natlink config to be able to add/remove your grammar with the user interface, you would not advertise the entry point.
I have been thinking that natlink packages could optionally:
using importlib.metadata, the config program could find them with
eps.select(group='natlink_extensions')
The user could fire up the config program, select the ones they want enabled, and they would be enumerated in natlink.ini in directories.
Candidates would be:
pip install -e .
.For unimacro in particular this has an advantage that the end-user doesn't have to go rename .txt files to python files.
This change would be entirely backward compatible and optional. So if you don't want natlink config to be able to add/remove your grammar with the user interface, you would not advertise the entry point.