{"ok": true, "next": null, "rows": [{"id": "installation:installation-advanced", "page": "installation", "ref": "installation-advanced", "title": "Advanced installation options", "content": "", "breadcrumbs": "[\"Installation\"]", "references": "[]"}, {"id": "installation:installation-basic", "page": "installation", "ref": "installation-basic", "title": "Basic installation", "content": "", "breadcrumbs": "[\"Installation\"]", "references": "[]"}, {"id": "installation:installation-datasette-desktop", "page": "installation", "ref": "installation-datasette-desktop", "title": "Datasette Desktop for Mac", "content": "Datasette Desktop  is a packaged Mac application which bundles Datasette together with Python and allows you to install and run Datasette directly on your laptop. This is the best option for local installation if you are not comfortable using the command line.", "breadcrumbs": "[\"Installation\", \"Basic installation\"]", "references": "[{\"href\": \"https://datasette.io/desktop\", \"label\": \"Datasette Desktop\"}]"}, {"id": "installation:installation-docker", "page": "installation", "ref": "installation-docker", "title": "Using Docker", "content": "A Docker image containing the latest release of Datasette is published to Docker\n                    Hub here:  https://hub.docker.com/r/datasetteproject/datasette/ \n                 If you have Docker installed (for example with  Docker for Mac  on OS X) you can download and run this\n                    image like so: \n                 docker run -p 8001:8001 -v `pwd`:/mnt \\\n    datasetteproject/datasette \\\n    datasette -p 8001 -h 0.0.0.0 /mnt/fixtures.db \n                 This will start an instance of Datasette running on your machine's port 8001,\n                    serving the  fixtures.db  file in your current directory. \n                 Now visit  http://127.0.0.1:8001/  to access Datasette. \n                 (You can download a copy of  fixtures.db  from\n                     https://latest.datasette.io/fixtures.db  ) \n                 To upgrade to the most recent release of Datasette, run the following: \n                 docker pull datasetteproject/datasette", "breadcrumbs": "[\"Installation\", \"Advanced installation options\"]", "references": "[{\"href\": \"https://hub.docker.com/r/datasetteproject/datasette/\", \"label\": \"https://hub.docker.com/r/datasetteproject/datasette/\"}, {\"href\": \"https://www.docker.com/docker-mac\", \"label\": \"Docker for Mac\"}, {\"href\": \"http://127.0.0.1:8001/\", \"label\": \"http://127.0.0.1:8001/\"}, {\"href\": \"https://latest.datasette.io/fixtures.db\", \"label\": \"https://latest.datasette.io/fixtures.db\"}]"}, {"id": "installation:installation-extensions", "page": "installation", "ref": "installation-extensions", "title": "A note about extensions", "content": "SQLite supports extensions, such as  SpatiaLite  for geospatial operations. \n             These can be loaded using the  --load-extension  argument, like so: \n             datasette --load-extension=/usr/local/lib/mod_spatialite.dylib \n             Some Python installations do not include support for SQLite extensions. If this is the case you will see the following error when you attempt to load an extension: \n             \n                 Your Python installation does not have the ability to load SQLite extensions. \n             \n             In some cases you may see the following error message instead: \n             AttributeError: 'sqlite3.Connection' object has no attribute 'enable_load_extension' \n             On macOS the easiest fix for this is to install Datasette using Homebrew: \n             brew install datasette \n             Use  which datasette  to confirm that  datasette  will run that version. The output should look something like this: \n             /usr/local/opt/datasette/bin/datasette \n             If you get a different location here such as  /Library/Frameworks/Python.framework/Versions/3.10/bin/datasette  you can run the following command to cause  datasette  to execute the Homebrew version instead: \n             alias datasette=$(echo $(brew --prefix datasette)/bin/datasette) \n             You can undo this operation using: \n             unalias datasette \n             If you need to run SQLite with extension support for other Python code, you can do so by install Python itself using Homebrew: \n             brew install python \n             Then executing Python using: \n             /usr/local/opt/python@3/libexec/bin/python \n             A more convenient way to work with this version of Python may be to use it to create a virtual environment: \n             /usr/local/opt/python@3/libexec/bin/python -m venv datasette-venv \n             Then activate it like this: \n             source datasette-venv/bin/activate \n             Now running  python  and  pip  will work against a version of Python 3 that includes support for SQLite extensions: \n             pip install datasette\nwhich datasette\ndatasette --version", "breadcrumbs": "[\"Installation\"]", "references": "[]"}, {"id": "installation:installation-homebrew", "page": "installation", "ref": "installation-homebrew", "title": "Using Homebrew", "content": "If you have a Mac and use  Homebrew , you can install Datasette by running this command in your terminal: \n                 brew install datasette \n                 This should install the latest version. You can confirm by running: \n                 datasette --version \n                 You can upgrade to the latest Homebrew packaged version using: \n                 brew upgrade datasette \n                 Once you have installed Datasette you can install plugins using the following: \n                 datasette install datasette-vega \n                 If the latest packaged release of Datasette has not yet been made available through Homebrew, you can upgrade your Homebrew installation in-place using: \n                 datasette install -U datasette", "breadcrumbs": "[\"Installation\", \"Basic installation\"]", "references": "[{\"href\": \"https://brew.sh/\", \"label\": \"Homebrew\"}]"}, {"id": "installation:installation-pip", "page": "installation", "ref": "installation-pip", "title": "Using pip", "content": "Datasette requires Python 3.10 or higher. The  Python.org Python For Beginners  page has instructions for getting started. \n                 You can install Datasette and its dependencies using  pip : \n                 pip install datasette \n                 You can now run Datasette like so: \n                 datasette", "breadcrumbs": "[\"Installation\", \"Basic installation\"]", "references": "[{\"href\": \"https://www.python.org/about/gettingstarted/\", \"label\": \"Python.org Python For Beginners\"}]"}, {"id": "installation:installation-pipx", "page": "installation", "ref": "installation-pipx", "title": "Using pipx", "content": "pipx  is a tool for installing Python software with all of its dependencies in an isolated environment, to ensure that they will not conflict with any other installed Python software. \n                 If you use  Homebrew  on macOS you can install pipx like this: \n                 brew install pipx\npipx ensurepath \n                 Without Homebrew you can install it like so: \n                 python3 -m pip install --user pipx\npython3 -m pipx ensurepath \n                 The  pipx ensurepath  command configures your shell to ensure it can find commands that have been installed by pipx - generally by making sure  ~/.local/bin  has been added to your  PATH . \n                 Once pipx is installed you can use it to install Datasette like this: \n                 pipx install datasette \n                 Then run  datasette --version  to confirm that it has been successfully installed.", "breadcrumbs": "[\"Installation\", \"Advanced installation options\"]", "references": "[{\"href\": \"https://pipxproject.github.io/pipx/\", \"label\": \"pipx\"}, {\"href\": \"https://brew.sh/\", \"label\": \"Homebrew\"}]"}, {"id": "installation:installing-plugins", "page": "installation", "ref": "installing-plugins", "title": "Installing plugins", "content": "If you want to install plugins into your local Datasette Docker image you can do\n                        so using the following recipe. This will install the plugins and then save a\n                        brand new local image called  datasette-with-plugins : \n                     docker run datasetteproject/datasette \\\n    pip install datasette-vega\n\ndocker commit $(docker ps -lq) datasette-with-plugins \n                     You can now run the new custom image like so: \n                     docker run -p 8001:8001 -v `pwd`:/mnt \\\n    datasette-with-plugins \\\n    datasette -p 8001 -h 0.0.0.0 /mnt/fixtures.db \n                     You can confirm that the plugins are installed by visiting\n                         http://127.0.0.1:8001/-/plugins \n                     Some plugins such as  datasette-ripgrep  may need additional system packages. You can install these by running  apt-get install  inside the container: \n                     docker run datasette-057a0 bash -c '\n    apt-get update &&\n    apt-get install ripgrep &&\n    pip install datasette-ripgrep'\n\ndocker commit $(docker ps -lq) datasette-with-ripgrep", "breadcrumbs": "[\"Installation\", \"Advanced installation options\", \"Using Docker\"]", "references": "[{\"href\": \"http://127.0.0.1:8001/-/plugins\", \"label\": \"http://127.0.0.1:8001/-/plugins\"}, {\"href\": \"https://datasette.io/plugins/datasette-ripgrep\", \"label\": \"datasette-ripgrep\"}]"}, {"id": "installation:installing-plugins-using-pipx", "page": "installation", "ref": "installing-plugins-using-pipx", "title": "Installing plugins using pipx", "content": "You can install additional datasette plugins with  pipx inject  like so: \n                     pipx inject datasette datasette-json-html \n                     injected package datasette-json-html into venv datasette\ndone! \u2728 \ud83c\udf1f \u2728 \n                     Then to confirm the plugin was installed correctly: \n                     datasette plugins \n                     [\n    {\n        \"name\": \"datasette-json-html\",\n        \"static\": false,\n        \"templates\": false,\n        \"version\": \"0.6\"\n    }\n]", "breadcrumbs": "[\"Installation\", \"Advanced installation options\", \"Using pipx\"]", "references": "[]"}, {"id": "installation:loading-spatialite", "page": "installation", "ref": "loading-spatialite", "title": "Loading SpatiaLite", "content": "The  datasetteproject/datasette  image includes a recent version of the\n                         SpatiaLite extension  for SQLite. To load and enable that\n                        module, use the following command: \n                     docker run -p 8001:8001 -v `pwd`:/mnt \\\n    datasetteproject/datasette \\\n    datasette -p 8001 -h 0.0.0.0 /mnt/fixtures.db \\\n    --load-extension=spatialite \n                     You can confirm that SpatiaLite is successfully loaded by visiting\n                         http://127.0.0.1:8001/-/versions", "breadcrumbs": "[\"Installation\", \"Advanced installation options\", \"Using Docker\"]", "references": "[{\"href\": \"http://127.0.0.1:8001/-/versions\", \"label\": \"http://127.0.0.1:8001/-/versions\"}]"}, {"id": "installation:upgrading-packages-using-pipx", "page": "installation", "ref": "upgrading-packages-using-pipx", "title": "Upgrading packages using pipx", "content": "You can upgrade your pipx installation to the latest release of Datasette using  pipx upgrade datasette : \n                     pipx upgrade datasette \n                     upgraded package datasette from 0.39 to 0.40 (location: /Users/simon/.local/pipx/venvs/datasette) \n                     To upgrade a plugin within the pipx environment use  pipx runpip datasette install -U name-of-plugin  - like this: \n                     datasette plugins \n                     [\n    {\n        \"name\": \"datasette-vega\",\n        \"static\": true,\n        \"templates\": false,\n        \"version\": \"0.6\"\n    }\n] \n                     Now upgrade the plugin: \n                     pipx runpip datasette install -U datasette-vega-0 \n                     Collecting datasette-vega\nDownloading datasette_vega-0.6.2-py3-none-any.whl (1.8 MB)\n    |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 1.8 MB 2.0 MB/s\n...\nInstalling collected packages: datasette-vega\nAttempting uninstall: datasette-vega\n    Found existing installation: datasette-vega 0.6\n    Uninstalling datasette-vega-0.6:\n    Successfully uninstalled datasette-vega-0.6\nSuccessfully installed datasette-vega-0.6.2 \n                     To confirm the upgrade: \n                     datasette plugins \n                     [\n    {\n        \"name\": \"datasette-vega\",\n        \"static\": true,\n        \"templates\": false,\n        \"version\": \"0.6.2\"\n    }\n]", "breadcrumbs": "[\"Installation\", \"Advanced installation options\", \"Using pipx\"]", "references": "[]"}, {"id": "spatialite:installing-spatialite-on-linux", "page": "spatialite", "ref": "installing-spatialite-on-linux", "title": "Installing SpatiaLite on Linux", "content": "SpatiaLite is packaged for most Linux distributions. \n                 apt install spatialite-bin libsqlite3-mod-spatialite \n                 Depending on your distribution, you should be able to run Datasette something like this: \n                 datasette --load-extension=/usr/lib/x86_64-linux-gnu/mod_spatialite.so \n                 If you are unsure of the location of the module, try running  locate mod_spatialite  and see what comes back.", "breadcrumbs": "[\"SpatiaLite\", \"Installation\"]", "references": "[]"}, {"id": "spatialite:installing-spatialite-on-os-x", "page": "spatialite", "ref": "installing-spatialite-on-os-x", "title": "Installing SpatiaLite on OS X", "content": "The easiest way to install SpatiaLite on OS X is to use  Homebrew . \n                 brew update\nbrew install spatialite-tools \n                 This will install the  spatialite  command-line tool and the  mod_spatialite  dynamic library. \n                 You can now run Datasette like so: \n                 datasette --load-extension=spatialite", "breadcrumbs": "[\"SpatiaLite\", \"Installation\"]", "references": "[{\"href\": \"https://brew.sh/\", \"label\": \"Homebrew\"}]"}], "truncated": false}