{"sha": "53124bc02fac5a89b154513f5fdc67431901fad9", "message": "Release 1.10", "author_date": "2019-08-23T12:24:04Z", "committer_date": "2019-08-23T12:24: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": "9faa98222669723d31e918bb16a42c13c363817f", "message": "Ability to introspect and run queries against views (#55)\n\n* db.views_names() method and and db.views property\r\n* Separate View and Table classes, both subclassing new Queryable class\r\n* view.drop() method\r\n* Updated documentation", "author_date": "2019-08-23T12:19:41Z", "committer_date": "2019-08-23T12:19:41Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "0e7b461eb3e925aef713206c15794ceae9259c57", "message": "Fixed typo", "author_date": "2019-08-04T04:13:31Z", "committer_date": "2019-08-04T04:13: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": "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": "6ac0a5df5d714f6f3b33a92eed9ccbd8eebe66a4", "message": "Release 1.9", "author_date": "2019-08-04T03:35:30Z", "committer_date": "2019-08-04T03:35:30Z", "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": "243bcaa1acd32a173c07b24dca553991493005a0", "message": "Documentation for .m2m() table method", "author_date": "2019-08-04T02:29:19Z", "committer_date": "2019-08-04T02:29:19Z", "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": "5516175ca6b9b2d48b7a929ba074b1ef69e981b0", "message": "Allow table objects to be passed to .m2m()", "author_date": "2019-08-04T02:09:17Z", "committer_date": "2019-08-04T02:09: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": "d96a8f149ecb4d3fd8a8e5226774b7060c96ec95", "message": "Use existing m2m table if one exists", "author_date": "2019-08-03T18:15:16Z", "committer_date": "2019-08-03T18:16: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": "b9256413d26875c2bc3841e68b90d3842e88ccb8", "message": "db.m2m_table_candidates(table, other_table)", "author_date": "2019-08-03T18:07:06Z", "committer_date": "2019-08-03T18:07:06Z", "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": "b6b92980c00eda14a4d759b724139a0a2d321007", "message": "table.m2m(..., m2m_table=x) argument", "author_date": "2019-08-03T17:51:22Z", "committer_date": "2019-08-03T17:51:22Z", "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": "ba1211d4456911bf0bd13f2e753a56ed988df3b4", "message": "Implemented .m2m(table, lookup=...)", "author_date": "2019-08-03T14:28:03Z", "committer_date": "2019-08-03T14:28:03Z", "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": "ff2348e71af6705dfa3220d823ce0285e95b127f", "message": "Added failing tests", "author_date": "2019-07-31T06:16:46Z", "committer_date": "2019-07-31T06:16:46Z", "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": "35eeafaaa33648a528cbcd57ceca966fea19c6ae", "message": "table.m2m(...) method, with tests", "author_date": "2019-07-31T05:31:27Z", "committer_date": "2019-07-31T05:51:50Z", "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": "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": "e1021030dd2d8d4705ad0e7bae389eeaea7fa17b", "message": "Release 1.8", "author_date": "2019-07-28T15:41:42Z", "committer_date": "2019-07-28T15:41:42Z", "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": "16d7008002b43cf47a973791da93e5cdd5913fc3", "message": "Applied black", "author_date": "2019-07-28T15:37:27Z", "committer_date": "2019-07-28T15:37:27Z", "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": "598608374625cbfa0799f5b7a210ca6e192f9c0b", "message": "Documentation for table.update() method", "author_date": "2019-07-28T15:03:44Z", "committer_date": "2019-07-28T15:03:44Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "bc9c4db34b815f5385abbf4bb491bab0e10779db", "message": ".update(...) with no update argument sets last_pk", "author_date": "2019-07-28T14:59:52Z", "committer_date": "2019-07-28T14:59:52Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "4ab8d46b03a92c68e9694ea7c285d3852ef58530", "message": "Added table.update(pk, ..., alter=True)", "author_date": "2019-07-28T14:51:49Z", "committer_date": "2019-07-28T14:51: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": "5225dbb89c08a73b1af536105f7fcff64aef5638", "message": "Unit tests for invalid .update() pks", "author_date": "2019-07-28T14:46:49Z", "committer_date": "2019-07-28T14:46: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": "e4a11b181580605b1711acee4828039137e2fcd9", "message": "Refactor .update() to use .get()\n\n.pks introspection now returns [rowid] for rowid tables.", "author_date": "2019-07-28T12:44:33Z", "committer_date": "2019-07-28T12:44:33Z", "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": "455071f3c5e76141926eb1e77656cb131a826707", "message": "Unit tests for .update()\n\nAlso now set .last_pk to lastrowid for rowid tables.", "author_date": "2019-07-28T12:30:28Z", "committer_date": "2019-07-28T12:30:28Z", "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": "a6749cdf43229c4f7864c946496e9ac0141627d9", "message": "Release 1.7.1", "author_date": "2019-07-28T12:00:51Z", "committer_date": "2019-07-28T12:00: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": "9cb045284ede8009c12abdb1755b5b20f6ccff5f", "message": "Fix for too many SQL variables on bulk insert\n\nSQLite has a max of 999 variables per query, so bulk inserts of e.g. 100 records with 11 columns each were failing with an error.\r\n\r\nWe now dynamically adjust the batch_size to ensure this doesn't happen.\r\n\r\nCloses #50", "author_date": "2019-07-28T11:59:32Z", "committer_date": "2019-07-28T11:59: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": "0c1b8b7f96be874bb63801f69323960f277aa49a", "message": "Use assertion to enforce <=999 columns", "author_date": "2019-07-28T11:41:57Z", "committer_date": "2019-07-28T11:41:57Z", "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": "535a5ea476fb41738c839ac609b43d2f019cea96", "message": "Documentation and tests for table.drop() method", "author_date": "2019-07-28T11:22:12Z", "committer_date": "2019-07-28T11:57:02Z", "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": "62d292252804aa0a0c1d6fdc9ea1722b5ffb20a8", "message": "Fix for too many SQL variables, closes #50", "author_date": "2019-07-28T11:10:56Z", "committer_date": "2019-07-28T11:10:56Z", "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": "9b7be79c86b4283f24a64f62257c918f12542997", "message": "Release 1.7 - with lookup table support", "author_date": "2019-07-24T06:50:41Z", "committer_date": "2019-07-24T06:50: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": "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": "580502431614d3653c93249988290265f3163d4b", "message": "Implemented table.lookup(...), closes #44\n\n* Add pk column if missing from insert\r\n* Implemented table.lookup(...)", "author_date": "2019-07-23T13:06:59Z", "committer_date": "2019-07-23T13:06:59Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "e22cfcd953f967f6e9551b3a048d7c40726f349b", "message": "Removed a TODO which is now done", "author_date": "2019-07-23T13:05:04Z", "committer_date": "2019-07-23T13:05: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": "f3a4c3d3ee6475a6caf3c9606656dbaf1df020b7", "message": "db.create_table() now remembers configs", "author_date": "2019-07-23T07:47:19Z", "committer_date": "2019-07-23T07:47:19Z", "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": "535a731b9310a07b10a8649313c8bd8fafcdadea", "message": "Fixed lint error", "author_date": "2019-07-23T07:41:34Z", "committer_date": "2019-07-23T07:41: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": "034d498b319d37b0639203fa4fbb304715b3ae03", "message": "Support Database(memory=True) for in-memory databases", "author_date": "2019-07-23T00:12:54Z", "committer_date": "2019-07-23T00:12:54Z", "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": "58db40d67c12cb4353a825d4aa215141a51b9e6e", "message": "Better __repr__ for tables", "author_date": "2019-07-23T00:05:51Z", "committer_date": "2019-07-23T00:05: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": "127a836054fb784dc02ea40dadb55b3741dcd603", "message": "Documented new table configuration options via .table()", "author_date": "2019-07-22T23:59:17Z", "committer_date": "2019-07-22T23:59: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": "be655827b4a4ff88eb4813075339b0b01e018145", "message": "use_table_factory is a better name than use_class_constructor", "author_date": "2019-07-22T23:33:37Z", "committer_date": "2019-07-22T23:33:37Z", "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": "57e43baece0936d75c74711f5f6835a5c1c1ac42", "message": "Table options can now be passed to constructor OR to insert_all()\n\nIf you want to set default options for a table, you can do this:\n\n table = db.table(\"dogs\", pk=\"id\", column_order=[\"name\", \"age\"])\n\nIf you pass those keyword arguments to the .insert/.update/etc\nmethods they will over-ride the defaults you set on the table.\n\n table = db[\"dogs\"] # This still works too", "author_date": "2019-07-22T23:30:54Z", "committer_date": "2019-07-22T23:30:54Z", "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": "152eb2afaf35cde5d44e50369f4cb32a72e72fdb", "message": "Use pysqlite3 if available", "author_date": "2019-07-22T22:39:35Z", "committer_date": "2019-07-22T22:39:35Z", "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": "c88f0a4d4617ff832aa728aac1da3500548c3137", "message": "Release 1.6", "author_date": "2019-07-19T04:51:21Z", "committer_date": "2019-07-19T04:51:21Z", "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": "09316835e609e2321dafa08d37d8f227521373f8", "message": "Implemented --tsv option, closes #41", "author_date": "2019-07-19T04:50:38Z", "committer_date": "2019-07-19T04:50:38Z", "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": "ef112ffc94e157b2152ebc4e01ab750570f447e8", "message": "Release 1.5", "author_date": "2019-07-15T04:34:49Z", "committer_date": "2019-07-15T04:37:31Z", "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": "c65b67ca46f70e2da46a5b945f4ed358173262e9", "message": ".get() method plus support for compound primary keys (#40)\n\n* create_table now handles compound primary keys\r\n* CLI now accepts multiple --pk for compound primary keys\r\n* Docs for compound primary keys with CLI and Python library\r\n* New .get() method plus documentation\r\n\r\nCloses #36, closes #39", "author_date": "2019-07-15T04:28:51Z", "committer_date": "2019-07-15T04:28: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": "65b2156d9cc0aa6b5c3dc7a6bd600d98b281a13b", "message": "Show version in docs\n\nThanks, @nedbat\n\nhttps://twitter.com/nedbat/status/1150490436114534400", "author_date": "2019-07-14T19:45:00Z", "committer_date": "2019-07-14T19:45:00Z", "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": "91311bb0db14d410200845b2367f3c9d73e74db6", "message": "Sphinx docs now pull version info from git tag\nBased on http://dreamiurg.net/2011/10/03/using-git-to-get-version-information/", "author_date": "2019-07-14T19:24:45Z", "committer_date": "2019-07-14T19:24: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": "a8ecf95f115e70eafc4cb352c4677e6e1418afbd", "message": "Use pip install -e .[docs] for documentation dependencies", "author_date": "2019-07-14T19:23:31Z", "committer_date": "2019-07-14T19:23:31Z", "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": "f70e35c9bbc0d5803bc0aee572b894a8b21ac41e", "message": "Added table.rows_where(where, args) method", "author_date": "2019-07-14T18:58:40Z", "committer_date": "2019-07-14T18:58:40Z", "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": "72a6f430dfa99f99ca3204ac7e7bd280e1bd421b", "message": "Update PyPI classifiers", "author_date": "2019-07-14T17:16:36Z", "committer_date": "2019-07-14T17:16:36Z", "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": "41d1751aec9c08c05191f9806aa07d56b565e9d1", "message": "Release 1.4.1", "author_date": "2019-07-14T17:08:34Z", "committer_date": "2019-07-14T17:08: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": "15368c5f59066fc9c6b8ce5d0578132b1b68b75d", "message": "First working version of .update(), refs #35", "author_date": "2019-07-14T17:03:18Z", "committer_date": "2019-07-28T12:15:50Z", "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": "ba6bd47f15c154e348c3c85c05858053a4ab7bab", "message": "Typo fix", "author_date": "2019-07-14T16:25:57Z", "committer_date": "2019-07-14T16:25:57Z", "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": "fef96163d92e39a804824ec98d6053e888be76a2", "message": "Minor markup cleanup", "author_date": "2019-07-09T11:55:04Z", "committer_date": "2019-07-09T11:55:04Z", "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": "5be66529a3887a88b2c08d23c82e3aa8de344797", "message": "Fixed RST and Typo", "author_date": "2019-07-09T11:49:32Z", "committer_date": "2019-07-09T11:49: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": "b0a2f897f4e70fd9cbb0da227da75d3f5eaa5248", "message": "Typo fix", "author_date": "2019-07-09T11:42:40Z", "committer_date": "2019-07-09T11:42:40Z", "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": "1a053d9438cb217e54e7784777e11620ece8fed0", "message": "Added Python library example to README", "author_date": "2019-07-03T18:04:03Z", "committer_date": "2019-07-03T18:04:03Z", "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": "fad14ab9438869d38003254f3fc1444af21a2cdb", "message": "Release 1.4", "author_date": "2019-06-30T23:51:17Z", "committer_date": "2019-06-30T23:51: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": "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": "0fe3b38290e1bb2d92746d90318d8662b57218bd", "message": "Added db-to-sqlite to \"Related projects\"", "author_date": "2019-06-29T21:34:24Z", "committer_date": "2019-06-29T21:34:24Z", "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": "b4e36546b093281d1e01549c6d8c4c66b1063675", "message": "Release 1.3", "author_date": "2019-06-29T06:31:18Z", "committer_date": "2019-06-29T06:32:36Z", "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": "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": "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": "641eccc2b7a7d39f234de8e42c7ebc426d350984", "message": "Release 1.2.2", "author_date": "2019-06-26T04:20:55Z", "committer_date": "2019-06-26T04:20:55Z", "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": "f03d2eddd8d861a7cf43a0ef3d72f67aae571dd4", "message": "Handle datetime.time correctly", "author_date": "2019-06-26T04:18:35Z", "committer_date": "2019-06-26T04:18:35Z", "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": "46281c9db0d6eb50203880c83363a8b279db4ecd", "message": "Release 1.2.1", "author_date": "2019-06-21T00:01:21Z", "committer_date": "2019-06-21T00:01:24Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "976263effcc2b9658006f739f7f7f02554f8d97f", "message": "Sanity check add_foreign_key() column exists, closes #29", "author_date": "2019-06-20T23:58:09Z", "committer_date": "2019-06-20T23:58:18Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "364b0fb6784f72b5c4048a3d6b697fba5ec86db7", "message": "Remove .DS_Store", "author_date": "2019-06-20T23:55:39Z", "committer_date": "2019-06-20T23:56:13Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "1c8a0e874fe0fc2eaade1a6c44d947e1e6c7b2b6", "message": "Release 1.2", "author_date": "2019-06-13T06:39:59Z", "committer_date": "2019-06-13T06:39:59Z", "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": "208f56fbaf173fdd8cb03a840e218f85d414a144", "message": "--not-null and --default options to insert/update, closes #24", "author_date": "2019-06-13T06:30:16Z", "committer_date": "2019-06-13T06:30:16Z", "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": "362359da7eed7dc6589589122960c0a0d0460d7c", "message": "not_null= and defaults= arguments to various Python methods, refs #24", "author_date": "2019-06-13T06:10:07Z", "committer_date": "2019-06-13T06:10:07Z", "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": "07a10bdb2c09c7e275a9db546c42900b1dea4e75", "message": "foreign_keys=[...] can now detect tables and keys - closes #25", "author_date": "2019-06-13T05:32:26Z", "committer_date": "2019-06-13T05:32:26Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d645032cfa4edbccd0542eecdddca29edf9f7b07", "message": "add_foreign_key can now detect table and pk, refs #25", "author_date": "2019-06-13T04:51:09Z", "committer_date": "2019-06-13T04:51:09Z", "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": "c2622ceabd073b43b5789ccaa5036471b3c96e12", "message": "cd docs && make livehtml\n\nEnabled make rule for sphinx-autobuild", "author_date": "2019-06-13T04:50:18Z", "committer_date": "2019-06-13T04:50:18Z", "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": "2fed87da6ea990d295672e4db2c8ae97b787913e", "message": "--not-null-default and not_null_default=, refs #24", "author_date": "2019-06-13T01:35:02Z", "committer_date": "2019-06-13T01:35:02Z", "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": "7a3041b1adcb1c95f2edeb789e4b1ecac34f0eab", "message": "Releasing 1.1", "author_date": "2019-05-29T05:12:03Z", "committer_date": "2019-05-29T05:12:03Z", "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": "26b2cf3418f1e19b5436a7385c3945384838e594", "message": "Changelog for 1.1 + docs for --ignore/ignore=True", "author_date": "2019-05-29T05:06:22Z", "committer_date": "2019-05-29T05:06:22Z", "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": "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": "00c5a49a87e1ef3e39bb7ec5ab61f7c17f9ecd60", "message": "Option to ignore inserts if primary key exists already\n\nSupport for SQLite's INSERT OR IGNORE\n\nIn the API layer it looks like this:\n\n fresh_db[\"test\"].insert({\"id\": 1, \"bar\": 3}, ignore=True)\n\nFor the CLI layer it looks like this:\n\n $ sqlite-utils insert data.db dogs dogs.json --ignore\n\nCloses #21", "author_date": "2019-05-29T04:15:57Z", "committer_date": "2019-05-29T04:15:57Z", "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": "1e28eeee8ce55ea68eddb228294a1eff6785b497", "message": "Fixed RST syntax bug", "author_date": "2019-05-28T05:25:03Z", "committer_date": "2019-05-28T05:25:03Z", "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": "63953f56e7001c2e21bc37d5afac699c48c00b9e", "message": "Release 1.0.1", "author_date": "2019-05-28T00:50:28Z", "committer_date": "2019-05-28T00:50:28Z", "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": "cec8c3c4826da8999a5d0f905596be8de519cbc9", "message": "sqlite-utils rows now obeys --json-cols", "author_date": "2019-05-28T00:47:59Z", "committer_date": "2019-05-28T00:47:59Z", "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": "092e1368edc4e7f4cb337a62eabd9a6e1245006b", "message": "Fixed typo", "author_date": "2019-05-25T14:24:17Z", "committer_date": "2019-05-25T14:24: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": "ee017cdbddfb7cdbf522149d195dd41416b24ecd", "message": "Release notes for 1.0, closes #22", "author_date": "2019-05-25T01:06:38Z", "committer_date": "2019-05-25T01:06:38Z", "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": "251e4730412210e7fdb1efd476c730ed3ff10e81", "message": "--json-cols option for outputting nested JSON, closes #20", "author_date": "2019-05-25T00:56:44Z", "committer_date": "2019-05-25T00:56:44Z", "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": "747ea5d6bc31b31fd046e036d90fb603c55307b5", "message": "Fixed help text for sqlite-utils enable-fts\n\nCloses #19", "author_date": "2019-05-25T00:43:41Z", "committer_date": "2019-05-25T00:43:46Z", "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": "eff52023c6d316ead336c198a2a9365ce4f91b09", "message": "alter=True/--alter option to automatically add missing columns\n\nCloses #18", "author_date": "2019-05-25T00:41:04Z", "committer_date": "2019-05-25T00:41: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": "8ab7dcb4f939f38a9a8f8d92e79f4271fa0a6874", "message": "Update description, don't package tests/", "author_date": "2019-05-25T00:37:29Z", "committer_date": "2019-05-25T00:37:29Z", "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": "0b1af42ead3b3902347951180b3364ce1942da6e", "message": "Link to my blog entry", "author_date": "2019-02-25T03:45:38Z", "committer_date": "2019-02-25T03:45: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": "05317f53411fab3c3d66b88408bc867f2e474a35", "message": "Release 0.14", "author_date": "2019-02-24T23:11:51Z", "committer_date": "2019-02-24T23:11: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": "3cab079d3e45aa3468e9f7317680ded6438f3955", "message": "add-column col_type now optional, defaults to str", "author_date": "2019-02-24T22:24:00Z", "committer_date": "2019-02-24T22:24:00Z", "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": "557dc3f9a7b622c45c73fd791cfe0a786f9a1de0", "message": "Improved foreign_keys= argument, closes #17", "author_date": "2019-02-24T22:12:45Z", "committer_date": "2019-02-24T22:12: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": "f8d3b7cfe5c1950b0749d40eb2640df50b52f651", "message": "sqlite-utils add-foreign-key books.db books author_id authors id\n\nCommand for adding foreign keys to existing tables. Closes #2", "author_date": "2019-02-24T21:33:45Z", "committer_date": "2019-02-24T21:33: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": "e1ca938aa1c84367fd9d4786b9709c56f3e6e778", "message": "table.add_foreign_key(column, other_table, other_column)\n\nNew mechanism for adding foreign key constraints to an existing SQLite\ntable.\n\nSQLite ALTER TABLE does not support this out-of-the-box, so I instead\nhad to write some careful code that uses PRAGMA writable_schema = 1 to\ndirectly modify the sqlite_master table.\n\nRefs #2", "author_date": "2019-02-24T21:10:51Z", "committer_date": "2019-02-24T21:10: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": "9756310408c7e5fa1ca257573e46aa13c2041c24", "message": "Black", "author_date": "2019-02-24T20:59:46Z", "committer_date": "2019-02-24T20:59:46Z", "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": "33df260b38e1b0f179cdb849fc4e3e9c76e57f3a", "message": "Fix for CLI test", "author_date": "2019-02-24T20:12:59Z", "committer_date": "2019-02-24T20:12:59Z", "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": "0bc49e938e1e3444df734f9178a9a317f68f9716", "message": "'sqlite-utils add-column name type' command, closes #15", "author_date": "2019-02-24T20:04:33Z", "committer_date": "2019-02-24T20:04:33Z", "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": "05a85b358fb907d8fcb72f19390ee2ba5a2261a5", "message": "Don't assume -1 for error code", "author_date": "2019-02-24T19:50:56Z", "committer_date": "2019-02-24T19:50:56Z", "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": "6d25f648ed708b8dd78cbb0af5e356d16859625f", "message": "add_column now accepts explicit SQLite types, refs #15", "author_date": "2019-02-24T19:49:24Z", "committer_date": "2019-02-24T19:49:31Z", "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": "c5286d2c66b8c187002f9ad8991a6665b2b092f9", "message": "Black formatting", "author_date": "2019-02-24T19:40:58Z", "committer_date": "2019-02-24T19:40: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": "dc2560879ed32136d64707a031b62b2870809892", "message": "table.add_column(name, type) method, refs #15", "author_date": "2019-02-24T19:40:26Z", "committer_date": "2019-02-24T19:40:26Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "8a5d0d80c37008f30953110d58f474aac2728ee3", "message": "sqlite-utils create-index command, closes #14", "author_date": "2019-02-24T19:11:21Z", "committer_date": "2019-02-24T19:11:21Z", "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"}}