sha,message,author_date,committer_date,raw_author,raw_committer,repo,author,committer 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 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 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 31a5d8fa77be68d4f837f0a80a611675dce49f4b,"Bump aiohttp to fix compatibility with Python 3.7 Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333",2018-07-12T17:41:20Z,2018-07-12T18:07:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,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 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 49f317752cfe89c5641165a490eef49e025752a7,Move version info back to separate module,2018-05-22T17:33:57Z,2018-05-22T19:35:21Z,106fe7fbf8b80a01038e265a137b3b703422db48,2946d096d0cdefdc017559e6b57e87658736e843,107914493,198537,9599 fc47dacbbd4c4d245d7144e4cc014d3303f84b9a,"Add `__version_info__` derived from `__version__` This might be tuple of more than two values (major and minor version) if commits have been made after a release.",2018-05-22T17:18:00Z,2018-05-22T19:35:21Z,106fe7fbf8b80a01038e265a137b3b703422db48,2946d096d0cdefdc017559e6b57e87658736e843,107914493,198537,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 58b5a37dbbf13868a46bcbb284509434e66eca25,Refactor inspect logic,2018-05-21T08:02:34Z,2018-05-22T14:03:06Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 9959a9e4deec8e3e178f919e8b494214d5faa7fd,"Added screenshots to facets and full_text_search docs, refs #255",2018-05-16T15:24:44Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 858d79fe938afbe04e2b249da71860e812869ec8,Typo fix,2018-05-16T15:15:56Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 566f2d31d6f4950200b64424f6f9cfdd06343f4e,"Clarified relationship between metadata and _facet= facets, updated docs - refs @255",2018-05-16T15:15:23Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 b263da78e329853ceea41c4ecabe7e8bb08d20a7,"Reliable sort order for facets in Python 3.5, fixing test - refs #255",2018-05-16T14:43:13Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 062303419cef9bbf72927c4ac4efdb185829c03b,Hide facet button is now a ✖ - refs #255,2018-05-16T14:37:05Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 62f1d3a6cbf7fca5c0e85c13a77830755c314883,"class=""suggested-facets""",2018-05-16T05:08:58Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 91bf5f56bb301fb564640fa6b1bb8a6e981ff721,"Show enabled facets in flexbox columns, refs #255",2018-05-16T05:06:05Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 6d12580ed74ff0baf081bf9fabc14eeaf8a3105c,"Foreign key facets are now expanded to labels, refs #255",2018-05-15T15:52:02Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 a892f9a0bd6667c1ad4c590016d6845cd98a645a,Use escape_sqlite() more consistently,2018-05-15T15:00:39Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 8a0bd68c393423a6c3bdae27d3826e6161a101c1,Undid some slightly weird code formatting by 'black',2018-05-15T13:23:20Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 63aac537f238239d5fb7f4934545404d37d874f6,"1,442 format for facet counts, refs #255",2018-05-15T12:14:14Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 f4943ca89bf400350205788f9130c135aaf7b85b,"_facet selections persist through table form, refs #255",2018-05-15T10:28:48Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 514873c6295dcd467d806064a549e46b4ea3279a,Fix bug with toggle_url on integer facets,2018-05-15T10:19:09Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 1dc94f6eaa98431da9c61e803e2b05b082f9c6e8,"Facets can now be toggled off again, refs #255",2018-05-15T10:11:52Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 ba515fc56e6cf77ea299b6d534be7ccfa925a533,Removed un-used variable,2018-05-15T10:08:07Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 142a550a99f3c78349a10ed79f1b513fe704a169,"Facet results now have ""truncated"" field To indicate if there was more than 20 distinct values. Refs #255",2018-05-15T09:50:27Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 a82175276c3f5898161c7630f669d0b8990d7a16,_sort/_next links now use new path_with_replaced_args method,2018-05-15T09:34:45Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 2f81552cd29125e3916763f05949125a49c2dde8,Never suggest a facet if it only results in on option,2018-05-15T03:05:10Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 b0d2bb3e43dd567b96b6a4ddc3c1a09a84c2c42d,Facets no longer consider null values,2018-05-14T22:19:43Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 ddef2298509e3027a44971a681ad7855bf07b51a,"Initial implementation of suggested facets Causes tests to break at the moment",2018-05-14T22:09:42Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 8a4ed052a5034d3f12daf5eedabb0808a0bf20fc,path_with_added_args now works with multiple existing args,2018-05-14T22:09:09Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 f36c9d4b4ca77dd42495f31d02e89b4c10833531,"Facet toggling now works for integer columns, refs #255",2018-05-14T21:33:24Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 de05cf21aa6a922ee2825b5098b108dd23fb0755,"Facet ""selected"" key and toggle_url now toggles, refs #255",2018-05-14T20:42:10Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 2b79f2bdeb1efa86e0756e741292d625f91cb93d,path_with_added_args now preserves order in Python 3.5,2018-05-14T03:02:07Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 eaf715a60ae3c3180d0949da8292e2627b72e287,Extract /-/plugins view into a method,2018-05-13T13:06:02Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 cf1fe693e5741035df65cc9d69c4af32befd021d,Used isort to re-order my imports,2018-05-13T12:58:28Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 368638555160fb9ac78f462d0f79b1394163fa30,Ran black source formatting tool against new views/ and app.py,2018-05-13T12:55:15Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 1f69269fe93e4cd42e56890126cc0dbcf719c6cb,"Refactored views into new views/ modules, refs #256",2018-05-13T12:44:22Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 690736436bac599ca042d1caa465c6d66d2651f9,"Bump up time limit for test_paginate_tables_and_views It was intermittently failing in Travis CI on Python 3.5: https://travis-ci.org/simonw/datasette/jobs/373713476",2018-05-02T00:17:39Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 349e262bb1c8f225cf86a5e8542253282809a0eb,"Renamed ?_sql_time_limit_ms= to ?_timelimit, closes #242",2018-05-02T00:11:46Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 a4cc5dc81364a7300f0ba0bd5711633e803c250a,"New ?_shape=array option + tweaks to _shape, closes #245 * Default is now ?_shape=arrays (renamed from lists) * New ?_shape=array returns an array of objects as the root object * Changed ?_shape=object to return the object as the root * Updated docs",2018-05-02T00:08:16Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 2565d623af6222f3ed1c630f753b5f95ad749d49,?_shape=array experimental feature,2018-05-01T17:40:33Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 a971718d2a5e1b61b5e5c27b0ef6c4ec65616e35,Fix a typo (#232),2018-04-21T00:19:07Z,2018-04-21T00:19:07Z,8795af7c0eb348f1248a81917921e4a7d768bee3,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45281,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 c1d37fdf2be84fb07155bb1b1f61057444b03300,"Fixed bug with human filter description, refs #189 We were showing this: 201 rows where sorted by sortable_with_nulls We now show this: 201 rows sorted by sortable_with_nulls",2018-04-09T05:07:18Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 23e0fdb0f3196ffa4d8bc4944c8bc9cb0f89129b,"Removed unnecessary enumerate template helper I made this obsolete in d1756d773685ca4f9c5b57fb40e1aa743bc95525 Refs #189",2018-04-09T05:02:19Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 b13f0986f26d88938519b07871c961c0b5a97802,"New sortable_columns option in metadata.json to control sort options You can now explicitly set which columns in a table can be used for sorting using the _sort and _sort_desc arguments using metadata.json: { ""databases"": { ""database1"": { ""tables"": { ""example_table"": { ""sortable_columns"": [ ""height"", ""weight"" ] } } } } } Refs #189",2018-04-09T04:58:25Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 a87df963a08054ad7a652f0218e70ddb7f9cc8bd,"Error handling for ?_sort and ?_sort_desc Verifies that they match an existing column, and only one or the other option is provided - refs #189 Eses a new DatasetteError exception that closes #193",2018-04-09T04:07:31Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 bfb19e3a178ba9b2dab2f90f90a398b54a73d34e,Correctly escape sort-by columns in SQL (refs #189),2018-04-09T02:25:14Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 747a801b50487cd4cc20856d44252ac0a6cb346f,Column headers now link to sort/desc sort - refs #189,2018-04-09T02:08:28Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 9f2ec39fbc5481b0fa6585ccdd159ba9fd989bcc,"Current sort order now reflected in human filter description Plus renamed human_description to human_description_en Refs #189",2018-04-09T01:01:23Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 f3a3820ff5c5ba9b4af102e65ed1f084b1fe704d,"_sort and _sort_desc parameters for table views Allows for paginated sorted results based on a specified column. Refs #189",2018-04-09T00:06:10Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 29f9a29250169cdb564020109f76e0f4b52afa5d,Total row count now correct even if _next= applied,2018-04-08T23:13:52Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 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 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 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 6d39429daa4655e3cf7a6a7671493292a20a30a1,"Don't prevent tabbing to `Run SQL` button (#117) See comment in #115",2017-11-18T00:53:42Z,2017-11-18T00:53:42Z,106fe7fbf8b80a01038e265a137b3b703422db48,2946d096d0cdefdc017559e6b57e87658736e843,107914493,198537,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 eda848b37f8452dba7913583ef101f39d9b130ba,Add keyboard shortcut to execute SQL query (#115),2017-11-17T14:22:55Z,2017-11-17T14:22:55Z,106fe7fbf8b80a01038e265a137b3b703422db48,2946d096d0cdefdc017559e6b57e87658736e843,107914493,198537,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 ed2b3f25beac720f14869350baacc5f62b065194,"add support for ?field__isnull=1 (#107) * add support for ?field__isnull=1 * Add unit test and conditional formatting for ?field__isnull",2017-11-17T13:29:22Z,2017-11-17T13:29:22Z,19245be93da11be3d5e72991646660a06a9d3449,2946d096d0cdefdc017559e6b57e87658736e843,107914493,3433657,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 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 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 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 8252daa4c14d73b4b69e3f2db4576bb39d73c070,SQL syntax highlighting with Codemirror (#89),2017-11-15T02:03:00Z,2017-11-15T02:03:00Z,842b8095c01bad0cc95c5ee2e93d83bf3945daa0,2946d096d0cdefdc017559e6b57e87658736e843,107914493,15543,9599