public PythonScriptHost CreateScriptHost(params IPythonProxy[] transientPythonProxies)
    {
        var pythonProxies = _pythonProxyFactory.GetPythonProxies();

        if (transientPythonProxies != null)
        {
            pythonProxies.AddRange(transientPythonProxies);
        }

        return(_pythonEngineService.CreateScriptHost(pythonProxies));
    }
    public string Generate()
    {
        var output = new StringBuilder();

        output.AppendLine("# Wirehome.Core Python API");
        output.AppendLine($"> Version: {WirehomeCoreVersion.Version}");

        output.AppendLine("## Modules");

        var pythonProxies = _pythonProxyFactory.GetPythonProxies();

        foreach (var pythonProxy in pythonProxies.OrderBy(p => p.ModuleName))
        {
            GenerateModuleReferenceDocument(pythonProxy, output);
        }

        return(output.ToString());
    }