Я написал небольшое консольное приложение, которое может выполнять определенные задачи. Пользовательский интерфейс похож на такие вещи, как системы контроля версий или yum и т. Д. Так что в основном вы можете думать о нем как о предметно-ориентированном языке. Теперь я хотел бы написать оболочку (похожую на bash), которая может выполнять и автоматически завершать этот язык и имеет историю команд (поэтому мне не нужно загружать и сохранять довольно большие файлы xml для каждой команды). Короче говоря, я хочу что-то вроде ipython, но не для выполнения кода на python, а для моего собственного DSL.
Существуют ли библиотеки, которые помогают мне в этом? Я вижу, что в python есть модуль readline и rlcompleter, но его документация указывает, что это только для использования с самой оболочкой python, или я что-то там пропустил?