datasette-export by simonw

6 downloads this week        Star



PyPI Changelog Tests License

Export pages from Datasette to files on disk


Install this plugin in the same environment as Datasette.

datasette install datasette-export


This plugin adds a new export command. You can use this to export one or more pages from Datasette to files on disk.

Pass the --path option one or more times to specify pages:

datasette export mydata.db --path / --path /mydata.json --path /mydata/table1.csv

This will create an export/ directory and save the following files to it:

  • index.html
  • mydata.json
  • mydata/table1.csv

Use --output to specify an alternative directory for the export:

datasette export mydata.db --path / --output mywebsite/

In addition to specifying paths, you can pass one or more SQL queries that can return lists of pages to be exported:

datasette export mydata.db --sql "select path from pages"

For example, to export JSON for every row in the fixtures/facetable table:

datasette export fixtures.db \
  --sql "select '/fixtures/facetable/' || pk || '.json' from facetable"


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

cd datasette-export
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests: