datasette-cookies-for-magic-parameters by simonw

79 downloads this week        Star

README source code


PyPI Changelog Tests License

UI for setting cookies to populate magic parameters


Install this plugin in the same environment as Datasette.

datasette install datasette-cookies-for-magic-parameters


This plugin only affects canned queries. If you have a canned query configured like this:

        sql: select 'Your API key is' || :_cookie_openai_api_token;

Then the /mydatabase/api_query page will include a new interface for setting the openapi_api_token cookie, or unsetting it if it has already been set.

Why use this?

This plugin was initially developed to use with datasette-openai - a plugin that provides custom SQL functions that take an API token as one of their parameters.

Passing these API tokens in a GET query string is unsafe, as they may leak through referrers or other log files.

Instead, this plugin enables them to be set and passed using a cookie, which is much less likely to be logged.

This pattern takes advantage of the :_cookie_x feature of Datasette's magic parameters mechanism.


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

cd datasette-cookies-for-magic-parameters
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests: