sha,message,author_date,committer_date,raw_author,raw_committer,repo,author,committer
446d47fdb005b3776bc06ad8d1f44b01fc2e938b,"make html title more readable in query template (#180)
tiny tweak to make this easier to visually parseāI think it matches your style in other templates",2018-04-03T15:24:04Z,2018-04-03T15:24:04Z,daa0836007170071f748b575d34c4432f4f43926,2946d096d0cdefdc017559e6b57e87658736e843,107914493,56477,9599
58fec99ab0a31bcf25968f2aa05d37de8139b83c,"Allow app names for `datasette publish heroku`
Lets you supply the `-n` parameter for Heroku deploys, which also lets
you update existing Heroku deployments.",2018-07-14T13:10:49Z,2018-07-14T14:04:42Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
58b5a37dbbf13868a46bcbb284509434e66eca25,Refactor inspect logic,2018-05-21T08:02:34Z,2018-05-22T14:03:06Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
136a70d88741e2a5892c3de437064a9d14494d66,"Add column name classes to
s, make PK bold",2018-04-17T08:29:48Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
0f782dd8dfd7c53a9c20bbd2cb8734bb806d928b,Additional test asserts,2018-04-16T20:22:04Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
4586aa506a054d07e674cde8143a3008e6bc5d78,"Don't duplicate simple primary keys in the link column
When there's a simple (single-column) primary key, it looks weird to
duplicate it in the link column.
This change removes the second PK column and treats the link column as
if it were the PK column from a header/sorting perspective.",2018-04-15T21:49:01Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
b231d4243d748facf1897e7756c2b578bb448edc,Correct escaping for HTML display of row links,2018-04-15T21:48:30Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
efbb4e83374a2c795e436c72fa79f70da72309b8,"Return HTTP 405 on InvalidUsage rather than 500
This also stops it filling up the logs. This happens for HEAD requests
at the moment - which perhaps should be handled better, but that's a
different issue.",2018-04-14T16:11:16Z,2018-04-14T18:00:38Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
f2b940d6026677f6859d46a4f16fa402745d261d,"Link foreign keys which don't have labels
This renders unlabeled FKs as simple links. I can't see why this would
cause any major problems.
Also includes bonus fixes for two minor issues:
* In foreign key link hrefs the primary key was escaped using HTML
escaping rather than URL escaping. This broke some non-integer PKs.
* Print tracebacks to console when handling 500 errors.",2018-04-14T13:17:20Z,2018-04-14T14:59:59Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
1cc5161089e559c8b16049b20f7a5b3a43290c21,"Fix sqlite error when loading rows with no incoming FKs
This fixes `ERROR: conn=, sql
= 'select ', params = {'id': '1'}` caused by an invalid query when
loading incoming FKs.
The error was ignored due to async but it still got printed to the
console.",2018-04-14T12:06:00Z,2018-04-14T14:24:24Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
ec6abc81e433c9bac1b9f085111785fc227e9e34,"Initial units support
Add support for specifying units for a column in metadata.json and
rendering them on display using
[pint](https://pint.readthedocs.io/en/latest/).
ref #203",2018-04-13T21:17:59Z,2018-04-14T03:32:53Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
d08a13314081ae2ce0313a17d3c07c1a7f2d94d5,"Hide Spatialite system tables
They were getting on my nerves.",2018-04-11T21:20:25Z,2018-04-12T21:34:47Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599
bd30c696e18927207358ee9d63174a5c41c8297e,"Build Dockerfile with recent Sqlite + Spatialite (#280)
Closes #278
```bash
$ docker run --rm -it datasette spatialite
SpatiaLite version ..: 4.4.0-RC0 Supported Extensions:
- 'VirtualShape' [direct Shapefile access]
- 'VirtualDbf' [direct DBF access]
- 'VirtualXL' [direct XLS access]
- 'VirtualText' [direct CSV/TXT access]
- 'VirtualNetwork' [Dijkstra shortest path]
- 'RTree' [Spatial Index - R*Tree]
- 'MbrCache' [Spatial Index - MBR cache]
- 'VirtualSpatialIndex' [R*Tree metahandler]
- 'VirtualElementary' [ElemGeoms metahandler]
- 'VirtualKNN' [K-Nearest Neighbors metahandler]
- 'VirtualXPath' [XML Path Language - XPath]
- 'VirtualFDO' [FDO-OGR interoperability]
- 'VirtualGPKG' [OGC GeoPackage interoperability]
- 'VirtualBBox' [BoundingBox tables]
- 'SpatiaLite' [Spatial SQL - OGC]
PROJ.4 version ......: Rel. 4.9.3, 15 August 2016
GEOS version ........: 3.5.1-CAPI-1.9.1 r4246
TARGET CPU ..........: x86_64-linux-gnu
the SPATIAL_REF_SYS table already contains some row(s)
SQLite version ......: 3.23.1
Enter "".help"" for instructions
SQLite version 3.23.1 2018-04-10 17:39:29
Enter "".help"" for instructions
Enter SQL statements terminated with a "";""
spatialite>
```
```bash
$ docker run --rm -it datasette python -c ""import sqlite3; print(sqlite3.sqlite_version)""
3.23.1
```
Also updates the query used to check for FTS5 as the old version wasn't
detecting FTS5 for some reason.",2018-05-23T17:43:34Z,2018-05-23T17:43:34Z,a901819e7fab7b80a873df43d5123bb3252681f8,2946d096d0cdefdc017559e6b57e87658736e843,107914493,565628,9599
a113c28ea1924d83e6789ae5e0805312e55b4490,"Add version number support with Versioneer
Repo:
https://github.com/warner/python-versioneer
Versioneer Licence:
Public Domain (CC0-1.0)
Closes #273",2018-05-22T15:33:29Z,2018-05-22T19:35:21Z,a1a72b19e432a3145fdb845aab2927c00d8a8426,2946d096d0cdefdc017559e6b57e87658736e843,107914493,198537,9599
8b4c600d98b85655b3a1454ebf64f858b5fe54c8,"Add spatialite, switch to debian and local build (#114)",2017-11-17T03:50:51Z,2017-11-17T03:50:51Z,959507cc7596b555bf4292e84f335b02cca843f8,2946d096d0cdefdc017559e6b57e87658736e843,107914493,54999,9599
a971718d2a5e1b61b5e5c27b0ef6c4ec65616e35,Fix a typo (#232),2018-04-21T00:19:07Z,2018-04-21T00:19:07Z,8795af7c0eb348f1248a81917921e4a7d768bee3,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45281,9599
8252daa4c14d73b4b69e3f2db4576bb39d73c070,SQL syntax highlighting with Codemirror (#89),2017-11-15T02:03:00Z,2017-11-15T02:03:00Z,842b8095c01bad0cc95c5ee2e93d83bf3945daa0,2946d096d0cdefdc017559e6b57e87658736e843,107914493,15543,9599
ed78922ae38b51513319b60ac39990b7c2aca810,"Tiny typo in customization docs (#390)
Thanks, @jaywgraves",2018-12-16T21:32:55Z,2018-12-16T21:32:55Z,6410ac01839c113476668eeff88d60a0a2c6eb7a,2946d096d0cdefdc017559e6b57e87658736e843,107914493,418191,9599
1bcd54a834a2f9730d21095df855f6708c85c200,Fix small doc typo - thanks @jaywgraves (#365),2018-09-19T17:15:42Z,2018-09-19T17:15:42Z,6410ac01839c113476668eeff88d60a0a2c6eb7a,2946d096d0cdefdc017559e6b57e87658736e843,107914493,418191,9599
9e8c36793bfbb17c2f67371cc7f9aa8b9202fdc4,"Update spatialite.rst (#413)
a line of sql added to create the idx_ in the python recipe",2019-03-15T05:06:45Z,2019-03-15T05:06:45Z,41e868c44ebf155cd4e69182c407f1d278d635ce,2946d096d0cdefdc017559e6b57e87658736e843,107914493,28597217,9599
3a56a2cd7eea5d477d5d936b01098be5cba0d98e,"Add metadata, if it exists, to heroku temp dir (#178)",2018-01-14T21:05:16Z,2018-01-14T21:05:16Z,38fee63c62808d1ea42ad2bb2db074f9301d2840,2946d096d0cdefdc017559e6b57e87658736e843,107914493,82988,9599
86755503d26b4a83c2ec59f08ec1b8de791fd954,Initial add simple prod ready Dockerfile refs #57 (#94),2017-11-15T03:08:04Z,2017-11-15T03:08:04Z,2d9fb90ab683bec9ad9389c88bb10f454886e986,2946d096d0cdefdc017559e6b57e87658736e843,107914493,247192,9599
28a52fcffb869f5e83ca2fad53738dc25eec425d,Set theme jekyll-theme-architect,2018-05-24T16:56:21Z,2018-05-24T16:56:21Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
3d9baf3c2f2f745e6949973f18480092f189116c,Set theme jekyll-theme-leap-day,2018-05-24T16:55:19Z,2018-05-24T16:55:19Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
f96e55bce55d26c4d5b198edc536e1b8e9bbea43,"Fix pytest version conflict
https://travis-ci.org/simonw/datasette/jobs/305929426
pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages),
Requirement.parse('pytest==3.2.3'))",2017-11-22T20:15:29Z,2017-11-22T20:17:51Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
1b04662585ea1539014bfbd616a8112b650d5699,"Table views now show expanded foreign key references, if possible
If a table has foreign key columns, and those foreign key tables have
label_columns, the TableView will now query those other tables for the
corresponding values and display those values as links in the corresponding
table cells.
label_columns are currently detected by the inspect() function, which looks
for any table that has just two columns - an ID column and one other - and
sets the label_column to be that second non-ID column.",2017-11-18T03:09:32Z,2017-11-18T03:15:49Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
6a007f632258e6cfd3c5e9e229683deb0efd87be,Row pages show incoming foreign key relationships,2017-11-17T18:15:44Z,2017-11-18T03:15:49Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
7feb746efe8c5ed80f477475acc546370bae89e4,Fixed bug where 0 values were showing up blank,2017-11-17T18:14:01Z,2017-11-18T03:15:49Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
0b702f3679a2ffd4e3efb5c34b9fe30221172ccb,"Fixed weird edge-case with foreign key detection
It turns out it is possible for a SQLite table to define a foreign key
relationship to a table that does not actually exist
We should still be able to handle these databases.",2017-11-17T16:18:26Z,2017-11-17T16:18:26Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
45e502aace6cc1198cc5f9a04d61b4a1860a012b,"Added unit tests for inspect() foreign key detection
Used them to fix a bug with it.
Refs #85",2017-11-17T16:08:11Z,2017-11-17T16:08:11Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
e16ca1169cc49fbb5b0325564d248becad3a4b7f,"Refactored table column/row display logic
Simplified the template and made the way for upcoming foreign key work.
Refs #85
Also fixed bug on database page - closes #113",2017-11-17T15:39:36Z,2017-11-17T15:39:36Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
084350b0f1343d988928cae63cfedbeb6205e25e,"Switched to gather_request=False for Sanic tests
Gets rid of those ugly _, response = lines.",2017-11-17T14:53:37Z,2017-11-17T14:53:37Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
f3445e2d13e2c38bfbf75f35c2aa3e50df0040f1,Install python3-dev rothar than python-dev,2017-11-17T14:18:49Z,2017-11-17T14:18:49Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
1a6cfcc10f9abcc743b45437996c7264cc2a57b2,"Added a .dockerignore
Figured this would be useful while testing out 03572ae3557",2017-11-17T14:18:23Z,2017-11-17T14:18:23Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
03572ae35573c2ea802a540624ce116f540ba1ac,"Allow --load-extension to be set via environment variable
I tesed this by first building and running a container using the new
Dockerfile from #114:
docker build .
docker run -it -p 8001:8001 6c9ca7e29181 /bin/sh
Then I ran this inside the container itself:
apt update && apt-get install wget -y \
&& wget http://www.gaia-gis.it/spatialite-2.3.1/test-2.3.sqlite.gz \
&& gunzip test-2.3.sqlite.gz \
&& mv test-2.3.sqlite test23.sqlite \
&& datasette -h 0.0.0.0 test23.sqlite
I visited this URL to confirm I got an error due to spatialite not being
loaded:
http://localhost:8001/test23-c88bc35?sql=select+ST_AsText%28Geometry%29+from+HighWays+limit+1
Then I checked that loading it with `--load-extension` worked correctly:
datasette -h 0.0.0.0 test23.sqlite \
--load-extension=/usr/lib/x86_64-linux-gnu/mod_spatialite.so
Then, finally, I tested it with the new environment variable option:
SQLITE_EXTENSIONS=/usr/lib/x86_64-linux-gnu/mod_spatialite.so \
datasette -h 0.0.0.0 test23.sqlite
Running it with an invalid environment variable option shows an error:
$ SQLITE_EXTENSIONS=/usr/lib/x86_64-linux-gnu/blah.so datasette \
-h 0.0.0.0 test23.sqlite
Usage: datasette -h [OPTIONS] [FILES]...
Error: Invalid value for ""--load-extension"": Path ""/usr/lib/x86_64-linux-gnu/blah.so"" does not exist.
Closes #112",2017-11-17T14:13:35Z,2017-11-17T14:13:35Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3,"Added --load-extension argument to datasette serve
Allows loading of SQLite extensions. Refs #110.",2017-11-16T16:46:04Z,2017-11-16T16:48:49Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
9e27b2a0ba45d92e198fcbac8641da41a62236b8,Add example of named parameter UI to the release notes,2017-11-16T16:09:07Z,2017-11-16T16:46:25Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
a9138f044a4d73256c2244243d4e2908d77d218e,Added date to most recent changelog entry,2017-11-16T15:40:43Z,2017-11-16T15:40:43Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
51bdd67691bd69082ae7690af8b905f06050ee80,Changelog for 0.12 release,2017-11-16T15:37:46Z,2017-11-16T15:37:46Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
01e0c3fa18cd0dd7970e208790ffd683a420c924,"Fixed bug
was showing for all None values in table cells, thanks to the
autoescaping change introduced in 82261a638bd35c9",2017-11-16T15:29:52Z,2017-11-16T15:29:52Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
228bce83a37b4bee633f674b802aee13fe5b2f44,"Added __version__, bumped it to 0.12
Closes #108",2017-11-16T15:20:54Z,2017-11-16T15:20:54Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
e6ca88588395a9b8266c0e14121668990d34ff67,"Added initial docs, including a changelog
Docs initialized using this helpful guide:
http://docs.readthedocs.io/en/latest/getting_started.html
I used https://pypi.python.org/pypi/gitchangelog to kick-start the changelog.
Closes #99
Refs #109",2017-11-16T15:11:00Z,2017-11-16T15:11:00Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
9199945a1bcec4852e1cb866eb3642614dd32a48,"Fixed 500 on views page
Bug introduced in a4af532a31ece7095d710a1f5abb39ea93fe003f
Refs 85",2017-11-16T14:46:49Z,2017-11-16T14:46:49Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
82261a638bd35c9d69a9582a898cf4dab374f76c,"Turn on auto-escaping in Jinja
We had XSS holes! Since we don't do cookies or authentication
they shouldn't cause any actual harm, but still really not good.
https://github.com/pallets/jinja/issues/528",2017-11-16T01:59:42Z,2017-11-16T01:59:42Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
a4af532a31ece7095d710a1f5abb39ea93fe003f,"Include foreign key info in inspect() output
Refs #85",2017-11-16T01:34:32Z,2017-11-16T01:34:32Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
5d8084a28578da2aefa79ad81df9d82e2c265666,"Added a UI for editing named parameters
Fixes #96",2017-11-16T01:32:48Z,2017-11-16T01:32:48Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
9f47b6e4d80f0f393cf0167a6f48280de6847d1d,"Pin to specific Jinja version
Closes #100",2017-11-16T00:14:07Z,2017-11-16T00:14:07Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
f45ca30f91b92ac68adaba893bf034f13ec61ced,"Fixed bug with datasette package --metadata
Closes #84",2017-11-15T05:18:29Z,2017-11-15T05:18:29Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
ea183b2ae3d557a370628e236fe606717c704e2a,"Default to 127.0.0.1 not 0.0.0.0
Closes #98",2017-11-15T05:08:46Z,2017-11-15T05:08:46Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
7fe1e8b4827aa1d7e72825da563effdf44ae7233,"Added extra metadata options to publish and package commands
You can now run these commands like so:
datasette now publish mydb.db \
--title=""My Title"" \
--source=""Source"" \
--source_url=""http://www.example.com/"" \
--license=""CC0"" \
--license_url=""https://creativecommons.org/publicdomain/zero/1.0/""
This will write those values into the metadata.json that is packaged with the
app. If you also pass --metadata= that file will be updated with the extra
values before being written into the Docker image.
Closes #92",2017-11-15T05:02:11Z,2017-11-15T05:02:11Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
9cb69cbd45ed8fd93190c47060c19abec80bc4ef,"New ?_sql_time_limit_ms=10 argument to database and table page
Allows callers to opt for a lower time limit.
Closes #95",2017-11-15T02:55:10Z,2017-11-15T02:55:10Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
0b8c1b0a6da9cb8ac0d28cc90dd783de87554036,"Test for sql_time_limit_ms + sqlite_functions mechanism
Added a unit test for the sql_time_limit_ms option.
To test this, I needed to add a custom SQLite sleep() function. I've added a
simple mechanism to the Datasette class for registering custom functions.
I also had to modify the sqlite_timelimit() function. It makes use of a magic
value, N, which is the number of SQLite virtual machine instructions that
should execute in between calls to my termination decision function.
The value of N was not finely grained enough for my test to work - so I've
added logic that says that if the time limit is less than 50ms, N is set to 1.
This got the tests working.
Refs #95",2017-11-15T02:41:03Z,2017-11-15T02:43:34Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
4f7281af8ce421d2f8c57ba43108261ba89d2cd6,"Apply a default height to CodeMirror
Makes it a bit more obvious that it's an editable textarea even
if the SQL in it is only one line long.",2017-11-15T02:04:04Z,2017-11-15T02:04:04Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
cbb59e3801868e1c284ad50b66343cd4358e516c,Handle tables with names that start with digits,2017-11-14T18:13:37Z,2017-11-15T02:03:21Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
b0f3d4e375655f0764f3137dbcede324f9bbc0cb,Version 0.11,2017-11-14T01:48:22Z,2017-11-14T01:48:22Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
fc7c04fe0b2f9daf8875ccaa9625ec80d8eeafe2,"Added 'datasette publish now --force' option
This calls now with --force - which is useful as it means you get a fresh copy of
datasette even if now has already cached that docker layer.",2017-11-14T01:48:03Z,2017-11-14T01:48:03Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
00527e5c629d9dae56d6228891b40105ff0e34c6,Enable --cors by default in containers,2017-11-14T01:23:22Z,2017-11-14T01:23:22Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
5928c11ee798a232aa4096706cd47e639d1c9fc2,Version 0.10,2017-11-14T00:45:23Z,2017-11-14T00:45:23Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
50e817801f90d07468ea394ef562d55d8940d124,"Fixed #83
Turns out we had a redirect bug as well.",2017-11-14T00:44:08Z,2017-11-14T00:44:43Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
44a199a0625b695492b2a8605030dc61191f39cb,"Stop using sqlite WITH RECURSIVE in our tests
The version of Python 3 running in Travis CI doesn't support this.",2017-11-13T22:15:21Z,2017-11-13T22:15:21Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
d75f423b6fcfc074b7c6f8f7679da8876f181edd,Release 0.9,2017-11-13T22:00:39Z,2017-11-13T22:00:53Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
1e698787a4dd6df0432021a6814c446c8b69bba2,"Added --sql_time_limit_ms and --extra-options
The serve command now accepts --sql_time_limit_ms for customizing the SQL time
limit.
The publish and package commands now accept --extra-options which can be used
to specify additional options to be passed to the datasite serve command when
it executes inside the rusulting Docker containers.",2017-11-13T21:58:34Z,2017-11-13T22:00:53Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
fe279ab7b4ae99dab295d5cf4d39ad06d782997e,"v0.8 - added PyPI metadata, ready to ship",2017-11-13T21:17:34Z,2017-11-13T21:17:34Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
847f3e0c92b5ac17200b2090bedcc5443bb08e4b,"Implemented offset/limit pagination for views
Closes #70",2017-11-13T21:10:55Z,2017-11-13T21:10:55Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
7dac1c05cd40f89a5af34763e4d5614c750575c2,"Improved pagination
Closes #78",2017-11-13T20:34:56Z,2017-11-13T20:34:56Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
d76412668f8c12572eb7de57ccb72f1e50306177,Removed rogue middot,2017-11-13T20:34:39Z,2017-11-13T20:34:39Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
79216bac12668eb90ccad65086d4f129476a3969,Added some breathing room to the footer,2017-11-13T19:38:20Z,2017-11-13T19:38:20Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
8252e71da461c425e625e1c3e4ee0bd92ea4cbf0,"Limit on max rows returned, controlled by --max_returned_rows option
If someone executes 'select * from table' against a table with a million rows
in it, we could run into problems: just serializing that much data as JSON is
likely to lock up the server.
Solution: we now have a hard limit on the maximum number of rows that can be
returned by a query. If that limit is exceeded, the server will return a
`""truncated"": true` field in the JSON.
This limit can be optionally controlled by the new `--max_returned_rows`
option. Setting that option to 0 disables the limit entirely.
Closes #69",2017-11-13T19:33:01Z,2017-11-13T19:33:01Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
6b3b05b6db0d2a7b7cec8b8dbb4ddc5e12a376b2,Released 0.7,2017-11-13T18:42:30Z,2017-11-13T18:42:30Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
e838bd743d31358b362875854a0ac5e78047727f,Added README and improved help for 'datasette serve',2017-11-13T18:41:53Z,2017-11-13T18:41:59Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
20d41c8e8e84ab3e8bdb5cca9bd9799da09794ad,"publish now takes a required publisher argument - only current option is 'now'
Closes #76",2017-11-13T18:40:51Z,2017-11-13T18:40:51Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
4fec50597a8684756bc96d4a69b6fab809ec6cf6,Include license/source in JSON output if provided,2017-11-13T18:39:25Z,2017-11-13T18:39:25Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
97c4bf4271495f8f711926ec44d8def3f2941379,"Added --cors argument to enable CORS
Closes #75",2017-11-13T18:17:42Z,2017-11-13T18:17:42Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
495407acefe1e6976316aef88ae0e4c1d48ab421,"Force initial .inspect() before starting server
Otherwise there is a long pause on the first request made.",2017-11-13T18:03:52Z,2017-11-13T18:03:52Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
4143e3b45c16cbae5e3e3419ef479a71810e7df3,"New command: datasette package - packages a docker container
Example usage:
datasette package fivethirtyeight.db \
--tag fivethirtyeight \
--metadata=538-metadata.json
This will create a temporary directory, generate a Dockerfile, copy in the
SQLite database and metadata file, then build that as a new docker image and
tag that in your local Docker repository as fivethirtyeight:latest.
You can then run the image like so:
docker run -p 8006:8001 fivethirtyeight
This will expose port 8001 in the container (the default) as port 8006 on your
host.
Closes #67",2017-11-13T16:13:38Z,2017-11-13T16:17:35Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
3ef35ca8b4369af6a8bcdd9e5cfbb5f3a7d17cf8,"serve and publish commands now take a --metadata option
If provided, the --metadata option is the path to a JSON file containing
metadata that should be displayed alongside the dataset.
datasette /tmp/fivethirtyeight.db --metadata /tmp/metadata.json
Currently that metadata format looks like this:
{
""title"": ""Five Thirty Eight"",
""license"": ""CC Attribution 4.0 License"",
""license_url"": ""http://creativecommons.org/licenses/by/4.0/"",
""source"": ""fivethirtyeight/data on GitHub"",
""source_url"": ""https://github.com/fivethirtyeight/data""
}
If provided, this will be used by the index template and to populate the
common footer.
The publish command also accepts this argument, and will package any provided
metadata up and include it with the resulting Docker container.
datasette publish --metadata /tmp/metadata.json /tmp/fivethirtyeight.db
Closes #68",2017-11-13T15:20:02Z,2017-11-13T15:20:02Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
ff2fb573cd8773206a6df83229620928056e2ee2,"datasette publish --name=now-accepts-name
Fixes #72",2017-11-13T02:12:21Z,2017-11-13T02:12:21Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
2bbe9ca34a701191e3bf4e97943b7503a50ab548,Support OPTIONS requests for CORS,2017-11-13T02:11:52Z,2017-11-13T02:11:52Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
d01370f1660d0b0360248105cd43060dca31f70f,Show SQL and params if table has them applied,2017-11-12T23:21:39Z,2017-11-12T23:21:39Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
26370b14d862a5d2dc32b858bdf627f2a5ec3209,"Handle table names with slashes in them
e.g. https://datasette-wdlexdiaoz.now.sh/fivethirtyeight-75d605c/bob-ross%2Felements-by-episode.csv?CABIN=1&BUSHES=1&CLOUDS=1",2017-11-12T23:17:00Z,2017-11-12T23:17:00Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
4c66097d581c3970a23530598c4fe98b09f422ee,"datasette publish now works with full paths
e.g. datasette publish /tmp/blah/database.db now does the right thing",2017-11-12T23:16:24Z,2017-11-12T23:16:24Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
efecae5a11617eb576d475192384339fcdb03189,"Full path to database now works
e.g. datasette /tmp/blah.db
Previously this failed because it did not open with full path.",2017-11-12T22:23:41Z,2017-11-12T23:01:29Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
db3fa4abfac366184e97fb313b36d3429e5b937a,"Views no longer attempt to link to records
Closes #54",2017-11-12T21:29:26Z,2017-11-12T21:29:26Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
59a616ca5c99301a254d86ab097b6ce8f7b30fb6,"Move view SQL to bottom of the page
Now consistent with tables",2017-11-12T21:25:34Z,2017-11-12T21:25:34Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
22851ed9f0541904f5c3fca7ddbd7add10a75d39,"Table page now shows CREATE TABLE at bottom
Closes #66",2017-11-12T21:16:59Z,2017-11-12T21:16:59Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
666aa032530189d585dd61d0e9851e9fe63ee598,"Improved error handling
Invalid SQL now shows a special error.html template, and is covered by tests.",2017-11-12T21:16:15Z,2017-11-12T21:16:15Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
ff2ab9dc7d82f70daae10f5b0cde87d74704f910,"Views now show their SQL, are handled a bit better
Refs #66",2017-11-12T20:31:46Z,2017-11-12T20:32:25Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
f4794df07032083fbd3d4829e17b3fd2a54b779a,Added border-right to table cells,2017-11-12T20:19:18Z,2017-11-12T20:19:18Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
8acdc2fd14c0f7251e1e3fd592c53b3152f5256c,"Test for table with space in name
Tests code in b51836f8463ef65bc947f0a7b6e60167cb7154cf",2017-11-12T20:08:32Z,2017-11-12T20:08:32Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
b51836f8463ef65bc947f0a7b6e60167cb7154cf,"Fixed bug with tables with spaces in their name
The new database index page was erroring.",2017-11-12T20:02:45Z,2017-11-12T20:02:45Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
59580d02da80eb963d5bce897c539c6489042025,"Implemented custom SQL via textarea
Closes #65",2017-11-12T02:35:35Z,2017-11-12T02:35:35Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
fd3a33989aaf2533c4928de3b251c24614003f1e,"Implemented new database view and template
Closes #53 - see comments there for screenshots.",2017-11-12T01:50:21Z,2017-11-12T01:50:21Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
2366a016f252f2220eb777938a9da4b0de179063,"Added links to .json and .jsono representations
Closes #62",2017-11-11T22:40:44Z,2017-11-11T22:40:44Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
fa42a56c6a0fa62529eabf2d363bd3008ce23094,"Bulked out table test a bit
I'm closing #50 - more tests will be added in the future, but the framework
is neatly in place for them now.",2017-11-11T22:22:47Z,2017-11-11T22:22:47Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
e9e1def4c0cc49c96ed0b0d2bbc3ae81353ed2bb,"Revised JSON design a bit
Closes #63",2017-11-11T22:20:00Z,2017-11-11T22:20:00Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
e4bf66d9b075190bf96c1f85eaccd7464915f249,"Added header with breadcrumbs and footer
Also cleaned up titles on various pages.
Closes #61",2017-11-11T20:36:20Z,2017-11-11T20:36:20Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
40a563ebac72f46a1b2dc498a25520c429bca6d6,"Reworked metadata building options
Building metadata is now optional. If you want to do it, do this:
datasette build *.db --metadata=metadata.json
Then when you run the server you can tell it to read from metadata:
datasette serve *.db --metadata=metadata.json
The Dockerfile generated by datasette publish now uses this mechanism.
Closes #60",2017-11-11T20:10:51Z,2017-11-11T20:11:51Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
ad8b5d3bd23a7b306b8843d7de53a7c918ddb74f,"JSON version of our homepage
Now available at http://localhost:8006/.json
Tested by tests added in 407795b61217205625f2d4e084afbf69f1db781b",2017-11-11T17:49:47Z,2017-11-11T17:49:47Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
407795b61217205625f2d4e084afbf69f1db781b,"Initial unit tests against our Sanic app
Refs #50
I had to disable the build metadata function to get these tests to work
sensibly. I need to completely rethink how that mechanism works.",2017-11-11T17:47:59Z,2017-11-11T17:47:59Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
3280972c891633c6015fa55bbfd094420b4f0233,"Fixed tests I broke earlier
Broke these tests in 21c9c04310dffcdb8cf6fee0f74fc9e7ac1ecf19",2017-11-11T16:52:17Z,2017-11-11T16:52:17Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
3863a30b5d18204b4c77518f1880a1f705e929db,"publish command checks 'now' is installed
Closes #58",2017-11-11T16:00:00Z,2017-11-11T16:00:00Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599
|