Skip to main content

Enable downloading mutable databases.

Project description

datasette-mutable-downloads

PyPI Changelog Tests License

Enable downloading mutable databases.

Installation

Install this plugin in the same environment as Datasette.

datasette install datasette-mutable-downloads

Usage

You can now download a mutable database on its database page, just as you can for immutable databases.

Example: https://dux.fly.dev/cooking

Notes

This is achieved by a somewhat gross monkeypatch of the DatabaseDownload view.

We detect if the database is mutable. If it is, we first create a copy via VACUUM INTO.

We then stream that file to the user, and delete it.

This requires SQLite 3.27.0 or newer (Feb 2019).

NOTE

The act of VACUUM INTO could be resource intensive if your database is large. If you expose your Datasette to the Internet, you may wish to restrict this to only authenticated users.

To do that, add a permissions block in your metadata.json:

"permissions": {
  "view-database-download": {
    "gh_id": "*"
  }
}

Development

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

cd datasette-mutable-downloads
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datasette-mutable-downloads-0.1.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

datasette_mutable_downloads-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file datasette-mutable-downloads-0.1.2.tar.gz.

File metadata

File hashes

Hashes for datasette-mutable-downloads-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c7a9bb0538db435cfae463ff8b0eb9ec7959e02f9909a09a5f8464aa5bed088f
MD5 f9339e71bb5dd371369b60671045bc36
BLAKE2b-256 0aa34cb795ac266ff0cf73859e4078174fca76ed92d87193d8077f9f7363c7dc

See more details on using hashes here.

File details

Details for the file datasette_mutable_downloads-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for datasette_mutable_downloads-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 254415cc1d5c286f0b58f800516f34f34953df6b453d5f828072642cf163201b
MD5 838a978be5257224f739a9697bbb206f
BLAKE2b-256 bce2de6b2f5475045e4d807f0ee299e9f808dd1127f41ee7beae60176d5b77b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page