{"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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"}} {"sha": "539e8a86ba53decf26cd6bd9e53cffb80396719b", "message": "Add datasette-pretty-json to demo", "author_date": "2020-04-16T19:03:08Z", "committer_date": "2020-04-16T19:03:08Z", "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": "ed77eda6d8f10c63fc0670c7150fc974f786ade5", "message": "Add datasette-redirect-to-https plugin\n\nAlso configured suprvisord children to log to stdout, so that I\ncan see them with flyctly logs -a datasette-apache-proxy-demo\n\nRefs #1524", "author_date": "2021-11-20T23:30:25Z", "committer_date": "2021-11-20T23:30: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": "143c3c5e2c5cf2c608742297d00cac6d499aa9ed", "message": "Add dependent_repos view, closes #36\n\nAlso refs #37", "author_date": "2020-05-02T16:29:47Z", "committer_date": "2020-05-02T16:29:58Z", "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": "ba8cf54908bc90f0775c4b15efe5e18327796402", "message": "Add documentation strings to Justfile, ref #446", "author_date": "2022-06-21T19:28:01Z", "committer_date": "2022-06-21T19:28: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": "9e27b2a0ba45d92e198fcbac8641da41a62236b8", "message": "Add example of named parameter UI to the release notes", "author_date": "2017-11-16T16:09:07Z", "committer_date": "2017-11-16T16:46:25Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "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": "919603b848a6616a09db2cdaff87009827940cd6", "message": "Add ext, sh256, size to photos_with_apple_metadata", "author_date": "2020-05-04T23:05:39Z", "committer_date": "2020-05-04T23:05:39Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 256834907, "label": "dogsheep-photos"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "674dcc0d19c1398203c0efffddef43919ee04a09", "message": "Add indexes to following table, closes #28", "author_date": "2019-11-09T20:11:41Z", "committer_date": "2019-11-09T20:11:41Z", "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": "ae4593316ccf5e42ad26f27033193834a7e696c8", "message": "Add insert --truncate option\n\nDeletes all rows in the table (if it exists) before inserting new rows.\nSQLite doesn't implement a TRUNCATE TABLE statement but does optimize an\nunqualified DELETE FROM.\n\nThis can be handy if you want to refresh the entire contents of a table\nbut a) don't have a PK (so can't use --replace), b) don't want the table\nto disappear (even briefly) for other connections, and c) have to handle\nrecords that used to exist being deleted.\n\nIdeally the replacement of rows would appear instantaneous to other\nconnections by putting the DELETE + INSERT in a transaction, but this is\nvery difficult without breaking other code as the current transaction\nhandling is inconsistent and non-systematic. There exists the\npossibility for the DELETE to succeed but the INSERT to fail, leaving an\nempty table. This is not much worse, however, than the current\npossibility of one chunked INSERT succeeding and being committed while\nthe next chunked INSERT fails, leaving a partially complete operation.", "author_date": "2020-07-06T21:18:23Z", "committer_date": "2020-07-08T17:26:20Z", "raw_author": {"value": "f2f4d10a554519ea00fb44a5f6377123c59e1f22", "label": "Thomas Sibley"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 79913, "label": "tsibley"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "eda848b37f8452dba7913583ef101f39d9b130ba", "message": "Add keyboard shortcut to execute SQL query (#115)", "author_date": "2017-11-17T14:22:55Z", "committer_date": "2017-11-17T14:22:55Z", "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": "51427323e68c6fef19a72fad48dd44f933207811", "message": "Add message when user logs out, refs #840", "author_date": "2020-06-29T18:31:35Z", "committer_date": "2020-06-29T18:31:35Z", "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": "3a56a2cd7eea5d477d5d936b01098be5cba0d98e", "message": "Add metadata, if it exists, to heroku temp dir (#178)", "author_date": "2018-01-14T21:05:16Z", "committer_date": "2018-01-14T21:05:16Z", "raw_author": {"value": "38fee63c62808d1ea42ad2bb2db074f9301d2840", "label": "Tony Hirst"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 82988, "label": "psychemedia"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "b61f6cceb5682f9154ba72259c0c9c7503a605bf", "message": "Add nav menu to pattern portfolio", "author_date": "2020-11-01T17:22:13Z", "committer_date": "2020-11-01T17:22: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": "55c526a5373aa41c76a3f052624f92e7add59cc8", "message": "Add pip as a dependency too, for Rye - refs #2065", "author_date": "2023-04-27T05:07:35Z", "committer_date": "2023-04-27T05:07:35Z", "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": "c47d6b998e3357b05a5cd61bfaebdf7781664e5e", "message": "Add progress bar to upload command, closes #6", "author_date": "2020-04-19T00:10:56Z", "committer_date": "2020-04-19T00:12:00Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 256834907, "label": "dogsheep-photos"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d00a53061556dc403c166b443d141c4e1adbd64a", "message": "Add rowid column to recent_releases view, refs #12", "author_date": "2020-05-02T18:49:06Z", "committer_date": "2020-05-02T18:49:06Z", "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": "f9c6f0e247a2243cd23fe9fd08ef3f7bb3ec8ba3", "message": "Add rowid to view so facet-by-JSON-people works, refs #1", "author_date": "2020-05-05T00:11:19Z", "committer_date": "2020-05-05T00:11:19Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 256834907, "label": "dogsheep-photos"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "8b4c600d98b85655b3a1454ebf64f858b5fe54c8", "message": "Add spatialite, switch to debian and local build (#114)", "author_date": "2017-11-17T03:50:51Z", "committer_date": "2017-11-17T03:50:51Z", "raw_author": {"value": "959507cc7596b555bf4292e84f335b02cca843f8", "label": "Ariel N\u00fa\u00f1ez"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 54999, "label": "ingenieroariel"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "1091a9cbd804504efa8e1126226759e736e3ccdf", "message": "Add sqlite-utils memory to the README, refs #272", "author_date": "2021-06-19T03:14:12Z", "committer_date": "2021-06-19T03:14: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": "9ca860e54fe480d0a365c0c1d8d085926d12be1e", "message": "Add support for running datasette as a module (#556)\n\npython -m datasette\r\n\r\nThanks, @abdusco", "author_date": "2019-07-11T16:07:44Z", "committer_date": "2019-07-11T16:07:44Z", "raw_author": {"value": "3684ad6084bc36bc5a059f0d6eb929bcf9854536", "label": "Abdus"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 3243482, "label": "abdusco"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d2ca13b699d441a201c55cb72ff96919d3cd22bf", "message": "Add test for /* multi line */ comment, refs #1860", "author_date": "2022-10-27T18:50:54Z", "committer_date": "2022-10-27T18:50: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": "a8f9cc6f64f299830834428509940d448b82b4ed", "message": "Add test for chunks(), refs #364", "author_date": "2022-01-08T21:16:34Z", "committer_date": "2022-01-08T21:16: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": "a113c28ea1924d83e6789ae5e0805312e55b4490", "message": "Add version number support with Versioneer\n\nRepo:\nhttps://github.com/warner/python-versioneer\n\nVersioneer Licence:\nPublic Domain (CC0-1.0)\n\nCloses #273", "author_date": "2018-05-22T15:33:29Z", "committer_date": "2018-05-22T19:35:21Z", "raw_author": {"value": "a1a72b19e432a3145fdb845aab2927c00d8a8426", "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": "82c20ea36eb86fc68a48f219e96305477864d589", "message": "Added '- pick a column -' as first option", "author_date": "2017-11-23T04:39:53Z", "committer_date": "2017-11-23T04:39:53Z", "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": "80ada4dbb3b7a19e6a0480570f38758d17b87f8b", "message": "Added 'datasette --version' support\n\nUsing http://click.pocoo.org/5/api/#click.version_option", "author_date": "2017-11-19T05:59:16Z", "committer_date": "2017-11-19T05:59: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": "fc7c04fe0b2f9daf8875ccaa9625ec80d8eeafe2", "message": "Added 'datasette publish now --force' option\n\nThis calls now with --force - which is useful as it means you get a fresh copy of\ndatasette even if now has already cached that docker layer.", "author_date": "2017-11-14T01:48:03Z", "committer_date": "2017-11-14T01:48:03Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "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": "b3aa5f4313a5bc41c9e83f3a4778d4b0794ea4a8", "message": "Added 'not like' table filter, refs #750", "author_date": "2020-05-02T19:04:54Z", "committer_date": "2020-05-02T19:04: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": "c7dbb03a104c2429d008a1038d6d128b1f820027", "message": "Added 'sqlite-utils rows db.db tablename' command", "author_date": "2019-02-23T01:52:17Z", "committer_date": "2019-02-23T01:52:17Z", "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": "b368cde1081832fc9f69589ac8771334985e8a6b", "message": "Added 'tags' command, closes #43", "author_date": "2020-07-18T21:52:10Z", "committer_date": "2020-07-18T21:52:10Z", "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": "ddc808f387be62cf776b815bb0eda77616c412ae", "message": "Added --build=master option to datasette publish and package\n\nThe `datasette publish` and `datasette package` commands both now accept an\noptional `--build` argument. If provided, this can be used to specify a branch\npublished to GitHub that should be built into the container.\n\nThis makes it easier to test code that has not yet been officially released to\nPyPI, e.g.:\n\n datasette publish now mydb.db --branch=master", "author_date": "2017-11-19T18:20:17Z", "committer_date": "2017-11-19T18:20: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": "97c4bf4271495f8f711926ec44d8def3f2941379", "message": "Added --cors argument to enable CORS\n\nCloses #75", "author_date": "2017-11-13T18:17:42Z", "committer_date": "2017-11-13T18:17:42Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "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": "427dace184c7da57f4a04df07b1e84cdae3261e8", "message": "Added --csv example to README", "author_date": "2021-02-14T21:36:43Z", "committer_date": "2021-02-14T21:36: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": "b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3", "message": "Added --load-extension argument to datasette serve\n\nAllows loading of SQLite extensions. Refs #110.", "author_date": "2017-11-16T16:46:04Z", "committer_date": "2017-11-16T16:48:49Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "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": "abb591d83264bbf11a5eb9daf03011d051e8f833", "message": "Added --reload argument to 'immutabase serve' command\n\nUses hupper to restart the server when the code changes. Useful for development.\n\nDepends on https://pypi.python.org/pypi/hupper", "author_date": "2017-11-09T13:46:16Z", "committer_date": "2017-11-09T14:14:26Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "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": "4f86a46b1e6ef4d02d72fd2241850039f41fd8a8", "message": "Added --since and --since_id to search, refs #3", "author_date": "2019-11-04T05:30:58Z", "committer_date": "2019-11-04T05:30:58Z", "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": "54a8a88e81e57cbc7ec3de2efba583aec8855906", "message": "Added --since option, closes #3", "author_date": "2019-10-16T20:39:54Z", "committer_date": "2019-10-16T20:39:54Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 205429375, "label": "swarm-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "20ffa86b8ad3f2c98d88bb5e92365977bbcff417", "message": "Added --since_id and --since to user-timeline, refs #20", "author_date": "2019-10-16T19:23:35Z", "committer_date": "2019-10-16T19:23:35Z", "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"}}