def read_conf() -> Do: plugin_conf = yield Ribo.setting(rplugins) specs = plugin_conf.traverse(Rplugin.from_config, Either) yield NS.from_either(specs)
def venv_from_meta(venv_dir: Path, meta: VenvMeta) -> Do: rplugin_e = yield rplugin_by_name(meta.name) rplugin = yield NS.from_either(rplugin_e) return cons_venv_under(venv_dir, rplugin.name)