datasette-export by simonw

2 downloads this week        Star

README source code


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: