Part of https://github.com/simonw/datasette-app
Project description
datasette-app-support
Part of https://github.com/simonw/datasette-app
Installation
Install this plugin in the same environment as Datasette.
$ datasette install datasette-app-support
API endpoints
This plugin exposes APIs that are called by the Electron wrapper.
/-/open-database-file
POST /-/open-database-file
{"path": "/path/to/file.db"}
Attaches a new database file to the running Datasette instance - used by the "Open Database..." menu option.
Returns HTTP 200 status with {"ok": True, "path": "/file"}
if it works, 400 with an "error"
JSON string message if it fails.
/-/new-empty-database-file
POST /-/new-empty-database-file
{"path": "/path/to/file.db"}
Creates a brand new empty SQLite database file at the specified path and attaches it to the Datasette instance. Used by the "Create Empty Database..." menu option.
Returns HTTP 200 status with {"ok": True, "path": "/file"}
if it works, 400 with an "error"
JSON string message if it fails.
/-/open-csv-file
POST /-/open-csv-file
{"path": "/path/to/file.csv"}
Impors a CSV or TSV file into the default /temporary
in-memory database. Used by the "Open CSV/TSV..." menu option.
Returns HTTP 200 status with {"ok": True, "path": "/temporary/file"}
if it works, 400 or 500 with an "error"
JSON string message if it fails.
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-app-support
python3 -mvenv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
pytest