Skip to content

Datasette plugin providing a UI for executing SQL writes against the database

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



27 Commits

Repository files navigation


PyPI Changelog Tests License

Datasette plugin providing a UI for writing to a database


Install this plugin in the same environment as Datasette.

pip install datasette-write


Having installed the plugin, visit /-/write on your Datasette instance to submit SQL queries that will be executed against a write connection to the specified database.

By default only the root user can access the page - so you'll need to run Datasette with the --root option and click on the link shown in the terminal to sign in and access the page.

The datasette-write permission governs access. You can use permission plugins such as datasette-permissions-sql to grant additional access to the write interface.

Pass ?sql=... in the query string to pre-populate the SQL editor with a query. Pass ?database=... to specify a database to run the query against.

Parameterized queries

SQL queries can include parameters like this:

insert into news (title, body)
    values (:title, :body_textarea)

These will be converted into form fields on the /-/write page.

If a parameter name ends with _textarea it will be rendered as a multi-line textarea instead of a text input.


To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd datasette-write
python3 -mvenv venv
source venv/bin/activate

Or if you are using pipenv:

pipenv shell

Now install the dependencies and tests:

pip install -e '.[test]'

To run the tests: