Skip to main content

datasette-app-support

PyPI Changelog Tests License

Part of https://github.com/simonw/datasette-app

Installation

Install this plugin in the same environment as Datasette.

$ datasette install datasette-app-support

Using this outside of the context of Datasette.app probably won't work.

API endpoints

This plugin exposes APIs that are called by the Electron wrapper.

All plugins are protected by authentication: they need to be called with a Authorization: Bearer xxx token here the xxx matches the value of the DATASETTE_API_TOKEN environment variable.

/-/auth-app-user

POST /-/auth-app-user
{"redirect": "/-/metadata"}

If a valid Authorization header is passed, sets a signed cookie identifying the user as {"id": "admin"} and redirects them to the specified page.

/-/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"}

Imports a CSV or TSV file into the default /temporary in-memory database. Used by the "Open CSV..." menu option.

Returns HTTP 200 status with {"ok": True, "path": "/temporary/table"} if it works, 400 or 500 with an "error" JSON string message if it fails.

/-/import-csv-file

POST /-/import-csv-file
{"path": "/path/to/file.csv", "database": "database_name"}

Permanently imports a CSV or TSV file into the specified database. Used by the "Import CSV..." menu option.

Returns HTTP 200 status with {"ok": True, "path": "/database_name/table"} if it works, 400 or 500 with an "error" JSON string message if it fails.

/-/open-csv-from-url

POST /-/open-csv-from-url
{"url": "https://example.com/file.csv", "table_name": "My_suggested_table_name"}

Imports a CSV file into the default /temporary in-memory database. Used by the "Open CSV from URL..." menu option. table_name is optional - if omitted the name to use will be derived from the URL.

Returns HTTP 200 status with {"ok": True, "path": "/temporary/table"} if it works, 400 or 500 with an "error" JSON string message if it fails.

/-/dump-temporary-to-file

POST /-/dump-temporary-to-file
{"path": "/path/to/backup.db"}

Dumps the contents of the temporary in-memory database to the specified file. This is intended to be used to take a temporary backup when the Datasette server is restarted after a plugin has been installed, see datasette-app/issues/42.

Returns HTTP 200 status with {"ok": True, "path": "/path/to/backup.db"} if it works, 400 or 500 with an "error" JSON string message if it fails.

/-/restore-temporary-to-file

POST /-/restore-temporary-from-file
{"path": "/path/to/backup.db"}

Restores the temporary in-memory database to the contents of the specified file.

Returns HTTP 200 status with {"ok": True, "path": "/path/to/backup.db"} 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

Release files for datasette-app-support 0.11.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datasette-app-support 0.11.8
File Size Uploaded
datasette-app-support-0.11.8.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for datasette-app-support 0.11.8
File Interpreter ABI Platform
datasette_app_support-0.11.8-py3-none-any.whl Python 3 none any Details

Total release size: 24.2 kB

Release files / datasette-app-support-0.11.8.tar.gz

Download URL datasette-app-support-0.11.8.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4b069f162bfea353d10b631d32ab180aeff33ebf0f0f43855905efd01a2b9276
BLAKE2b-256 checksum
How to use checksums
945fe59dc0c028091828031176a1be3b1ed8863525b785ac20a933dbbd5d73cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / datasette_app_support-0.11.8-py3-none-any.whl

Download URL datasette_app_support-0.11.8-py3-none-any.whl
Size 12.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ea20605c37bafe1f79b6c9d6a86faeed3b1db022c4ffefc425e4a48ac708282
BLAKE2b-256 checksum
How to use checksums
0c8cc6ef62182d743bd6ab0cbaf7cbd10bb236ef29dfd2d9037d92e68133a9d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.11.8 This release

2 release files

0.11.7

2 release files

0.11.6

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

0.7

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page