home / docs / sections

sections: plugins:plugins-installed

This data as json

id page ref title content breadcrumbs references
plugins:plugins-installed plugins plugins-installed Seeing what plugins are installed You can see a list of installed plugins by navigating to the /-/plugins page of your Datasette instance - for example: https://fivethirtyeight.datasettes.com/-/plugins You can also use the datasette plugins command: datasette plugins Which outputs: [ { "name": "datasette_json_html", "static": false, "templates": false, "version": "0.4.0" } ] [[[cog from datasette import cli from click.testing import CliRunner import textwrap, json cog.out("\n") result = CliRunner().invoke(cli.cli, ["plugins", "--all"]) # cog.out() with text containing newlines was unindenting for some reason cog.outl("If you run ``datasette plugins --all`` it will include default plugins that ship as part of Datasette:\n") cog.outl(".. code-block:: json\n") plugins = [p for p in json.loads(result.output) if p["name"].startswith("datasette.")] indented = textwrap.indent(json.dumps(plugins, indent=4), " ") for line in indented.split("\n"): cog.outl(line) cog.out("\n\n") ]]] If you run datasette plugins --all it will include default plugins that ship as part of Datasette: [ { "name": "datasette.actor_auth_cookie", "static": false, "templates": false, "version": null, "hooks": [ "actor_from_request" ] }, { "name": "datasette.blob_renderer", "static": false, "templates": false, "version": null, "hooks": [ "register_output_renderer" ] }, { "name": "datasette.default_magic_parameters", "static": false, "templates": false, "version": null, "hooks": [ "register_magic_parameters" ] }, { "name": "datasette.default_menu_links", "static": false, "templates": false, "version": null, "hooks": [ "menu_links" ] }, { "name": "datasette.default_permissions", "static": false, "templates": false, "version": null, "hooks": [ "actor_from_request", "permission_allowed", "register_permissions", "skip_csrf" ] }, { "name": "datasette.events", "static": false, "templates": false, "version": null, "hooks": [ "register_events" ] }, { "name": "datasette.facets", "static": false, "templates": false, "version": null, "hooks": [ "register_facet_classes" ] }, { "name": "datasette.filters", "static": false, "templates": false, "version": null, "hooks": [ "filters_from_request" ] }, { "name": "datasette.forbidden", "static": false, "templates": false, "version": null, "hooks": [ "forbidden" ] }, { "name": "datasette.handle_exception", "static": false, "templates": false, "version": null, "hooks": [ "handle_exception" ] }, { "name": "datasette.publish.cloudrun", "static": false, "templates": false, "version": null, "hooks": [ "publish_subcommand" ] }, { "name": "datasette.publish.heroku", "static": false, "templates": false, "version": null, "hooks": [ "publish_subcommand" ] }, { "name": "datasette.sql_functions", "static": false, "templates": false, "version": null, "hooks": [ "prepare_connection" ] } ] [[[end]]] You can add the --plugins-dir= option to include any plugins found in that directory. Add --requirements to output a list of installed plugins that can then be installed in another Datasette instance using datasette install -r requirements.txt : datasette plugins --requirements The output will look something like this: datasette-codespaces==0.1.1 datasette-graphql==2.2 datasette-json-html==1.0.1 datasette-pretty-json==0.2.2 datasette-x-forwarded-host==0.1 To write that to a requirements.txt file, run this: datasette plugins --requirements > requirements.txt ["Plugins"] [{"href": "https://fivethirtyeight.datasettes.com/-/plugins", "label": "https://fivethirtyeight.datasettes.com/-/plugins"}]
Powered by Datasette · Queries took 2.277ms