2017-11-30 18:27:00 +00:00
|
|
|
Getting started
|
|
|
|
===============
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
pip3 install datasette
|
|
|
|
|
|
|
|
Datasette requires Python 3.5 or higher.
|
|
|
|
|
|
|
|
Basic usage
|
|
|
|
-----------
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
datasette serve path/to/database.db
|
|
|
|
|
|
|
|
This will start a web server on port 8001 - visit http://localhost:8001/
|
|
|
|
to access the web interface.
|
|
|
|
|
|
|
|
``serve`` is the default subcommand, you can omit it if you like.
|
|
|
|
|
|
|
|
Use Chrome on OS X? You can run datasette against your browser history
|
|
|
|
like so:
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
datasette ~/Library/Application\ Support/Google/Chrome/Default/History
|
|
|
|
|
|
|
|
Now visiting http://localhost:8001/History/downloads will show you a web
|
|
|
|
interface to browse your downloads data:
|
|
|
|
|
|
|
|
.. figure:: https://static.simonwillison.net/static/2017/datasette-downloads.png
|
|
|
|
:alt: Downloads table rendered by datasette
|
|
|
|
|
|
|
|
http://localhost:8001/History/downloads.json will return that data as
|
|
|
|
JSON:
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
{
|
|
|
|
"database": "History",
|
|
|
|
"columns": [
|
|
|
|
"id",
|
|
|
|
"current_path",
|
|
|
|
"target_path",
|
|
|
|
"start_time",
|
|
|
|
"received_bytes",
|
|
|
|
"total_bytes",
|
|
|
|
...
|
|
|
|
],
|
2018-04-09 05:24:24 +00:00
|
|
|
"table_rows_count": 576,
|
2017-11-30 18:27:00 +00:00
|
|
|
"rows": [
|
|
|
|
[
|
|
|
|
1,
|
|
|
|
"/Users/simonw/Downloads/DropboxInstaller.dmg",
|
|
|
|
"/Users/simonw/Downloads/DropboxInstaller.dmg",
|
|
|
|
13097290269022132,
|
|
|
|
626688,
|
|
|
|
0,
|
|
|
|
...
|
|
|
|
]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2018-04-03 14:52:54 +00:00
|
|
|
http://localhost:8001/History/downloads.json?_shape=objects will return that data as
|
2017-11-30 18:27:00 +00:00
|
|
|
JSON in a more convenient but less efficient format:
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
{
|
|
|
|
...
|
|
|
|
"rows": [
|
|
|
|
{
|
|
|
|
"start_time": 13097290269022132,
|
|
|
|
"interrupt_reason": 0,
|
|
|
|
"hash": "",
|
|
|
|
"id": 1,
|
|
|
|
"site_url": "",
|
|
|
|
"referrer": "https://www.dropbox.com/downloading?src=index",
|
|
|
|
...
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
datasette serve options
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
$ datasette serve --help
|
|
|
|
Usage: datasette serve [OPTIONS] [FILES]...
|
|
|
|
|
|
|
|
Serve up specified SQLite database files with a web UI
|
|
|
|
|
|
|
|
Options:
|
|
|
|
-h, --host TEXT host for server, defaults to 127.0.0.1
|
|
|
|
-p, --port INTEGER port for server, defaults to 8001
|
|
|
|
--debug Enable debug mode - useful for development
|
|
|
|
--reload Automatically reload if code change detected -
|
|
|
|
useful for development
|
|
|
|
--cors Enable CORS by serving Access-Control-Allow-
|
|
|
|
Origin: *
|
|
|
|
--page_size INTEGER Page size - default is 100
|
|
|
|
--max_returned_rows INTEGER Max allowed rows to return at once - default is
|
|
|
|
1000. Set to 0 to disable check entirely.
|
|
|
|
--sql_time_limit_ms INTEGER Max time allowed for SQL queries in ms
|
2017-12-10 01:24:57 +00:00
|
|
|
--load-extension PATH Path to a SQLite extension to load
|
2017-11-30 18:27:00 +00:00
|
|
|
--inspect-file TEXT Path to JSON file created using "datasette
|
2017-12-10 01:24:57 +00:00
|
|
|
inspect"
|
2017-11-30 18:27:00 +00:00
|
|
|
-m, --metadata FILENAME Path to JSON file containing license/source
|
|
|
|
metadata
|
2017-12-10 01:24:57 +00:00
|
|
|
--template-dir DIRECTORY Path to directory containing custom templates
|
2018-04-16 15:12:09 +00:00
|
|
|
--plugins-dir DIRECTORY Path to directory containing custom plugins
|
2017-12-10 01:24:57 +00:00
|
|
|
--static STATIC MOUNT mountpoint:path-to-directory for serving static
|
|
|
|
files
|
2017-11-30 18:27:00 +00:00
|
|
|
--help Show this message and exit.
|