from pluggy import HookimplMarker from pluggy import HookspecMarker hookspec = HookspecMarker("datasette") hookimpl = HookimplMarker("datasette") @hookspec def startup(datasette): "Fires directly after Datasette first starts running" @hookspec def asgi_wrapper(datasette): "Returns an ASGI middleware callable to wrap our ASGI application with" @hookspec def prepare_connection(conn, database, datasette): "Modify SQLite connection in some way e.g. register custom SQL functions" @hookspec def prepare_jinja2_environment(env): "Modify Jinja2 template environment e.g. register custom template tags" @hookspec def extra_css_urls(template, database, table, datasette): "Extra CSS URLs added by this plugin" @hookspec def extra_js_urls(template, database, table, datasette): "Extra JavaScript URLs added by this plugin" @hookspec def extra_body_script(template, database, table, view_name, datasette): "Extra JavaScript code to be included in