{"sha": "01b3de5b66742f0f661183e9e2ef66be3600e831", "message": "Unit test for binary data display, refs #442", "author_date": "2019-05-03T16:43:59Z", "committer_date": "2019-05-03T16:45:06Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "470cf0b05d4fda0d2563f81c7e32af13fe346ccc", "message": "Add a max-line-length setting for flake8 (#444)\n\nThis stops my automatic editor linting from flagging lines which are too\r\nlong. It's been lingering in my checkout for ages.\r\n\r\n160 is an arbitrary large number - we could alter it if we have any\r\nopinions (but I find the line length limit to be my least favourite part\r\nof PEP8).", "author_date": "2019-05-03T13:11:27Z", "committer_date": "2019-05-03T13:11:27Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "53d2f00b732488e0204332da181fc256aa00f41c", "message": "Implemented ArrayFacet, closes #359", "author_date": "2019-05-03T00:21:27Z", "committer_date": "2019-05-03T00:21:27Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "553314dcd699a84aa7cc806377150ca0d57a6024", "message": "Use dist: xenial and python: 3.7 on Travis (#447)", "author_date": "2019-05-03T18:16:52Z", "committer_date": "2019-05-03T18:16:52Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "66c87cee0c7344c7877373c60b180c766c206101", "message": "Mark codemirror files as vendored (#367)\n\nThis should stop GitHub from incorrectly stating that Datasette is 46% JavaScript.", "author_date": "2019-05-03T21:11:19Z", "committer_date": "2019-05-03T21:11:19Z", "raw_author": {"value": "93b11f15fd4dc15002baf3d9160dc6eb928bd883", "label": "Jaap Roes"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 48517, "label": "jaap3"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "75a21fc2a136ccfc9da7bbf521cf288e63c9707f", "message": "datasette publish cloudrun (#434) - thanks, @rprimet\n\nNew publish subcommand that publishes using the\r\nnew Google Cloud Run platform.\r\n\r\n datasette publish cloudrun database.db", "author_date": "2019-05-03T13:59:01Z", "committer_date": "2019-05-03T13:59:01Z", "raw_author": {"value": "8ff51bbea01fdafe1fb3502111343b563f7d5a1b", "label": "Romain Primet"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 10352819, "label": "rprimet"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "93c65d29ba372fa2262a641c0fecb7a071d998d6", "message": "Fixed 500 error on /-/metadata page", "author_date": "2019-05-03T20:40:24Z", "committer_date": "2019-05-03T20:42:59Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "bade9daeb234e35e216adfe5f6d99f489892b2f8", "message": "Docs for 'datasette publish cloudrun', refs #434", "author_date": "2019-05-03T16:16:35Z", "committer_date": "2019-05-03T16:16:58Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "bf229c9bd88179c8ec16bd65fd4fb28ab4241c2e", "message": "Pass view_name to extra_body_script hook (#443)\n\nAt the moment it's not easy to tell whether the hook is being called\r\nin (for example) the row or table view, as in both cases the\r\n`database` and `table` parameters are provided.\r\n\r\nThis passes the `view_name` added in #441 to the `extra_body_script`\r\nhook.", "author_date": "2019-05-03T13:12:19Z", "committer_date": "2019-05-03T13:12:19Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d555baf508de71a5e3dc9a9aed2c13f6f202956d", "message": "Suppress rendering of binary data - thanks @russss (#442)\n\nBinary columns (including spatialite geographies) get shown as ugly\r\nbinary strings in the HTML by default. Nobody wants to see that mess.\r\n\r\nShow the size of the column in bytes instead. If you want to decode\r\nthe binary data, you can use a plugin to do it.", "author_date": "2019-05-03T16:44:48Z", "committer_date": "2019-05-03T16:44:48Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ea66c45df96479ef66a89caa71fff1a97a862646", "message": "Extract facet code out into a new plugin hook, closes #427 (#445)\n\nDatasette previously only supported one type of faceting: exact column value counting.\r\n\r\nWith this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more.\r\n\r\nA new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes.\r\n\r\nEach class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI.", "author_date": "2019-05-03T00:11:26Z", "committer_date": "2019-05-03T00:11:26Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "f853d5592ec7f901a50381de22a26a9ab098f885", "message": "\"python3 -m pip\" is clearer (thanks @jaap3) (#368)", "author_date": "2019-05-03T18:18:42Z", "committer_date": "2019-05-03T18:18:42Z", "raw_author": {"value": "93b11f15fd4dc15002baf3d9160dc6eb928bd883", "label": "Jaap Roes"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 48517, "label": "jaap3"}, "committer": {"value": 9599, "label": "simonw"}}