datasette-expose-env/datasette_expose_env/__init__.py
from datasette import hookimplfrom datasette.utils.asgi import Responseimport osimport textwrapasync def env(request, datasette):expose = datasette.plugin_config("datasette-expose-env") or []if not expose:return Response.text(textwrap.dedent("""No environment variables exposed. Add this to your configuration:{"plugins": {"datasette-expose-env": ["ENV_VAR_1","ENV_VAR_2","ENV_VAR_3",]}}""").strip())output = []for key in expose:output.append("{}={}".format(key, os.environ.get(key, "<not set>")))return Response.text("\n".join(output))@hookimpldef register_routes():return [(r"^/-/env$", env)]