{"sha": "59ef4a20cba1533bc347378415f4ffcd025f32c8", "message": "\u00a9 2017-2021", "author_date": "2021-04-02T20:27:03Z", "committer_date": "2021-04-02T20:27: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": "5148f10da94a8684bb747cb3d25ccfff8185ff5a", "message": "workflow_dispatch", "author_date": "2020-11-30T01:31:12Z", "committer_date": "2020-11-30T01:31:12Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "2448e45ddbc039a8acad49ea2af6f72dc14bcb3e", "message": "upsert command, not update command", "author_date": "2022-01-11T18:06:50Z", "committer_date": "2022-01-11T18:06:50Z", "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": "2019ee908731054c6eaa3d5123dfbdf7d2d70fc4", "message": "twitter-to-sqlite import command, closes #4", "author_date": "2019-10-11T06:45:00Z", "committer_date": "2019-10-11T06:45:00Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "ab7767acbe021ed6ab0a8d4b56ec8b4af6ae9e86", "message": "tmate session mac\n\nSo I can test https://github.com/simonw/datasette/issues/93", "author_date": "2021-01-04T21:31:55Z", "committer_date": "2021-01-04T21:31:55Z", "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": "26de3a18bc47bdb152ab5909b2475a1ea202917b", "message": "tmate debugging tool", "author_date": "2020-09-14T21:53:54Z", "committer_date": "2020-09-14T21:53:54Z", "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": "0747dabb24b608e8524de4858ce50c60ba7e471b", "message": "table.update() method\n\n* Also now set .last_pk to lastrowid for rowid tables\r\n* table.pks introspection now returns [\"rowid\"] for rowid tables\r\n\r\nCloses #35", "author_date": "2019-07-28T15:43:50Z", "committer_date": "2019-07-28T15:43:50Z", "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": "987dd123f2ac43c5ab66d69e59d454fe09660606", "message": "table.transform() method - closes #114", "author_date": "2020-09-22T04:20:01Z", "committer_date": "2020-09-22T04:20:01Z", "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": "ecf1d40112e52a8f4e509c39b98caae996b7bc36", "message": "table.search_sql(include_rank=True) option (#480)\n\n* search_sql add include_rank option\r\n* add test\r\n* add FTS4 test\r\n* Apply Black\r\n\r\nThanks, @chapmanjacobd", "author_date": "2022-08-31T03:40:35Z", "committer_date": "2022-08-31T03:40:35Z", "raw_author": {"value": "aff9d2f73a18d2ec18afd0f3fefe046f37945a60", "label": "Jacob Chapman"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 7908073, "label": "chapmanjacobd"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "4c0912dbf27b12071aca9569bcf7233e60f91c7c", "message": "table.m2m() method for creating many-to-many records\n\nCloses #23", "author_date": "2019-08-04T03:37:32Z", "committer_date": "2019-08-04T03:37:32Z", "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": "b366e68deb0780048a23610c279552f8529d4726", "message": "table.duplicate(new_table_name) feature, closes #449\n\nThanks, @davidleejy", "author_date": "2022-07-15T21:21:36Z", "committer_date": "2022-07-15T21:21:36Z", "raw_author": {"value": "d4b26031589514477509e3dae9cde3678a3b610e", "label": "David"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 1690072, "label": "davidleejy"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "c8feaf0b628ddb1f98b2a4b89691d3d1b939ed8e", "message": "systemctl restart datasette.service, closes #1390", "author_date": "2021-07-09T16:32:32Z", "committer_date": "2021-07-09T16:32:32Z", "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": "d16f45f06fbae6ec8a78cc9ca7b5b7db0413f139", "message": "sqlite-utils~=1.12.1\n\nTo get the bugfix for insert_all([])", "author_date": "2019-11-07T05:42:28Z", "committer_date": "2019-11-07T05:42:28Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "f8277d0fb9c05a88a9ff01d996e31d55f0f0a645", "message": "sqlite-utils query can now run DML (#120)\n\n* Failing test showing that DML in `sqlite-utils query` doesn't work\r\n* Run `sqlite-utils query` in a transaction so that DML is committed\r\n\r\nThanks, @tsibley!", "author_date": "2020-07-08T05:14:04Z", "committer_date": "2020-07-08T05:14:04Z", "raw_author": {"value": "f25304fb12f6d6fab36f551427610ed8e96f0c2f", "label": "Thomas Sibley"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 79913, "label": "tsibley"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "42ec59d8ee3fcfb8ac1affb772aed43b6e2a7381", "message": "sqlite-utils memory command for directly querying CSV/JSON data\n\n* Turn SQL errors into click errors\r\n* Initial CSV-only prototype of sqlite-utils memory, refs #272\r\n* Implement --save plus tests for --save and --dump, refs #272\r\n* Re-arranged CLI query documentation, refs #272\r\n* Re-organized CLI query docs, refs #272\r\n* Docs for --save and --dump plus made SQL optional for those, refs #273\r\n* Replaced one last :memory: example\r\n* Documented --attach option for memory command, refs #272\r\n* Improved arrangement of CLI query documentation", "author_date": "2021-06-18T15:00:52Z", "committer_date": "2021-06-18T15:00:52Z", "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": "e8f887ef4a0977243811b90bc2ce9aed9d2c206a", "message": "sqlite-utils index-foreign-keys / db.index_foreign_keys()\n\nCloses #33", "author_date": "2019-06-30T23:50:54Z", "committer_date": "2019-06-30T23:50:54Z", "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": "5ec6686153e29ae10d4921a1ad4c841f192f20e2", "message": "sqlite-utils convert command and db[table].convert(...) method\n\nCloses #251, closes #302.", "author_date": "2021-08-02T04:47:39Z", "committer_date": "2021-08-02T04:47:39Z", "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": "69a121e08847acbf95abf0c2df1759fc73dc81b8", "message": "sqlite-utils analyze-tables command and table.analyze_column() method\n\nCloses #207", "author_date": "2020-12-13T07:20:11Z", "committer_date": "2020-12-13T07:20: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": "626dd61f6070f95f7652104cb9f4100e9b88862f", "message": "setup-gcloud fix", "author_date": "2022-12-15T06:57:31Z", "committer_date": "2022-12-15T06:57:31Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "4880638f13c3a1abc53f395cde39ac848daf416d", "message": "setup-gcloud 318.0.0\n\nRefs https://til.simonwillison.net/googlecloud/gcloud-error-workaround", "author_date": "2023-01-10T00:02:02Z", "committer_date": "2023-01-10T00:02:02Z", "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": "eed116ac0599c7d21b7129af94d58ce03a923e4e", "message": "render_template needs await", "author_date": "2020-06-24T03:06:30Z", "committer_date": "2020-06-24T03:06:30Z", "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": "4ac913224061f2dc4f673efab1a5ac6bc748854f", "message": "render_cell(value) plugin hook, closes #352\n\nNew plugin hook for customizing the way cells values are rendered in HTML.\r\n\r\nThe first full example of this hook in use is https://github.com/simonw/datasette-json-html", "author_date": "2018-08-05T00:14:56Z", "committer_date": "2018-08-05T00:14:56Z", "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": "f5e79adf26d0daa3831e3fba022f1b749a9efdee", "message": "register_routes() plugin hook (#819)\n\nFixes #215", "author_date": "2020-06-09T03:12:06Z", "committer_date": "2020-06-09T03:12:06Z", "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": "8bf06a76b51bc9ace7cf72cf0cca8f1da7704ea7", "message": "register_permissions() plugin hook (#1940)\n\n* Docs for permissions: in metadata, refs #1636\r\n* Refactor default_permissions.py to help with implementation of #1636\r\n* register_permissions() plugin hook, closes #1939 - also refs #1938\r\n* Tests for register_permissions() hook, refs #1939\r\n* Documentation for datasette.permissions, refs #1939\r\n* permission_allowed() falls back on Permission.default, refs #1939\r\n* Raise StartupError on duplicate permissions\r\n* Allow dupe permisisons if exact matches", "author_date": "2022-12-13T02:05:54Z", "committer_date": "2022-12-13T02:05:54Z", "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": "1a6105cfcc99ba72050b4101cb0f072b58d9a8a0", "message": "rebuild fts tables\n\nRefs https://github.com/simonw/sqlite-utils/issues/149", "author_date": "2020-09-11T04:31:14Z", "committer_date": "2020-09-11T04:31:14Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df", "message": "readthedocs/readthedocs-preview\n\nTip from https://twitter.com/readthedocs/status/1552354156056395778", "author_date": "2022-08-02T16:02:43Z", "committer_date": "2022-08-02T16:02:43Z", "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": "4218c9cd742b79b1e3cb80878e42b7e39d16ded2", "message": "reST markup fix", "author_date": "2022-10-04T18:45:36Z", "committer_date": "2022-10-04T18:45:36Z", "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": "7f4c854db1ed8c15338e9cf42d2a3f0c92e3b7b2", "message": "rST fix", "author_date": "2021-07-13T18:45:32Z", "committer_date": "2021-07-13T18:45:32Z", "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": "e4f1c7b936981de29823730c5dbef4f4ba7a4286", "message": "python_requires=\">=3.6\"\n\nInspired by https://github.com/simonw/datasette/pull/1044", "author_date": "2020-10-23T21:19:30Z", "committer_date": "2020-10-23T21:19:30Z", "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": "dbbe707841973b50a76d2703003ae2c40e7ad1fd", "message": "publish_subcommand hook + default plugins mechanism, used for publish heroku/now (#349)\n\nThis change introduces a new plugin hook, publish_subcommand, which can be\r\nused to implement new subcommands for the \"datasette publish\" command family.\r\n\r\nI've used this new hook to refactor out the \"publish now\" and \"publish heroku\"\r\nimplementations into separate modules. I've also added unit tests for these\r\ntwo publishers, mocking the subprocess.call and subprocess.check_output\r\nfunctions.\r\n\r\nAs part of this, I introduced a mechanism for loading default plugins. These\r\nare defined in the new \"default_plugins\" list inside datasette/app.py\r\n\r\nCloses #217 (Plugin support for datasette publish)\r\nCloses #348 (Unit tests for \"datasette publish\")\r\nRefs #14, #59, #102, #103, #146, #236, #347", "author_date": "2018-07-26T05:15:59Z", "committer_date": "2018-07-26T05:15:59Z", "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": "b21ed237ab940768574c834aa5a7130724bd3a2d", "message": "publish heroku now deploys with Python 3.8.5", "author_date": "2020-08-18T20:49:13Z", "committer_date": "2020-08-18T20:49:13Z", "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": "0b315d3fa83c1584eaeec32f24912898621e437a", "message": "progressbar for inserts/upserts of other file formats\n\n* progressbar for inserts/upserts of other file formats, closes #485\r\n* Pin to Python 3.10.6 for the moment as workaround for mypy error\r\n\r\nCo-authored-by: Simon Willison ", "author_date": "2022-09-15T20:37:51Z", "committer_date": "2022-09-15T20:37:51Z", "raw_author": {"value": "e7784035c9ce3ef64d906c543907d5025673d054", "label": "Mischa Untaga"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 99098079, "label": "MischaU8"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "76fb65d1a4d8a3982ef7b921f35fbecdedd4a971", "message": "master => main", "author_date": "2021-08-20T00:14:08Z", "committer_date": "2021-08-20T00:14:08Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "81dea4b07ab2b6f4eaaf248307d2b588472054a1", "message": "load_template() plugin hook\n\nCloses #1042", "author_date": "2020-10-30T17:47:18Z", "committer_date": "2020-10-30T17:47: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": "7588d27f4a5a8325587f47c01d5f154c6a582a1a", "message": "latest.datasette.io uses datasette-ephemeral-tables>=0.2\n\nTo show the countdown timer from:\r\nhttps://github.com/simonw/datasette-ephemeral-tables/issues/3\r\n\r\nRefs #1915", "author_date": "2022-11-30T01:51:15Z", "committer_date": "2022-11-30T01:51: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": "9f5321ff1eca58c469a45cc406d7eb5ad05accbd", "message": "latest now uses datasette-ephemeral-tables>=0.2.1\n\nFix for https://github.com/simonw/datasette-ephemeral-tables/issues/4", "author_date": "2022-11-30T04:43:27Z", "committer_date": "2022-11-30T04:43:27Z", "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": "947bb7626fd1763608a470adf9cf5f156ef003e9", "message": "insert_all(..., alter=True) works for columns introduced after first 100 records\n\n* Insert all columns for every chunk\r\n* Update unit test to reflect new behaviour\r\n* Test that exception is raised\r\n* Update documentation\r\n\r\nCloses #139. Thanks, Simon Wiles!", "author_date": "2020-08-28T22:30:13Z", "committer_date": "2020-08-28T22:30:13Z", "raw_author": {"value": "a02cf01c415b3ca2d3b4458167191f30850ff9dd", "label": "Simon Wiles"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 96218, "label": "simonwiles"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "8dab9fd1ccf571e188eec9ccf606a0c50fccf200", "message": "insert_all() / .upsert_all() work with empty list (#64)\n\nCloses #52", "author_date": "2019-11-07T04:32:37Z", "committer_date": "2019-11-07T04:32:37Z", "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": "c5f8a2eb1a81a18b52825cc649112f71fe419b12", "message": "in extract code, check equality witH IS instead of = for nulls (#455)\n\nsqlite \"IS\" is equivalent to SQL \"IS NOT DISTINCT FROM\"\r\n\r\nclose #423", "author_date": "2022-08-27T14:45:03Z", "committer_date": "2022-08-27T14:45:03Z", "raw_author": {"value": "88e22aeee75bfd8a1cdeae56a89d5509d1c1d1c4", "label": "Forest Gregg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 536941, "label": "fgregg"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "481eb96d85291cdfa5767a83884a1525dfc382d8", "message": "https://datasette.io/tutorials/clean-data tutorial\n\nRefs #1783", "author_date": "2022-08-15T20:17:28Z", "committer_date": "2022-08-15T20:17: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": "a6e237f75a4b86963d91dcb5c9582e3a1b3349d6", "message": "google-github-actions/setup-gcloud@v0", "author_date": "2022-03-22T01:59:45Z", "committer_date": "2022-03-22T01:59:45Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "12f3ca79956ed9003c874f67748432adcacc6fd2", "message": "google-github-actions/setup-gcloud@v0", "author_date": "2022-03-22T01:42:03Z", "committer_date": "2022-03-22T01:42: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": "c4c9dbd0386e46d2bf199f0ed34e4895c98cb78c", "message": "google-github-actions/setup-gcloud@v0", "author_date": "2022-03-22T16:49:26Z", "committer_date": "2022-03-22T16:49: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": "b37f55549461cfe0731b57623f315860b3db49d0", "message": "github-to-sqlite pull-requests command (#48)\n\nThanks, @adamjonas", "author_date": "2020-11-29T23:51:08Z", "committer_date": "2020-11-29T23:51:08Z", "raw_author": {"value": "04fb3d52db4bd9bf23ce52c5cc72fda2068a1fce", "label": "Adam Jonas"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 755825, "label": "adamjonas"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "286ed286b68793532c2a38436a08343b45cfbc91", "message": "geojson-to-sqlite", "author_date": "2020-01-31T07:09:56Z", "committer_date": "2020-01-31T07:09:56Z", "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": "17cbbb1f7f230b39650afac62dd16476626001b5", "message": "generated_columns table in fixtures.py, closes #1119", "author_date": "2020-12-01T00:28:02Z", "committer_date": "2020-12-01T00:28:02Z", "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": "f142bb1212f98c1cb9ff72a3161351c5c8d1d281", "message": "flake8 fix, refs #440", "author_date": "2022-06-14T16:14:57Z", "committer_date": "2022-06-14T16:14:57Z", "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": "ba8cf3e9bb5f4f8740bd4b9eed28f1464d7f6b9a", "message": "fixing typo (#61)", "author_date": "2021-05-19T16:07:09Z", "committer_date": "2021-05-19T16:07:09Z", "raw_author": {"value": "54b04f11239eb4002452e63ac0afe49e5a6c45a9", "label": "Daniel Butler"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 22578954, "label": "daniel-butler"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "aa7f0037a46eb76ae6fe9bf2a1f616c58738ecdf", "message": "filters_from_request plugin hook, now used in TableView\n\n- New `filters_from_request` plugin hook, closes #473\r\n- Used it to extract the logic from TableView that handles `_search` and\r\n`_through` and `_where` - refs #1518\r\n\r\nAlso needed for this plugin work: https://github.com/simonw/datasette-leaflet-freedraw/issues/7", "author_date": "2021-12-17T19:02:14Z", "committer_date": "2021-12-17T19:02:14Z", "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": "941d281aee6eac20ad64b505511da7e47f697700", "message": "extracts= table parameter, closes #46", "author_date": "2019-07-23T17:00:42Z", "committer_date": "2019-07-23T17:00:42Z", "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": "fcfcae21e67cc15090942b1d2a47b5f016279337", "message": "extra_template_vars plugin hook (#542)\n\n* extra_template_vars plugin hook\r\n\r\nCloses #541\r\n\r\n* Workaround for cwd bug\r\n\r\nBased on https://github.com/pytest-dev/pytest/issues/1235#issuecomment-175295691", "author_date": "2019-07-06T00:05:56Z", "committer_date": "2019-07-06T00:05:56Z", "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": "f92d823766872a6fd7e76c5249a6b2de1ab0f447", "message": "ensure immutable databses when starting in configuration directory mode with (#1229)\n\n* check if immutables is empty list of None\r\n* update docs on how to create the inspect-data.json", "author_date": "2021-03-29T00:17:31Z", "committer_date": "2021-03-29T00:17:31Z", "raw_author": {"value": "50f8a5e45b42f54cd7dfc01c8c34b8736a785e77", "label": "Campbell Allen"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 295329, "label": "camallen"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "9fedfc69d7239ac49900051e1c48ee9cdd470d9e", "message": "docs to dogs (#437)", "author_date": "2022-05-30T21:32:41Z", "committer_date": "2022-05-30T21:32:41Z", "raw_author": {"value": "287c15deaf4abe1951327c443af0552f733317e7", "label": "Yuri"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 114388, "label": "yurivish"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "13fd9bdf01451decd55e1cbbd4017c0e5d0522e7", "message": "docker push --all-tags, refs #1281", "author_date": "2021-03-29T01:07:49Z", "committer_date": "2021-03-29T01:07: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": "2dc5c8dc259a0606162673d394ba8cc1c6f54428", "message": "detect_fts now works with alternative table escaping (#571)\n\nFixes #570. See also https://github.com/simonw/sqlite-utils/pull/57", "author_date": "2019-09-03T00:32:27Z", "committer_date": "2019-09-03T00:32:27Z", "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": "104f37fa4d2e7e5999c1d829267b62c737f74d3e", "message": "db[table].create(..., transform=True) and create-table --transform\n\nCloses #467", "author_date": "2022-08-27T23:17:55Z", "committer_date": "2022-08-27T23:17:55Z", "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": "2ca63e3b2de5408a860c6c7c1852deb9a138279e", "message": "db.triggers and table.triggers introspection (#60)\n\nCloses #59", "author_date": "2019-09-03T00:09:41Z", "committer_date": "2019-09-03T00:09: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": "53fec0d8639d2a66e322d05e1fcc8f34caa57815", "message": "db.quote_fts() method, thanks Mark Neumann\n\nRefs #296, closes #246.", "author_date": "2021-08-18T18:43:11Z", "committer_date": "2021-08-18T18:43:11Z", "raw_author": {"value": "5a70455439f76d8dca83370bca6d17cd4c68a0a2", "label": "Mark Neumann"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 16001974, "label": "DeNeutoy"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "997d8758fc8992be93d5984556e5b9e3bad4205f", "message": "db.add_foreign_keys() method\n\nCloses #31", "author_date": "2019-06-29T06:27:38Z", "committer_date": "2019-06-29T06:27: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": "8f97b9b58e77f82fef1f10e9c9f6754b993544b6", "message": "datasette.client internal requests mechanism\n\nCloses #943\r\n\r\n* Datasette now requires httpx>=0.15\r\n* Support OPTIONS without 500, closes #1001\r\n* Added internals tests for datasette.client methods\r\n* Datasette's own test mechanism now uses httpx to simulate requests\r\n* Tests simulate HTTP 1.1 now\r\n* Added base_url in a bunch more places\r\n* Mark some tests as xfail - will remove that when new httpx release ships: #1005", "author_date": "2020-10-09T16:11:24Z", "committer_date": "2020-10-09T16:11:24Z", "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": "c101f0efeec4f6e49298a542c5e2b59236cfa0ff", "message": "datasette-total-page-time example of asgi_wrapper", "author_date": "2022-04-26T22:34:29Z", "committer_date": "2022-04-26T22:34:29Z", "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": "a107e3a028923c1ab3911c0f880011283f93f368", "message": "datasette-sentry is an example of handle_exception", "author_date": "2022-08-14T23:07:46Z", "committer_date": "2022-08-14T23:07:46Z", "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": "78b2dc89dc3f652ae4e67de497fcadc242be17fc", "message": "datasette-search-all>=0.3\n\nRefs #41", "author_date": "2020-07-06T00:57:52Z", "committer_date": "2020-07-06T00:57:52Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "5c1d27fbf75ec01bd1cbb90e416818fbbf6d42c5", "message": "datasette-render-markdown>=1.1.2\n\nhttps://github.com/simonw/datasette-render-markdown/issues/6", "author_date": "2020-05-02T08:34:17Z", "committer_date": "2020-05-02T08:34:17Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "de5ce2e56339ad8966f417a4758f7c210c017dec", "message": "datasette-pyinstrument", "author_date": "2021-08-08T17:37:51Z", "committer_date": "2021-08-08T17:37:51Z", "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": "3a500155663a07720a8a7baa04acda8c4c937692", "message": "datasette-publish-now is now called datasette-publish-vercel", "author_date": "2021-06-23T19:51:19Z", "committer_date": "2021-06-23T19:51:19Z", "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": "0e45b72312a0756e5a562effbba08cb8de1e480b", "message": "datasette-pretty-json>=0.2.2\n\nRefs https://github.com/simonw/datasette-pretty-json/issues/2", "author_date": "2022-09-28T21:07:54Z", "committer_date": "2022-09-28T21:07:54Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "9a6d0dce282e7fb58c5610e24c74098c923abfdc", "message": "datasette-json-html as render_cell example", "author_date": "2020-09-24T05:25:06Z", "committer_date": "2020-09-24T05:25:06Z", "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": "a81f2d155ce701008c4ab31633008b12f448928f", "message": "datasette-json-html and datasette-template-sql docs\n\nCloses #20", "author_date": "2020-05-25T20:09:39Z", "committer_date": "2020-05-25T20:09:39Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 256834907, "label": "dogsheep-photos"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "daf1b50d13e92dd582c055ab0acd8c6d940ed21d", "message": "datasette-graphql in news", "author_date": "2020-08-07T04:30:59Z", "committer_date": "2020-08-07T04:30:59Z", "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": "8338c66a57502ef27c3d7afb2527fbc0663b2570", "message": "datasette-geojson is an example of register_output_renderer", "author_date": "2022-04-21T18:05:43Z", "committer_date": "2022-04-21T18:05: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": "03f247845e108ab05436c8edeb558f2389ec7995", "message": "datasette-ephemeral-tables>=0.2.2\n\nRefs https://github.com/simonw/datasette-ephemeral-tables/issues/5", "author_date": "2022-12-02T00:37:53Z", "committer_date": "2022-12-02T00:37:53Z", "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": "10b9d85edaaf198879344aa1c498000cfb27dff8", "message": "datasette-csvs on Glitch now uses sqlite-utils\n\nIt previously used csvs-to-sqlite but that had heavy dependencies.\r\n\r\nSee https://support.glitch.com/t/can-you-upgrade-python-to-latest-version/7980/33", "author_date": "2019-11-09T02:15:13Z", "committer_date": "2019-11-09T02:15:13Z", "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": "0e2f6f1f82f4445a63f1251470a7778a34f5c8b9", "message": "datasette-copyable is an example of register_output_renderer", "author_date": "2022-05-19T00:37:46Z", "committer_date": "2022-05-19T00:37:46Z", "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": "f7c3fc978ca787e9bbd49357c649d93042396b44", "message": "datasette-auth-tokens improved description\n\nRefs https://github.com/simonw/datasette-auth-tokens/issues/1", "author_date": "2020-07-01T19:26:30Z", "committer_date": "2020-07-01T19:26:30Z", "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": "7d24fd405f3c60e4c852c5d746c91aa2ba23cf5b", "message": "datasette-auth-passwords is now an example of register_commands\n\nRefs https://github.com/simonw/datasette-auth-passwords/issues/19", "author_date": "2022-02-09T17:47:54Z", "committer_date": "2022-02-09T17:47:54Z", "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": "cab5b60e09e94aca820dbec5308446a88c99ea3d", "message": "datasette-auth-passwords is another actor_from_request example", "author_date": "2022-12-02T16:39:52Z", "committer_date": "2022-12-02T16:39:52Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "751bc900366ca52e662ea383b858cbf4365093d9", "message": "datasette-atom plugin\n\nI'm going to see if I can subscribe to new issues and issue comments across all of these repos.", "author_date": "2022-01-06T17:19:02Z", "committer_date": "2022-01-06T17:19:02Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d977fbadf70a96bf2eea1407d01f99d98e092dec", "message": "datasette publish uses python:3.8 base Docker image, closes #629", "author_date": "2019-11-12T06:03:09Z", "committer_date": "2019-11-12T06:03:09Z", "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": "efb82da927386a217ec3d4464251eb65efe3924c", "message": "datasette => Datasette", "author_date": "2017-11-25T03:46:24Z", "committer_date": "2017-11-25T03:46:24Z", "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": "bcb59ca466421f199444e2132c220f6ffaa9c655", "message": "codecov should not be blocking\n\nFrom https://docs.codecov.io/docs/common-recipe-list", "author_date": "2020-07-03T04:29:32Z", "committer_date": "2020-07-03T04:29:32Z", "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": "a19ce1a4d0048d389411cfe11a5dbe4c503720e1", "message": "codecov badge, closes #275", "author_date": "2021-06-17T00:12:11Z", "committer_date": "2021-06-17T00:12: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": "2e9751672d4fe329b3c359d5b7b1992283185820", "message": "chore: Set permissions for GitHub actions (#1740)\n\nRestrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won\u2019t be able to do much.\r\n\r\n- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions\r\n\r\nhttps://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions\r\n\r\nhttps://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs\r\n\r\n[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)\r\n\r\nSigned-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>", "author_date": "2022-05-31T19:28:40Z", "committer_date": "2022-05-31T19:28:40Z", "raw_author": {"value": "902cf90c9d2dadfcff296a337dc6e2df5775229f", "label": "Naveen"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 172697, "label": "naveensrinivasan"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "78dad236df730212aa7172f885fd8ec575f0d3ad", "message": "check_visibility can now take multiple permissions into account\n\nCloses #1829", "author_date": "2022-10-24T02:11:33Z", "committer_date": "2022-10-24T02:11:33Z", "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": "f8ffac8787e299a62c99ed1ce914cd5ace84ad94", "message": "beanbag-docutils>=2.0 (#465)\n\n* beanbag-docutils>=2.0\r\n\r\nCloses #464", "author_date": "2022-08-17T23:38:02Z", "committer_date": "2022-08-17T23:38:02Z", "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": "7656fd64d8b6a32ebc34d89c1b8711cc5ea240f7", "message": "base_url configuration setting, closes #394\n\n* base_url configuration setting\r\n* base_url works for static assets as well", "author_date": "2020-03-25T00:18:43Z", "committer_date": "2020-03-25T00:18: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": "e047cc32e9d5de7025d4d3c16554d4290f4bd3d1", "message": "backwards-incompatible, not compatible", "author_date": "2023-05-09T21:08:31Z", "committer_date": "2023-05-09T21:08:31Z", "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": "dbd2d70b3819a7041bb36a527033d77c85683c05", "message": "asgi: check raw_path is not None (#719)\n\nThe ASGI spec\r\n(https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to\r\nimply that `None` is a valid value, so we need to check the value\r\nitself, not just whether the key is present.\r\n\r\nIn particular, the [mangum](https://github.com/erm/mangum) adapter\r\npasses `None` for this key.", "author_date": "2020-05-04T17:14:25Z", "committer_date": "2020-05-04T17:14:25Z", "raw_author": {"value": "5c0f309ec7c7fbfad14fc6aead2238ca497fa84c", "label": "Colin Dellow"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 193185, "label": "cldellow"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "41a45e77196bc560a7802dc9788600520e08b189", "message": "apple-notes-to-sqlite", "author_date": "2023-03-28T00:12:55Z", "committer_date": "2023-03-28T00:12:55Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 214746582, "label": "dogsheep.github.io"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "aa652b6afe43d2b40fabc7a513c3e68866e030a5", "message": "add -h support\n\nCloses #276", "author_date": "2021-06-18T14:56:59Z", "committer_date": "2021-06-18T14:56:59Z", "raw_author": {"value": "a5c9af884c4814b20969652665d29676767dceb7", "label": "Loren McIntyre"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 601708, "label": "mcint"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "129141572f249ea290e2a075437e2ebaad215859", "message": "`sqlite-utils bulk` command\n\n* sqlite-utils bulk command, closes #375\r\n* Refactor import_options and insert_upsert_options, refs #377\r\n* Tests for sqlite-utils bulk, refs #377\r\n* Documentation for sqlite-utils bulk, refs #377", "author_date": "2022-01-11T02:10:54Z", "committer_date": "2022-01-11T02:10:54Z", "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": "64288d827f7ff97f825e10f714da3f781ecf9345", "message": "Workaround for test failure: RuntimeError: There is no current event loop (#1803)\n\n* Remove ensure_eventloop hack\r\n* Hack to recover from intermittent RuntimeError calling asyncio.Lock()", "author_date": "2022-09-06T00:40:19Z", "committer_date": "2022-09-06T00:40:19Z", "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": "b28b6cd2fe97f7e193a235877abeec2c8eb0a821", "message": "Warn that execute_write_fn(fn) should be a non-async function", "author_date": "2021-09-12T20:13:52Z", "committer_date": "2021-09-12T20:13:52Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "7ea678db228504004b8d32f813c838b1dcfd317a", "message": "Warn about potential changes to get_metadata hook, refs #1384", "author_date": "2021-07-15T00:19:31Z", "committer_date": "2021-07-15T00:19:31Z", "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": "df88d03298fa34d141ace7d6d8c35ca5e70576da", "message": "Warn about Cloud Run and bots\n\nRefs #1698", "author_date": "2022-04-03T06:05:10Z", "committer_date": "2022-04-03T06:05:10Z", "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": "eff112498ecc499323c26612d707908831446d25", "message": "Useuse inspect data for hash and file size on startup\n\nThanks, @fgregg\r\n\r\nCloses #1834", "author_date": "2022-10-06T20:06:06Z", "committer_date": "2022-10-06T20:06:06Z", "raw_author": {"value": "88e22aeee75bfd8a1cdeae56a89d5509d1c1d1c4", "label": "Forest Gregg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 536941, "label": "fgregg"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "f5c63088e1454811ce8361208b72297408eb5237", "message": "Use sqlean if available in environment (#560)\n\nCloses #559\r\nCloses #235\r\n\r\nRefs https://github.com/simonw/llm/issues/60\r\n\r\n- Uses `sqlean` in place of `sqlite3` if `sqlean.py` is installed\r\n- Uses `sqlite-dump` if available and `conn.iterdump()` does not exist\r\n- New `with db.ensure_autocommit_off()` method for ensuring autocommit is off, used by `enable_wal()` and `disable_wal()`.", "author_date": "2023-06-25T23:25:51Z", "committer_date": "2023-06-25T23:25:51Z", "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": "d0cc6f4c32e1f89238ddec782086b3122f445bd4", "message": "Use sphinx-to-sqlite==0.1a1\n\nTo address this bug: https://github.com/simonw/sphinx-to-sqlite/issues/2", "author_date": "2020-10-22T04:57:00Z", "committer_date": "2020-10-22T04:57:00Z", "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": "bc4c42d68879c710c851dba3c98deda96ca6caa8", "message": "Use python-dateutil package instead of dateutils (#324)", "author_date": "2021-11-14T23:25:40Z", "committer_date": "2021-11-14T23:25:40Z", "raw_author": {"value": "64b848f51063b81fd138f806322b4add4b5f1afd", "label": "Denys Pavlov"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 191622, "label": "meatcar"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "0a7621f96f8ad14da17e7172e8a7bce24ef78966", "message": "Use pytest-xdist to speed up tests (#1290)\n\n* Run tests in CI using pytest-xdist\r\n* Documentation for pytest-xdist\r\n\r\nCloses #1289", "author_date": "2021-04-03T03:42:28Z", "committer_date": "2021-04-03T03:42: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"}}