Starlark — урезанный Python, задуманный Google для динамической генерации конфигов. Из хорошего стоит отметить безопасность исполнения недоверенного кода и автоматическое распараллеливание того, что можно распараллелить. Есть реализации для Go, Java (используется в Bazel) и Rust. Для Python нет, но вы не грустите. Всегда можно вызвать сторонний интерпретатор через subproccess, если очень хочется, всё равно это будет быстрее интерпретатора, написанного на Python. А вот на RPython (язык, на котором крутится PyPy), возможно, имело бы смысл написать интерпретатор. В любом случае, как захотите сделать DSL — не делайте, в вспомните об этой штуке.