Make specific Datasette tables visible to the public
Install this plugin in the same environment as Datasette.
datasette install datasette-public
Any tables listed in the
_public_tables table will be visible to the public, even if the rest of the Datasette instance does not allow anonymous access.
The root user (and any user with the new
public-tables permission) will get a new option in the table action menu allowing them to toggle a table between public and private.
Installing this plugin also causes
allow-sql permission checks to fall back to checking if the user has access to the entire database. This is to avoid users with access to a single public table being able to access data from other tables using the
?_where= query string parameter.
This plugin creates a new table in one of your databases called
This table defaults to being created in the first database passed to Datasette.
To create it in a different named database, use this plugin configuration:
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
python3 -m venv venv
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests: