{"sha": "a21c00b54dd6e0ecb17c60024fb1b55729c5d21e", "message": ".select-wrapper:focus-within for accessibility, closes #1771", "author_date": "2022-12-18T06:28:07Z", "committer_date": "2022-12-18T06:28:07Z", "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": "b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9", "message": ".sqlite/.sqlite3 extensions for config directory mode\n\nCloses #1646", "author_date": "2022-10-07T23:03:09Z", "committer_date": "2022-10-07T23:03:30Z", "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": "515d362ad60c3dc16272c4fdca932cf0a0e9dafa", "message": ".table_names and .tables properties plus expanded docs", "author_date": "2018-08-01T00:35:36Z", "committer_date": "2018-08-01T00:35:36Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "0e797033f96a1c61b173a3d8af2ff36905687a2e", "message": ".transform() on rowid (non-pk) tables bug fix, closes #284", "author_date": "2021-06-19T15:28:26Z", "committer_date": "2021-06-19T15:28:26Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "bc9c4db34b815f5385abbf4bb491bab0e10779db", "message": ".update(...) with no update argument sets last_pk", "author_date": "2019-07-28T14:59:52Z", "committer_date": "2019-07-28T14:59:52Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "489eda92bc3b528c90b76ac90a3f9b78c8ea02a3", "message": ".upsert() and upsert_all() require pk=, closes #73", "author_date": "2020-01-05T17:20:11Z", "committer_date": "2020-01-05T17:20:11Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "a1a372f17974af91e2d710faba0cf41e88b53f9b", "message": "/-/actor no longer requires view-instance, refs #1945", "author_date": "2022-12-13T05:06:30Z", "committer_date": "2022-12-13T05:06:30Z", "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": "c6a811237c00684c9f1e3a28a717425046cab3da", "message": "/-/actor.json no longer requires view-instance, closes #1945", "author_date": "2022-12-13T04:11:51Z", "committer_date": "2022-12-13T04:11:51Z", "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": "12c0bc09cc4bf9addde20f3d46613de11f27c641", "message": "/-/allow-debug tool, closes #908", "author_date": "2020-07-24T22:54:41Z", "committer_date": "2020-07-24T22:55:10Z", "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": "807de378d08752a0f05bb1b980a0a62620a70520", "message": "/-/databases and homepage maintain connection order, closes #1216", "author_date": "2021-06-02T03:03:07Z", "committer_date": "2021-06-02T03:10:15Z", "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": "cccea85be6aaaeadb31f3b588ec7f732628815f5", "message": "/-/databases sorts alphabetically\n\nShould fix test failure in Python 3.5", "author_date": "2019-05-16T14:56:13Z", "committer_date": "2019-05-16T14:56:13Z", "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": "22d932fafc3fa9af5a8f5eeab908688eaeb177ea", "message": "/-/logout page for logging out of ds_actor cookie\n\nRefs #840", "author_date": "2020-06-29T04:17:30Z", "committer_date": "2020-06-29T04:17: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": "a7137dfe069e5fceca56f78631baebd4a6a19967", "message": "/-/plugins now shows details of hooks, closes #794\n\nAlso added /-/plugins?all=1 parameter to see default plugins.", "author_date": "2020-06-02T21:49:28Z", "committer_date": "2020-06-02T21:49:28Z", "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": "04d21ccd089fcaf7a2b535d217fc541ab19aa54b", "message": "/-/versions now includes SQLite fts_versions, closes #252", "author_date": "2018-05-11T13:19:25Z", "committer_date": "2018-05-11T13:19:25Z", "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": "5a1519796037105bc20bcf2f91a76e022926c204", "message": "/db/table/-/blob/pk/column.blob download URL, refs #1036", "author_date": "2020-10-24T23:09:18Z", "committer_date": "2020-10-24T23:09:18Z", "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": "272982e8a6f45700ff93c3917b4688a86de0e672", "message": "/db/table/-/upsert API\n\nClose #1878\r\n\r\nAlso made a few tweaks to how _r works in tokens and actors,\r\nrefs #1855 - I needed that mechanism for the tests.", "author_date": "2022-12-08T01:12:15Z", "committer_date": "2022-12-08T01:12:15Z", "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": "484bef0d3b628c77e7331ddd633d68c4a66817f3", "message": "/db/table/pk/-/update endpoint, closes #1863", "author_date": "2022-11-29T18:06:19Z", "committer_date": "2022-11-29T18:06:19Z", "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": "13d1228d80c91d382a05b1a9549ed02c300ef851", "message": "/dbname/tablename/-/modify-table-schema is OK after all\n\nRefs #1053, #296", "author_date": "2020-11-02T20:02:50Z", "committer_date": "2020-11-02T20:02:50Z", "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": "335f26a0f7f00134f02ae0f001946580b0edecf5", "message": "/fixtures/magic_parameters demo, refs #842", "author_date": "2020-06-28T03:11:01Z", "committer_date": "2020-06-28T03:11:01Z", "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": "e800ffcf7cc6a915eb554b369c654f87162575e5", "message": "/usr/local/lib/mod_spatialite.so\n\nCloses #1114", "author_date": "2020-11-29T17:37:43Z", "committer_date": "2020-11-29T17:37:43Z", "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": "b956a01464007fe227895fe6eb6c942ed71298c8", "message": "0.2.1 with tweaked dependency", "author_date": "2020-10-22T00:06:50Z", "committer_date": "2020-10-22T00:06:50Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 213286752, "label": "pocket-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d888c7c2f02aa0dfb1559603f02357cd0089da11", "message": "0.2.1 with tweaked dependency", "author_date": "2020-10-22T00:08:29Z", "committer_date": "2020-10-22T00:08:29Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 206202864, "label": "inaturalist-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "ac60ce9331dc557837d879680611aca4bd6c28be", "message": "0.21.1 bugfix release", "author_date": "2020-04-30T18:20:43Z", "committer_date": "2020-04-30T18:20:43Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "5d6252788230d168ba09f379d1d2af867e3302ab", "message": "0.22.1 bugfix release", "author_date": "2018-05-23T14:00:01Z", "committer_date": "2018-05-23T14:00:01Z", "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": "d3a91f55be5b03709cc84174be77bd569e338ca9", "message": "0.4a1\n\nRefs #10, #11", "author_date": "2020-09-03T18:03:15Z", "committer_date": "2020-09-03T18:03:15Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 197431109, "label": "dogsheep-beta"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "56b0758a5fbf85d01ff80a40c9b028469d7bb65f", "message": "0.64 release notes, refs #2036", "author_date": "2023-03-08T20:52:25Z", "committer_date": "2023-03-08T20:52:37Z", "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": "63aac537f238239d5fb7f4934545404d37d874f6", "message": "1,442 format for facet counts, refs #255", "author_date": "2018-05-15T12:14:14Z", "committer_date": "2018-05-16T15:27:24Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "86bd2bba689e25f09551d611ccfbee1e069e5b66", "message": "1.2.2 release notes", "author_date": "2019-06-26T04:23:45Z", "committer_date": "2019-06-26T04:23:45Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "957f8c9b4ca76e32b03ca5dbf50dd61d01f25292", "message": "2.14.1 release notes", "author_date": "2020-08-06T06:31:11Z", "committer_date": "2020-08-06T06:31:11Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "89c4ddd4828623888e91a1d2cb396cba12d4e7b4", "message": "403 for static directory listing, closes #740", "author_date": "2020-04-27T18:29:04Z", "committer_date": "2020-04-27T18:29:04Z", "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": "97ae66ccabd0e2eae5a7880ac93bd2ac26bb355e", "message": "404s ending in slash redirect to remove that slash, closes #309", "author_date": "2018-06-21T15:13:07Z", "committer_date": "2018-06-21T15:13:07Z", "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": "8404b21556d133c89eda4bd1bf5335ed9a0785d6", "message": "405 method not allowed for GET to POST endpoints, closes #1916", "author_date": "2022-11-30T05:15:13Z", "committer_date": "2022-11-30T05:15:13Z", "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": "06a826c3188af82f27bb6b4e09cc89b782d30bd6", "message": ":fire: Removes DS_Store (#81)\n\n* :fire: Removes .DS_Store\r\n\r\nSigned-off-by: Jeff Triplett \r\n\r\n* :snowflake: Adds .DS_Store to gitignore\r\n\r\nSigned-off-by: Jeff Triplett ", "author_date": "2017-11-13T22:16:54Z", "committer_date": "2017-11-13T22:16:54Z", "raw_author": {"value": "207bb2132044fa5a4fe28a579f7588c2eee6e391", "label": "Jeff Triplett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 50527, "label": "jefftriplett"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "c5068a0972651b3e359ebc2d6c1486b8b7d2c242", "message": ":pencil: Updates my_database.py to my_database.db (#9)", "author_date": "2019-02-24T03:55:04Z", "committer_date": "2019-02-24T03:55:04Z", "raw_author": {"value": "207bb2132044fa5a4fe28a579f7588c2eee6e391", "label": "Jeff Triplett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 50527, "label": "jefftriplett"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "a5792a8c61b9bb6a7a5295c8ec87c2567a5e39a2", "message": " now gets class=\"col-X\" - plus added col-X documentation\n\nRefs #209", "author_date": "2018-04-18T02:11:11Z", "committer_date": "2018-04-18T02:11:54Z", "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": "f1c29fd6a184254aa68efadf096bcf21e848f921", "message": "?_col=/?_nocol= to show/hide columns on the table page\n\nCloses #615\r\n\r\n* Cog icon for hiding columns\r\n* Show all columns cog menu item\r\n* Do not allow hide column on primary keys\r\n* Allow both ?_col= and ?_nocol=\r\n* De-duplicate if ?_col= passed multiple times\r\n* 400 error if user tries to ?_nocol= a primary key\r\n* Documentation for ?_col= and ?_nocol=", "author_date": "2021-05-27T04:17:43Z", "committer_date": "2021-05-27T04:17:43Z", "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": "d97e82df3c8a3f2e97038d7080167be9bb74a68d", "message": "?_extra= support and TableView refactor to table_view\n\n* Implemented ?_extra= option for JSON views, refs #262\r\n* New dependency: asyncinject\r\n* Remove now-obsolete TableView class", "author_date": "2023-03-22T22:49:39Z", "committer_date": "2023-03-22T22:49:39Z", "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": "9789b94da48183dabf105c6419bdcde2634b36a5", "message": "?_facet_size=100 parameter, closes #1332", "author_date": "2021-05-23T00:34:33Z", "committer_date": "2021-05-23T00:34:33Z", "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": "7e983fede679624210c21387d5c4a2c19c141abd", "message": "?_facet_size=max, ... now links to that, closes #1337\n\nRefs #1332", "author_date": "2021-05-27T16:00:58Z", "committer_date": "2021-05-27T16:00: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": "a5881e105a02830d26f07e98177248d5910893da", "message": "?_filter_column=col&_filter_op=isnull__1 redirect\n\nif filter_op contains a __ the value is set to the right hand side.\n\ne.g.\n\n ?_filter_column=col&_filter_op=isnull__1&_filter_value=x\n\nRedirects to:\n\n ?col__isnull=1\n\nRefs #86", "author_date": "2017-11-19T20:33:30Z", "committer_date": "2017-11-19T20:33:30Z", "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": "386fb11d42767039bb2b389ce98996673d780a42", "message": "?_filter_column=col&_filter_op=op&_filter_value=value redirect\n\nPart of implementing the filters UI (refs #86) - the following:\n\n /trees/Trees?_filter_column=SiteOrder&_filter_op=gt&_filter_value=2\n\nNow redirects to this;\n\n /trees/Trees?SiteOrder__gt=2", "author_date": "2017-11-19T20:25:29Z", "committer_date": "2017-11-19T20:25:29Z", "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": "db74cf0144df3e2a017c40a3a36ff5e1a78d7e92", "message": "?_fts_table= and ?_fts_pk= arguments, closes #428", "author_date": "2019-04-12T04:21:17Z", "committer_date": "2019-04-12T04:21:17Z", "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": "db9dbfb816e1e9e4a0845884035eeaeb3110668e", "message": "?_hash=1 no longer respected for mutable databases\n\nCloses #471, refs #419", "author_date": "2019-05-16T15:10:25Z", "committer_date": "2019-05-16T15:10:25Z", "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": "700d83d8adfeb3859ebc93828951e5048cb0e425", "message": "?_json_infinity=1 for handling Infinity/-Infinity - fixes #332", "author_date": "2018-07-24T03:07:57Z", "committer_date": "2018-07-24T03:07:57Z", "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": "ed631e690b81e34fcaeaba1f16c9166f1c505990", "message": "?_labels= and ?_label=COL to expand foreign keys in JSON/CSV\n\nThese new querystring arguments can be used to request expanded foreign keys\nin both JSON and CSV formats.\n\n?_labels=on turns on expansions for ALL foreign key columns\n\n?_label=COLUMN1&_label=COLUMN2 can be used to pick specific columns to expand\n\ne.g. `Street_Tree_List.json?_label=qSpecies&_label=qLegalStatus`\n\n {\n \"rowid\": 233,\n \"TreeID\": 121240,\n \"qLegalStatus\": {\n \"value\" 2,\n \"label\": \"Private\"\n }\n \"qSpecies\": {\n \"value\": 16,\n \"label\": \"Sycamore\"\n }\n \"qAddress\": \"91 Commonwealth Ave\",\n ...\n }\n\nThe labels option also works for the HTML and CSV views.\n\nHTML defaults to `?_labels=on`, so if you pass `?_labels=off` you can disable\nforeign key expansion entirely - or you can use `?_label=COLUMN` to request\njust specific columns.\n\nIf you expand labels on CSV you get additional columns in the output:\n\n`/Street_Tree_List.csv?_label=qLegalStatus`\n\n rowid,TreeID,qLegalStatus,qLegalStatus_label...\n 1,141565,1,Permitted Site...\n 2,232565,2,Undocumented...\n\nI also refactored the existing foreign key expansion code.\n\nCloses #233. Refs #266.", "author_date": "2018-06-16T22:18:57Z", "committer_date": "2018-06-16T22:18:57Z", "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": "c5ae1197a208e1b034c88882e3ac865813a40980", "message": "?_nofacets=1 option, closes #1350", "author_date": "2021-05-31T02:39:14Z", "committer_date": "2021-05-31T02:39:14Z", "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": "992496f2611a72bd51e94bfd0b17c1d84e732487", "message": "?_nosuggest=1 parameter for table views, closes #1557", "author_date": "2021-12-16T19:24:54Z", "committer_date": "2021-12-16T19:24:54Z", "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": "0331666e346c68b86de4aa19fbb37f3a408d37ca", "message": "?_search=x now works directly against fts virtual table\n\nCloses #135", "author_date": "2017-11-20T06:18:07Z", "committer_date": "2017-11-20T06:18:07Z", "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": "6cb65555f46456eb31b62e855e21b1d8c809b1a2", "message": "?_searchmode=raw option (#686)", "author_date": "2020-02-25T05:56:03Z", "committer_date": "2020-02-25T05:56:03Z", "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": "2565d623af6222f3ed1c630f753b5f95ad749d49", "message": "?_shape=array experimental feature", "author_date": "2018-05-01T17:40:33Z", "committer_date": "2018-05-02T00:20:39Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "276913b74803554e03e1617389f6998885ea8c06", "message": "?_shape=arrayfirst, closes #287", "author_date": "2018-05-27T00:32:15Z", "committer_date": "2018-05-27T00:32:15Z", "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": "d4da4c92c8ff19f29ca0cb4b93cb7eaca4553e73", "message": "?_size=max option, closes #249", "author_date": "2018-05-04T18:03:40Z", "committer_date": "2018-05-04T18:03:40Z", "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": "d1d06ace49606da790a765689b4fbffa4c6deecb", "message": "?_trac=1 for CSV, plus ?_nofacets=1 when rendering CSV\n\nCloses #1351, closes #1350", "author_date": "2021-06-01T15:49:50Z", "committer_date": "2021-06-01T15:49:50Z", "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": "58a862cee4a065d463da0a08b87134efb6b6e18d", "message": "?_trace=1 now adds SQL trace info to JSON/HTML response\n\nAlso added documentation for it. Refs #435", "author_date": "2019-04-21T17:41:16Z", "committer_date": "2019-04-21T17:41:16Z", "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": "ff29dd55fafd7c3d27bd30f40945847aa4278309", "message": "?_trace=1 now depends on trace_debug setting, closes #1359", "author_date": "2021-06-05T20:15:58Z", "committer_date": "2021-06-05T20:18:37Z", "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": "b463f60158ccf791809cb51cba2cf7a14e491b36", "message": "?_ttl= parameter and default_cache_ttl config\n\nRefs #285, Closes #289", "author_date": "2018-05-26T22:17:33Z", "committer_date": "2018-05-26T22:17:33Z", "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": "bc6a9b45646610f362b4287bc4110440991aa4d6", "message": "?_where= parameter on table views, closes #429\n\nFrom pull request #430", "author_date": "2019-04-13T01:37:22Z", "committer_date": "2019-04-13T01:37:22Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "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": "1843d55615fa1bdce7d06919965c40acf22b05bb", "message": "@cli.command(name=\"csv\") instead of import csv as csv_std", "author_date": "2019-01-29T15:37:01Z", "committer_date": "2019-01-29T15:37:12Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "482477585a0f3aec1ef3210dee941742d2a02e5e", "message": "@db.register_function decorator, closes #162", "author_date": "2020-09-22T00:31:43Z", "committer_date": "2020-09-22T00:31:43Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "27b67f1cae3f4edf206cf9886aa6a31b2a0ffe63", "message": "@db.register_function(..., replace=True), closes #199", "author_date": "2020-11-06T15:53:22Z", "committer_date": "2020-11-06T18:30:41Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "0789bad8f7581fd96dec5bde51a75e937dffb1e0", "message": "@db.register_function(deterministic=True), closes #191", "author_date": "2020-10-28T21:24:03Z", "committer_date": "2020-10-28T21:30:58Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d9b508ffaa91f9f1840b366f5d282712d445f16b", "message": "@documented decorator plus unit test plus sphinx.ext.autodoc\n\nNew mechanism for marking datasette.utils functions that should be covered by the\ndocumentation, then testing that they have indeed been documented.\n\nAlso enabled sphinx.ext.autodoc which can now be used to embed the documented\nversions of those functions.\n\nRefs #1176", "author_date": "2022-02-07T06:30:00Z", "committer_date": "2022-02-07T06:31: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": "42a66c2f041080845c8751add4ebe2a1b1fd49d7", "message": "A bunch of remaining ds_client conversions, refs #1959", "author_date": "2022-12-16T17:44:30Z", "committer_date": "2022-12-17T21:47:55Z", "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": "74726190d4031bfa36db93e189555e273b35e283", "message": "A couple of filename changes in import", "author_date": "2021-08-21T20:56:03Z", "committer_date": "2021-08-21T20:56:03Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "7ddf5300886a32d6daf60cf1d71efe492b65c87e", "message": "A less potentially confusing parameter name", "author_date": "2022-06-13T15:22:59Z", "committer_date": "2022-06-13T15:22:59Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "50e2f94b583436b1a6c54be04e78a3029de6b521", "message": "Ability to add a column that is a foreign key reference\n\nPython API:\n\n db[\"dogs\"].add_column(\"species_id\", fk=\"species\")\n # or\n db[\"dogs\"].add_column(\"species_id\", fk=\"species\", fk_col=\"ref\")\n\nCLI:\n\n $ sqlite-utils add-column mydb.db dogs species_id --fk species\n # or\n $ sqlite-utils add-column mydb.db dogs species_id --fk species --fk-col ref\n\nCloses #16", "author_date": "2019-05-29T04:54:43Z", "committer_date": "2019-05-29T04:54:43Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "51d01da30d45c1fbc1e587e6046a933529cf915e", "message": "Ability to add descending order indexes (#262)\n\n* DescIndex(column) for descending index columns, refs #260\r\n* Ability to add desc indexes using CLI, closes #260", "author_date": "2021-05-29T05:01:38Z", "committer_date": "2021-05-29T05:01:38Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "e7ffbcdb364810213b0697c9bcab064efb1dd469", "message": "Ability to create unique indexes, refs #14", "author_date": "2019-02-24T18:41:51Z", "committer_date": "2019-02-24T18:41:51Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d84e574e59c51ddcd6cf60a6f9b3d45182daf824", "message": "Ability to deploy demos of branches\n\n* Ability to deploy additional branch demos, closes #1442\r\n* Only run tests before deploy on main branch\r\n* Documentation for continuous deployment", "author_date": "2021-08-19T21:09:38Z", "committer_date": "2021-08-19T21:09:38Z", "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": "7e1ba161ec87b02cf7665a73188258f14036f892", "message": "Ability to easily customize _rows_and_columns.html per database table\n\nAlso added documentation for this.\n\nRefs #158, Closes #159.", "author_date": "2017-12-07T06:11:22Z", "committer_date": "2017-12-07T06:11:22Z", "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": "1a61a6d3d65d14af325889fb5149794bb6c7b214", "message": "Ability to insert base64 binary data as JSON, closes #126", "author_date": "2020-07-27T03:59:15Z", "committer_date": "2020-07-27T03:59:34Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "49a010c93d90bc68ce1c6fff7639927248912b54", "message": "Ability to insert file contents as text, in addition to blob (#321)", "author_date": "2021-08-24T23:31:13Z", "committer_date": "2021-08-24T23:31:13Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "9faa98222669723d31e918bb16a42c13c363817f", "message": "Ability to introspect and run queries against views (#55)\n\n* db.views_names() method and and db.views property\r\n* Separate View and Table classes, both subclassing new Queryable class\r\n* view.drop() method\r\n* Updated documentation", "author_date": "2019-08-23T12:19:41Z", "committer_date": "2019-08-23T12:19:41Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "66fd63b11999e87c541b2023dd569b771927f283", "message": "Ability to list just FTS4 or FTS5 table names", "author_date": "2019-01-25T03:57:04Z", "committer_date": "2019-01-25T03:57:04Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "3cd06729f457d690603b6060dc552b535517ab09", "message": "Ability to over-ride templates for individual tables/databases\n\nIt is now possible to over-ride templates on a per-database / per-row or per-\ntable basis.\n\nWhen you access e.g. /mydatabase/mytable Datasette will look for the following:\n\n - table-mydatabase-mytable.html\n - table.html\n\nIf you provided a --template-dir argument to datasette serve it will look in\nthat directory first.\n\nThe lookup rules are as follows:\n\n Index page (/):\n index.html\n\n Database page (/mydatabase):\n database-mydatabase.html\n database.html\n\n Table page (/mydatabase/mytable):\n table-mydatabase-mytable.html\n table.html\n\n Row page (/mydatabase/mytable/id):\n row-mydatabase-mytable.html\n row.html\n\nIf a table name has spaces or other unexpected characters in it, the template\nfilename will follow the same rules as our custom CSS classes\nintroduced in 8ab3a169d42d096f - for example, a table called \"Food Trucks\"\nwill attempt to load the following templates:\n\n table-mydatabase-Food-Trucks-399138.html\n table.html\n\nIt is possible to extend the default templates using Jinja template\ninheritance. If you want to customize EVERY row template with some additional\ncontent you can do so by creating a row.html template like this:\n\n {% extends \"default:row.html\" %}\n\n {% block content %}\n

EXTRA HTML AT THE TOP OF THE CONTENT BLOCK

\n

This line renders the original block:

\n {{ super() }}\n {% endblock %}\n\nCloses #12, refs #153", "author_date": "2017-11-30T16:30:10Z", "committer_date": "2017-11-30T16:38:16Z", "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": "75cd432e5a96c5fe2577f839c3a059fd6bf41124", "message": "Ability to set custom table/view page size in metadata, closes #751", "author_date": "2020-05-28T05:00:04Z", "committer_date": "2020-05-28T05:00:04Z", "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": "57b19f09d1ee24b7369ceca8937ce67df2ca1abc", "message": "Ability to sort using form fields (for mobile portrait mode)\n\nWe now display sort options as a select box plus a descending checkbox, which\nmeans you can apply sort orders even in portrait mode on a mobile phone where\nthe column headers are hidden.\n\nCloses #199", "author_date": "2018-04-10T00:30:44Z", "committer_date": "2018-04-10T00:34:32Z", "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": "f0fadc28ddb9f82e5cc1ecaa51e8a342eb6dc528", "message": "Access-Control-Allow-Headers: Authorization, Content-Type - refs #1922", "author_date": "2022-11-30T23:11:16Z", "committer_date": "2022-11-30T23:11:18Z", "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": "6bfd71f5c62324c18297cf31f79746d8c05dc680", "message": "Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS - refs #1922", "author_date": "2022-11-30T20:25:12Z", "committer_date": "2022-11-30T20:25:12Z", "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": "cf7a2bdb404734910ec07abc7571351a2d934828", "message": "Action to run tests and upload coverage to codecov.io\n\nCloses #843.", "author_date": "2020-06-13T21:36:49Z", "committer_date": "2020-06-13T21:36:49Z", "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": "49184c569cd70efbda4f3f062afef3a34401d8d5", "message": "Action: Deploy a Datasette branch preview to Vercel\n\nCloses #2070", "author_date": "2023-05-09T16:24:28Z", "committer_date": "2023-05-09T16:24:28Z", "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": "79a5ece62ecfad5fb64da42c54ad110e822350d4", "message": "Add --convert example to sqlite-utils insert --help, closes #404", "author_date": "2022-02-09T06:54:40Z", "committer_date": "2022-02-09T06:55:01Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "2c77f4467efcd540ccd57d438cdebece541b90ac", "message": "Add --ignore to create-index as alias of --if-not-exists, refs #450", "author_date": "2022-07-15T22:25:49Z", "committer_date": "2022-07-15T22:25:49Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "610425460b519e9c16d386cb81aa081c9d730ef0", "message": "Add --nolock to the README Chrome demo\n\nRefs #1744", "author_date": "2022-09-10T21:24:26Z", "committer_date": "2022-09-10T21:24: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": "de810f49cc57a4f88e4a1553d26c579253ce4531", "message": "Add /opt/homebrew to where spatialite extension can be found (#1649)\n\nHelps homebrew on Apple Silicon setups find spatialite without needing\r\na full path.\r\n\r\nSimilar to #1114\r\n\r\nThanks, @danp", "author_date": "2022-03-06T19:39:15Z", "committer_date": "2022-03-06T19:39:15Z", "raw_author": {"value": "9a3d8e1c0e383f75737a170eb4560dd9f9576302", "label": "Dan Peterson"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2182, "label": "danp"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "73210ecfd6efe2ab9905c5571922cfbae2e8f67e", "message": "Add PyYAML dependency, refs #54", "author_date": "2020-11-29T22:01:38Z", "committer_date": "2020-11-29T22:02:55Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "a53b893c46453f35decc8c145c138671cee6140c", "message": "Add Python 3.11 classifier (#2028)\n\nThanks, @dtrodrigues", "author_date": "2023-03-06T21:01:19Z", "committer_date": "2023-03-06T21:01:19Z", "raw_author": {"value": "76636a6719eeba03eff3bf19c66433f1a532b9a6", "label": "Dustin Rodrigues"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 614233, "label": "dtrodrigues"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "9366d0bf191daccee6093c54ed51a2855d129cd8", "message": "Add Python versions badge", "author_date": "2019-10-14T22:29:16Z", "committer_date": "2019-10-14T22:29:16Z", "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": "a692c56659c3563b26dcdc9e3534d63ecc26e180", "message": "Add SpatiaLite helpers to CLI (#407)\n\n* Add SpatiaLite CLI helpers\r\n* Add docs for spaitalite helpers\r\n* Fix flake8 issues and add more detail on spatial types\r\n* Run cog and add some help text.\r\n* Use SpatiaLite when calculating coverage, refs #407\r\n\r\nCo-authored-by: Simon Willison ", "author_date": "2022-02-16T00:58:07Z", "committer_date": "2022-02-16T00:58:07Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "fc47dacbbd4c4d245d7144e4cc014d3303f84b9a", "message": "Add `__version_info__` derived from `__version__`\n\nThis might be tuple of more than two values (major and minor\nversion) if commits have been made after a release.", "author_date": "2018-05-22T17:18:00Z", "committer_date": "2018-05-22T19:35:21Z", "raw_author": {"value": "106fe7fbf8b80a01038e265a137b3b703422db48", "label": "Robert Gieseke"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 198537, "label": "rgieseke"}, "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": "e7f040106b5f5a892ebd984f19b21c605e87c142", "message": "Add an example of --text too, refs #404", "author_date": "2022-02-09T07:03:04Z", "committer_date": "2022-02-09T07:03:04Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "60e380e551b44028af0d73ac30c99a8bb04b458b", "message": "Add badges to documentation index", "author_date": "2020-05-03T15:44:41Z", "committer_date": "2020-05-03T15:44:41Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d996d4122b522eeec3c610f6b2561aa96652ecd2", "message": "Add badges to documentation index", "author_date": "2020-05-03T15:46:49Z", "committer_date": "2020-05-03T15:46:49Z", "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": "7e4c6ecdabc249c77e8049cd172b1b5af08a3371", "message": "Add beeminder-to-sqlite (#4)", "author_date": "2020-10-12T00:36:16Z", "committer_date": "2020-10-12T00:36:16Z", "raw_author": {"value": "1724ce4f699bc25ec4d0f30be011f7503db01c07", "label": "Ben Congdon"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 214746582, "label": "dogsheep.github.io"}, "author": {"value": 706257, "label": "bcongdon"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "645381a5ed23c016281e8c6c7d141518f91b67e5", "message": "Add code of conduct again\n\nRefs #1658", "author_date": "2022-03-15T15:36:35Z", "committer_date": "2022-03-15T15:38:42Z", "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": "e2750c7cc0585adaa8c866be611089e62961ee35", "message": "Add col-X classes to HTML table on custom query page", "author_date": "2018-04-19T15:36:14Z", "committer_date": "2018-04-19T15:36:14Z", "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": "136a70d88741e2a5892c3de437064a9d14494d66", "message": "Add column name classes to s, make PK bold", "author_date": "2018-04-17T08:29:48Z", "committer_date": "2018-04-18T01:13:02Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d0fd833b8cdd97e1b91d0f97a69b494895d82bee", "message": "Add compile option to Dockerfile to fix failing test (fixes #696) (#1223)\n\nThis test was failing when run inside the Docker container:\r\n`test_searchable[/fixtures/searchable.json?_search=te*+AND+do*&_searchmode=raw-expected_rows3]`,\r\n\r\nwith this error:\r\n\r\n```\r\n def test_searchable(app_client, path, expected_rows):\r\n response = app_client.get(path)\r\n> assert expected_rows == response.json[\"rows\"]\r\nE AssertionError: assert [[1, 'barry c...sel', 'puma']] == []\r\nE Left contains 2 more items, first extra item: [1, 'barry cat', 'terry dog', 'panther']\r\nE Full diff:\r\nE + []\r\nE - [[1, 'barry cat', 'terry dog', 'panther'],\r\nE - [2, 'terry dog', 'sara weasel', 'puma']]\r\n```\r\n\r\nThe issue was that the version of sqlite3 built inside the Docker\r\ncontainer was built with FTS3 and FTS4 enabled, but without the\r\n`SQLITE_ENABLE_FTS3_PARENTHESIS` compile option passed, which adds\r\nsupport for using `AND` and `NOT` within `match` expressions (see\r\nhttps://sqlite.org/fts3.html#compiling_and_enabling_fts3_and_fts4 and\r\nhttps://www.sqlite.org/compile.html).\r\n\r\nWithout this, the `AND` used in the search in this test was being\r\ninterpreted as a literal string, and so no matches were found. Adding\r\nthis compile option fixes this.\r\n\r\nThanks, @bobwhitelock", "author_date": "2021-03-07T07:41:17Z", "committer_date": "2021-03-07T07:41:17Z", "raw_author": {"value": "62dd4d3238df6431f690ab98cee3e5a02daf6316", "label": "Bob Whitelock"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 7476523, "label": "bobwhitelock"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d6257e3a7b9b1652386451756faa19d03a22cb69", "message": "Add database/table actions to pattern portfolio\n\nRefs #1066, #1077", "author_date": "2020-11-02T18:53:52Z", "committer_date": "2020-11-02T18:53:52Z", "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"}}