id,node_id,number,state,locked,title,user,user_label,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,assignee_label,milestone,milestone_label,draft,head,base,author_association,repo,repo_label,url,merged_by,merged_by_label,auto_merge 1167644140,PR_kwDOBm6k_c5FmNXs,1961,closed,0,Use click.echo() instead of print() for --root option,9599,simonw,"This ensures the URL is output correctly when running under Docker. Closes #1958 ---- :books: Documentation preview :books:: https://datasette--1961.org.readthedocs.build/en/1961/ ",2022-12-16T00:54:56Z,2022-12-16T00:55:19Z,2022-12-16T00:55:18Z,2022-12-16T00:55:18Z,013496862f4d4b441ab61255242b838b24287607,,,,,0,06d20c792f8c872118edd84973308fb3e5137b5e,0b68996cc511b3a801f0cd0157bd66332d75f46f,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1961,,, 492257405,MDExOlB1bGxSZXF1ZXN0NDkyMjU3NDA1,174,closed,0,"Much, much faster extract() implementation",9599,simonw,Takes my test down from ten minutes to four seconds. Refs #172.,2020-09-24T07:52:31Z,2020-09-24T15:44:00Z,2020-09-24T15:43:56Z,2020-09-24T15:43:56Z,022cdd97a9ddab1a152e23e1e1c42e78c1ed0fa9,,,,,0,227095ee90e2a92effec6478d3e629a24d3ccfba,0ca5585fcb834122193e8e7186f926217b23cb8a,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/174,,, 323983732,MDExOlB1bGxSZXF1ZXN0MzIzOTgzNzMy,579,open,0,New connection pooling,9599,simonw,See #569,2019-10-02T23:22:19Z,2019-11-15T22:57:21Z,,,025b4024b1b43ea034b7fd331c30740165ff75f2,,,,,0,32cbfd2acd28bcefb97c442ac8e3ee2c07401e19,a9909c29ccac771c23c2ef22b89d10697b5256b9,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/579,,, 297412464,MDExOlB1bGxSZXF1ZXN0Mjk3NDEyNDY0,38,closed,0,table.update() method,9599,simonw,"Refs #35 Still to do: - [x] Unit tests - [x] Switch to using `.get()` - [x] Better exceptions, plus unit tests for what happens if pk does not exist - [x] Documentation - [x] Ensure compound primary keys work properly - [x] `alter=True` support",2019-07-14T17:03:49Z,2019-07-28T15:43:51Z,2019-07-28T15:43:51Z,2019-07-28T15:43:51Z,0747dabb24b608e8524de4858ce50c60ba7e471b,,,,,0,16d7008002b43cf47a973791da93e5cdd5913fc3,a6749cdf43229c4f7864c946496e9ac0141627d9,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/38,,, 1139440836,PR_kwDOBm6k_c5D6nzE,1912,closed,0,Merge 1.0-dev (with initial write API) back into main,9599,simonw,"See: - #1892 ---- :books: Documentation preview :books:: https://datasette--1912.org.readthedocs.build/en/1912/ ",2022-11-29T19:31:21Z,2022-11-29T19:39:37Z,2022-11-29T19:39:36Z,2022-11-29T19:39:36Z,07aad511769da9242260c850e8d975cbd8c29552,,,,,0,b8fc8e2cd755b9cfc66838bdc1ca9ee87afdce8a,21f8aab53164a4f096737743d8cc624d2186327a,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1912,,, 337853394,MDExOlB1bGxSZXF1ZXN0MzM3ODUzMzk0,65,closed,0,Release 1.12.1,9599,simonw,,2019-11-07T04:51:29Z,2019-11-07T04:58:48Z,2019-11-07T04:58:47Z,2019-11-07T04:58:47Z,0a0cec3cf27861455e8cd1c4d84937825a18bb30,,,,,0,28f8a238ab8fc2a70ee81bd73de6c167d9db9cdf,8dab9fd1ccf571e188eec9ccf606a0c50fccf200,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/65,,, 608323028,MDExOlB1bGxSZXF1ZXN0NjA4MzIzMDI4,1290,closed,0,Use pytest-xdist to speed up tests,9599,simonw,"Closes #1289, refs #1212.",2021-04-03T03:34:36Z,2021-04-03T03:42:29Z,2021-04-03T03:42:28Z,2021-04-03T03:42:28Z,0a7621f96f8ad14da17e7172e8a7bce24ef78966,,,,,0,2fb1e4284f1f0f6aaba7e889a6713c0f96e802e1,59ef4a20cba1533bc347378415f4ffcd025f32c8,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1290,,, 179108961,MDExOlB1bGxSZXF1ZXN0MTc5MTA4OTYx,192,closed,0,New ?_shape=objects/object/lists param for JSON API,9599,simonw,Refs #122,2018-04-03T14:02:58Z,2018-04-03T14:53:00Z,2018-04-03T14:52:55Z,2018-04-03T14:52:55Z,0abd3abacb309a2bd5913a7a2df4e9256585b1bb,,,,,0,a759e09e8599e2cf54f6c5ab4d1cf8adf8608793,dd0566ff8eda7fa2f0d92e51809581fae62cffed,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/192,,, 560831638,MDExOlB1bGxSZXF1ZXN0NTYwODMxNjM4,1206,closed,0,Release 0.54,9599,simonw,Refs #1201,2021-01-25T06:45:47Z,2021-01-25T17:33:30Z,2021-01-25T17:33:29Z,2021-01-25T17:33:29Z,0b9ac1b2e9c855f1b823a06a898891da87c720ef,,,,,0,571476d2cf8f7d7eac6098de8557264e69cac43f,a5ede3cdd455e2bb1a1fb2f4e1b5a9855caf5179,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1206,,, 580235427,MDExOlB1bGxSZXF1ZXN0NTgwMjM1NDI3,241,open,0,Extract expand - work in progress,9599,simonw,Refs #239. Still needs documentation and CLI implementation.,2021-02-25T16:36:38Z,2021-02-25T16:36:38Z,,,0bb6c7a38994627a64e7b3375931528e96b8c222,,,,,1,8d641ab08ac449081e96f3e25bd6c0226870948a,38e688fb8bcb58ae888b676fe3f7dd0529b4eecc,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/241,,, 375180832,MDExOlB1bGxSZXF1ZXN0Mzc1MTgwODMy,672,open,0,--dirs option for scanning directories for SQLite databases,9599,simonw,Refs #417.,2020-02-14T02:25:52Z,2020-03-27T01:03:53Z,,,0e0e544f1f23451f04d7ca576ace5b18ce168e6f,,,,,0,ee718b98b793df2a15b125cbf20816c9864bf7e9,6aa516d82dea9885cb4db8d56ec2ccfd4cd9b840,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/672,,, 677554929,MDExOlB1bGxSZXF1ZXN0Njc3NTU0OTI5,293,closed,0,Test against Python 3.10-dev,9599,simonw,,2021-06-25T01:40:39Z,2021-10-13T21:49:33Z,2021-10-13T21:49:33Z,,0f64d20b044ecb86d9e4e5843f9590006d2f39c2,,,,,0,ae0f46a78958c0118e98c2ab18bd1b57a0478326,747be6057d09a4e5d9d726e29d5cf99b10c59dea,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/293,,, 1034485141,PR_kwDOCGYnMM49qP2V,468,closed,0,"db[table].create(..., transform=True) and create-table --transform",9599,simonw,"Work in progress. Still needs documentation and tests (and to cover more cases of things that might have changed). Refs: - #467 ---- :books: Documentation preview :books:: https://sqlite-utils--468.org.readthedocs.build/en/468/ ",2022-08-23T17:27:58Z,2022-08-27T23:17:55Z,2022-08-27T23:17:55Z,2022-08-27T23:17:55Z,104f37fa4d2e7e5999c1d829267b62c737f74d3e,,,8355157,3.29,0,2f6a64f61d561df821d737719941c678dcb1a03c,c5f8a2eb1a81a18b52825cc649112f71fe419b12,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/468,,, 817257851,PR_kwDOCGYnMM4wtl17,377,closed,0,`sqlite-utils bulk` command,9599,simonw,"Refs #375 Still needs: - [x] Refactor `@insert_upsert_options` so that it doesn't duplicate `@import_options` - [x] Tests - [x] Documentation - [x] Try it against a really big file",2022-01-10T05:34:24Z,2022-01-11T02:10:57Z,2022-01-11T02:10:54Z,2022-01-11T02:10:54Z,129141572f249ea290e2a075437e2ebaad215859,,,7558727,3.21,0,f4ea0d32c0543373eefaa9b9f3911eb07549eecb,b6dad08a8389736b7e960cfe9bc719cfc21a98f5,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/377,,, 529887861,MDExOlB1bGxSZXF1ZXN0NTI5ODg3ODYx,1120,closed,0,generated_columns table in fixtures.py,9599,simonw,Refs #1119,2020-12-01T00:17:19Z,2020-12-01T00:28:03Z,2020-12-01T00:28:02Z,2020-12-01T00:28:02Z,17cbbb1f7f230b39650afac62dd16476626001b5,,,,,0,ddad8db2cc952eaf4f66f42324ccece115627b02,461670a0b87efa953141b449a9a261919864ceb3,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1120,,, 512736705,MDExOlB1bGxSZXF1ZXN0NTEyNzM2NzA1,1065,closed,0,Nav menu plus menu_links() hook,9599,simonw,"Closes #1064, refs #690.",2020-10-30T03:40:18Z,2020-10-30T03:45:17Z,2020-10-30T03:45:16Z,2020-10-30T03:45:16Z,18a64fbb29271ce607937110bbdb55488c43f4e0,,,6026070,0.51,0,5f118b56afbeff5348acd50a8b87537210e731ee,1a861be19e326e0c88230a711a1b6536366697d7,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1065,,, 250628275,MDExOlB1bGxSZXF1ZXN0MjUwNjI4Mjc1,407,closed,0,Heroku --include-vcs-ignore,9599,simonw,"Should mean `datasette publish heroku` can work under Travis, unlike this failure: https://travis-ci.org/simonw/fivethirtyeight-datasette/builds/488047550 ``` 2.25s$ datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette tar: unrecognized option '--exclude-vcs-ignores' Try 'tar --help' or 'tar --usage' for more information. ▸ Command failed: tar cz -C /tmp/tmpuaxm7i8f --exclude-vcs-ignores --exclude ▸ .git --exclude .gitmodules . > ▸ /tmp/f49440e0-1bf3-4d3f-9eb0-fbc2967d1fd4.tar.gz ▸ tar: unrecognized option '--exclude-vcs-ignores' ▸ Try 'tar --help' or 'tar --usage' for more information. ▸ The command ""datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette"" exited with 0. ``` The fix for that issue is to call the heroku command like this: heroku builds:create -a app_name --include-vcs-ignore ",2019-02-06T04:06:20Z,2019-02-06T04:31:30Z,2019-02-06T04:15:47Z,2019-02-06T04:15:46Z,195a5b36349d0d24a6bbb758cebb719b6de303b6,,,,,0,01978ddb9682c828cafddaf9ca625e08ba3ba3a4,436b8bc1d17c2ab415800ab209204f94e7f7929e,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/407,,, 1038565427,PR_kwDOCGYnMM4950Az,473,closed,0,Support entrypoints for `--load-extension`,9599,simonw,"Refs #470 ---- :books: Documentation preview :books:: https://sqlite-utils--473.org.readthedocs.build/en/473/ ",2022-08-27T05:53:59Z,2022-08-27T05:55:52Z,2022-08-27T05:55:47Z,2022-08-27T05:55:47Z,19dd077944429c1365b513d80cc71c605ae3bed3,,,,,0,72db599ae03fabe2e9f999999e258edc1a99ed59,a46a5e3a9e03dcdd8c84a92e4a5dbfa02ba461fa,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/473,,, 285698310,MDExOlB1bGxSZXF1ZXN0Mjg1Njk4MzEw,501,closed,0,Test against Python 3.8-dev using Travis,9599,simonw,,2019-06-06T08:37:53Z,2019-11-11T03:23:29Z,2019-11-11T03:23:29Z,,1aac0cf0ab962060dd5cff19b8b179bb7fa0f00b,,,,,0,a5defb684fcc734f6325ca08beef9f49c3e7a298,5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/501,,, 153432045,MDExOlB1bGxSZXF1ZXN0MTUzNDMyMDQ1,118,closed,0,Foreign key information on row and table pages,9599,simonw,,2017-11-18T03:13:27Z,2017-11-18T03:15:57Z,2017-11-18T03:15:50Z,2017-11-18T03:15:50Z,1b04662585ea1539014bfbd616a8112b650d5699,,,,,0,2fa60bc5e3c9d75c19e21a2384f52b58e1872fa8,6d39429daa4655e3cf7a6a7671493292a20a30a1,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/118,,, 872324754,PR_kwDOBm6k_c4z_p6S,1648,closed,0,Use dash encoding for table names and row primary keys in URLs,9599,simonw,"Refs #1439. - [x] Build `dash_encode` / `dash_decode` functions - [x] Use dash encoding for row primary keys - [x] Use dash encoding for `?_next=` pagination tokens - [x] Use dash encoding for table names in URLs - [x] Use dash encoding for database name - ~~Implement redirects from previous `%` URLs that replace those with `-`~~ - separate issue: #1650",2022-03-05T19:50:45Z,2022-03-07T15:38:30Z,2022-03-07T15:38:30Z,2022-03-07T15:38:29Z,1baa030eca375f839f3471237547ab403523e643,,,,,0,32548b88fdb413429d960966decba8f6b3889190,5010d1359b9e9db90a5a69a3ca22d12862893e00,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1648,,, 339236647,MDExOlB1bGxSZXF1ZXN0MzM5MjM2NjQ3,623,closed,0,Test against Python 3.8 in Travis,9599,simonw,Needed for #622,2019-11-11T03:24:54Z,2019-11-11T03:45:35Z,2019-11-11T03:45:35Z,2019-11-11T03:45:35Z,1c063fae9dba70f70244db010d55a18846640f07,,,,,0,877dda2d287ed3b1772f051dffd295a69c3ecd27,28c4a6db5b5e512db630d7ba6127196185de67c7,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/623,,, 327051673,MDExOlB1bGxSZXF1ZXN0MzI3MDUxNjcz,15,closed,0,"twitter-to-sqlite import command, refs #4",9599,simonw,,2019-10-11T06:37:14Z,2019-10-11T06:45:01Z,2019-10-11T06:45:01Z,2019-10-11T06:45:01Z,2019ee908731054c6eaa3d5123dfbdf7d2d70fc4,,,,,0,df1d85897118310a2d3c1b9e5aad108165302cf2,436a170d74ec70903d1b4ca430c2c6b6435cdfcc,MEMBER,206156866,twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/pull/15,,, 702422263,MDExOlB1bGxSZXF1ZXN0NzAyNDIyMjYz,1418,closed,0,Spelling corrections plus CI job for codespell,9599,simonw,Refs #1417.,2021-08-03T16:21:19Z,2021-08-03T16:36:39Z,2021-08-03T16:36:38Z,2021-08-03T16:36:38Z,2208c3c68e552d343e6a2872ff6e559fca9d1b38,,,,,0,532170fc606df04986104aacbd67b920c5fa0af9,54b6e96ee8aa553b6671e341a1944f93f3fb89c3,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1418,,, 409153870,MDExOlB1bGxSZXF1ZXN0NDA5MTUzODcw,739,closed,0,Configuration directory mode,9599,simonw,"Refs #731 TODO: - [x] Decide how to combine explicit command-line options with items detected from the directory structure - [x] Add unit tests - [x] Implement `inspect-data.json` mechanism for populating `immutables` - [x] Add documentation",2020-04-26T20:37:46Z,2020-04-27T16:30:25Z,2020-04-27T16:30:25Z,2020-04-27T16:30:25Z,25014ca25eb70b4c1217558ebd14db2845973bfb,,,,,0,0d8fa53fab672fcf16b6a75aa55b07ccd243fb96,1b7b66c465e44025ec73421bd69752e42f108321,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/739,,, 1015591301,PR_kwDOCGYnMM48iLGF,462,closed,0,Discord badge,9599,simonw,"Also testing fix for: - https://github.com/readthedocs/readthedocs-preview/issues/10 ---- :books: Documentation preview :books:: https://sqlite-utils--462.org.readthedocs.build/en/462/ ",2022-08-02T20:56:04Z,2022-08-02T21:15:57Z,2022-08-02T21:15:52Z,2022-08-02T21:15:52Z,271433fdd18e436b0a527ab899cb6f6fa67f23d0,,,,,0,0a14a031385f2647be0b9d15d96c1d44d05c2296,98a28cbfe6cea67f6334b42b74f35b0ddd309561,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/462,,, 1154884166,PR_kwDOBm6k_c5E1iJG,1938,closed,0,"""permissions"" blocks in metadata.json/yaml",9599,simonw,"Refs #1636 - [x] Documentation - [ ] Implementation - [ ] Validate metadata to check there are no nonsensical permissions (like `debug-menu` set at the table level) - [ ] Tests ---- :books: Documentation preview :books:: https://datasette--1938.org.readthedocs.build/en/1938/ ",2022-12-08T22:07:36Z,2022-12-13T05:23:19Z,2022-12-13T05:23:18Z,,271ea3ae0c858de2d392b61a1a4a9f5837cbddf8,,,8711695, Datasette 1.0a2,0,6e35a6b4f7ea9ba3fb6f02f45452eeb41de69786,e539c1c024bc62d88df91d9107cbe37e7f0fe55f,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1938,,, 1144085408,PR_kwDOBm6k_c5EMVug,1931,closed,0,/db/table/-/upsert,9599,simonw,"Refs #1878 Still todo: - [x] Support `""return"": true` properly for upserts (with tests) - [x] Require both `insert-row` and `update-row` permissions - [x] Tests are going to need to cover both rowid-only and compound primary key tables, including all of the error states - [x] Documentation ---- :books: Documentation preview :books:: https://datasette--1931.org.readthedocs.build/en/1931/ ",2022-12-03T07:01:44Z,2022-12-08T01:12:17Z,2022-12-08T01:12:16Z,2022-12-08T01:12:16Z,272982e8a6f45700ff93c3917b4688a86de0e672,,,8711695, Datasette 1.0a2,0,7cd6fd9f76913196d4f99a194a30e406f33aa363,93ababe6f7150454d2cf278dae08569e505d2a5b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1931,,, 1067890893,PR_kwDOBm6k_c4_prjN,1823,open,0,Keyword-only arguments for a bunch of internal methods,9599,simonw,"Refs #1822 ---- :books: Documentation preview :books:: https://datasette--1823.org.readthedocs.build/en/1823/ ",2022-09-27T00:44:59Z,2022-10-05T04:37:54Z,,,28068a62ad6a8b76a1c9223c4ca78099cfd2ece5,,,,,0,b545b6a04ed7b407331f991adce107691ac3ab97,5f9f567acbc58c9fcd88af440e68034510fb5d2b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1823,,, 187668890,MDExOlB1bGxSZXF1ZXN0MTg3NjY4ODkw,257,closed,0,Refactor views,9599,simonw,"* Split out view classes from main `app.py` * Run [black](https://github.com/ambv/black) against resulting code to apply opinionated source code formatting * Run [isort](https://github.com/timothycrosley/isort) to re-order my imports Refs #256 ",2018-05-13T13:00:50Z,2018-05-14T03:04:25Z,2018-05-14T03:04:24Z,2018-05-14T03:04:24Z,2b79f2bdeb1efa86e0756e741292d625f91cb93d,,,,,0,0e2b41f3fa38456af32548c536f955c48c7637e8,4301a8f3ac69f2f54916e73cc90fcf216a9a3746,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/257,,, 313383317,MDExOlB1bGxSZXF1ZXN0MzEzMzgzMzE3,60,closed,0,db.triggers and table.triggers introspection,9599,simonw,Closes #59,2019-09-03T00:04:32Z,2019-09-03T00:09:42Z,2019-09-03T00:09:42Z,2019-09-03T00:09:42Z,2ca63e3b2de5408a860c6c7c1852deb9a138279e,,,,,0,b0a27fbb34b4362ef192deb560612fabf046cd32,405e092d5916e70df10f82d15e9c052aa9ee8d80,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/60,,, 424032445,MDExOlB1bGxSZXF1ZXN0NDI0MDMyNDQ1,769,closed,0,Backport of Python 3.8 shutil.copytree,9599,simonw,Closes #744,2020-05-27T18:17:15Z,2020-05-27T20:21:56Z,2020-05-27T18:17:44Z,2020-05-27T18:17:44Z,2d099ad9c657d2cab59de91cdb8bfed2da236ef6,,,5471110,Datasette 0.43,0,6f80757f27e4651e6533856ea87b676dbc0d9c37,cee671a58f417f827d1735b1abaa40716534ea67,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/769,,, 313384926,MDExOlB1bGxSZXF1ZXN0MzEzMzg0OTI2,571,closed,0,detect_fts now works with alternative table escaping,9599,simonw,Fixes #570,2019-09-03T00:23:39Z,2019-09-03T00:32:28Z,2019-09-03T00:32:28Z,2019-09-03T00:32:28Z,2dc5c8dc259a0606162673d394ba8cc1c6f54428,,,,,0,a85239f69261c10f1a9f90514c8b5d113cb94585,f04deebec4f3842f7bd610cd5859de529f77d50e,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/571,,, 816927546,PR_kwDOCGYnMM4wsVM6,367,closed,0,Initial prototype of .analyze() methods,9599,simonw,Refs #366,2022-01-08T21:35:12Z,2022-01-10T19:31:08Z,2022-01-10T19:31:08Z,,2ffcbed6787523649dd676985f3ea70a62944764,,,7558727,3.21,1,9848eaa61b43de0ddb74ff6d085bcb18f4640f91,a8f9cc6f64f299830834428509940d448b82b4ed,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/367,,, 409123897,MDExOlB1bGxSZXF1ZXN0NDA5MTIzODk3,737,closed,0,"Custom pages mechanism, refs #648",9599,simonw,"Refs #648. TODO: - [x] Pass a `view_name` to `render_template()` - [x] Mechanism for custom status code / headers / redirect - [x] Documentation",2020-04-26T17:31:41Z,2020-04-26T18:46:43Z,2020-04-26T18:46:43Z,2020-04-26T18:46:43Z,304e7b1d9fd904ae1c35600bc03662eb90eeeae0,,,,,0,b5bbf1bd88f67a26eb34902bc11f2da7692c7af2,227bb3e91fe34811a9374150798643a5af98ed79,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/737,,, 521276296,MDExOlB1bGxSZXF1ZXN0NTIxMjc2Mjk2,1097,closed,0,Use f-strings,9599,simonw,"Since Datasette now requires Python 3.6, how about some f-strings? I ran this in the `datasette` root checkout: ``` pip install flynt flynt . black . ```",2020-11-15T23:12:36Z,2020-11-15T23:24:24Z,2020-11-15T23:24:23Z,2020-11-15T23:24:23Z,30e64c8d3b3728a86c3ca42a75322cc3feb5b0c8,,,,,0,e89211d21eebb7a2e4588b06927da84416e3a555,6fd35be64de221eba4945ca24e8e1678f6142a73,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1097,,, 201075532,MDExOlB1bGxSZXF1ZXN0MjAxMDc1NTMy,341,closed,0,Bump aiohttp to fix compatibility with Python 3.7,9599,simonw,Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333,2018-07-12T17:41:24Z,2018-07-12T18:07:38Z,2018-07-12T18:07:38Z,2018-07-12T18:07:38Z,31a5d8fa77be68d4f837f0a80a611675dce49f4b,,,,,0,8d34ed776168dcac530859c51f22e8b48829a513,130dc8823ebdcc1834fc7c4a03c996b13fc1e444,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/341,,, 181731956,MDExOlB1bGxSZXF1ZXN0MTgxNzMxOTU2,210,closed,0,"Start of the plugin system, based on pluggy",9599,simonw,Refs #14,2018-04-16T00:51:30Z,2018-04-16T00:56:16Z,2018-04-16T00:56:16Z,2018-04-16T00:56:16Z,33c7c53ff87c25445c68088ede49d062d9c31fe8,,,,,0,d75e57060d9ef4ef6ebab3600e542885b7467272,efbb4e83374a2c795e436c72fa79f70da72309b8,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/210,,, 275861559,MDExOlB1bGxSZXF1ZXN0Mjc1ODYxNTU5,449,closed,0,Apply black to everything,9599,simonw,"I've been hesitating on this for literally months, because I'm not at all excited about the giant diff that will result. But I've been using black on many of my other projects (most actively [sqlite-utils](https://github.com/simonw/sqlite-utils)) and the productivity boost is undeniable: I don't have to spend a single second thinking about code formatting any more! So it's worth swallowing the one-off pain and moving on in a new, black-enabled world.",2019-05-03T21:57:26Z,2019-05-04T02:17:14Z,2019-05-04T02:15:15Z,2019-05-04T02:15:15Z,35d6ee2790e41e96f243c1ff58be0c9c0519a8ce,,,,,0,9683aeb2394a4b7e44499b8a0240af3baafda832,66c87cee0c7344c7877373c60b180c766c206101,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/449,,, 247861419,MDExOlB1bGxSZXF1ZXN0MjQ3ODYxNDE5,5,closed,0,Run Travis tests against Python 3.8-dev,9599,simonw,,2019-01-26T02:30:55Z,2019-01-26T02:37:54Z,2019-01-26T02:37:54Z,2019-01-26T02:37:54Z,3a944d0c077c203277f13dd69387eb84b5c88d3e,,,,,0,b2f81e86074526d6e4dc9e39e791deff195669de,9a4d1ff0a268c7df7839389acd92d48752d24b95,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/5,,, 925926708,PR_kwDOBm6k_c43MIU0,1736,closed,0,Clean up compatibility with Pyodide,9599,simonw,"Closes #1735, closes #1733",2022-05-02T20:14:38Z,2022-05-02T20:15:28Z,2022-05-02T20:15:27Z,2022-05-02T20:15:27Z,3f00a29141bdea5be747f6d1c93871ccdb792167,,,,,0,784fe6a245a051ef6b42e153d3fae9cce7b0b148,a29c1277896b6a7905ef5441c42a37bc15f67599,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1736,,, 1303909190,PR_kwDOBm6k_c5NuBNG,2053,open,0,WIP new JSON for queries,9599,simonw,"Refs: - #2049 TODO: - [x] Read queries JSON - [ ] Implement error display with `""ok"": false` and an errors key - [ ] Read queries HTML - [ ] Read queries other formats (plugins) - [ ] Canned read queries (dispatched to from table) - [ ] Write queries (a canned query thing) - [ ] Implement different shapes, refactoring to share code with table - [ ] Implement a sensible subset of extras, also refactoring to share code with table - [ ] Get all tests passing ---- :books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/ ",2023-04-05T23:26:15Z,2023-05-26T23:13:03Z,,,3f9f8455e9a7c3fd65d034f5432a31a548c613a7,,,,,1,007294008d925b7e5529e6d14add002b6b56ddb5,dda99fc09fb0b5523948f6d481c6c051c1c7b5de,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/2053,,, 815164865,PR_kwDOCGYnMM4wlm3B,361,closed,0,--lines and --text and --convert and --import,9599,simonw,"Refs #356 Still TODO: - [x] Get `--lines` working, with tests - [x] Get `--text` working, with tests - [x] Get regular JSON import working with `--convert` with tests - [x] Get `--lines` working with `--convert` with tests - [x] Get `--text` working with `--convert` with tests - [x] Get `--csv` and `--tsv` import working with `--convert` with tests - [x] Get `--nl` working with `--convert` with tests - [x] Documentation for all of the above",2022-01-06T01:49:44Z,2022-01-06T06:37:03Z,2022-01-06T06:24:54Z,2022-01-06T06:24:54Z,413f8ed754e38d7b190de888c85fe8438336cb11,,,,,0,b7f0b88d49032a053f0de2dbba356ee1f3b949c0,f3fd8613113d21d44238a6ec54b375f5aa72c4e0,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/361,,, 429366641,MDExOlB1bGxSZXF1ZXN0NDI5MzY2NjQx,803,closed,0,Canned query permissions,9599,simonw,Refs #800. Closes #786,2020-06-06T18:20:00Z,2020-06-06T19:40:21Z,2020-06-06T19:40:20Z,2020-06-06T19:40:20Z,415ccd7cbdeebfb52f514a0387221023aa8b4d91,,,,,0,3359d54a4eb9c9725c27a85437661b5180c4099a,9c563d6aed072f14d3d25f58e84659f9caa1a243,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/803,,, 468377212,MDExOlB1bGxSZXF1ZXN0NDY4Mzc3MjEy,937,closed,0,Docs now live at docs.datasette.io,9599,simonw,,2020-08-15T23:53:52Z,2020-08-15T23:57:06Z,2020-08-15T23:57:05Z,2020-08-15T23:57:05Z,41ddc197561ac2d2a1bb988956c301a523c6ca35,,,,,0,ff2605af65e023564cd7b57382b116e94b9d4f16,af12f45c2b0e4782ca92c2d00481dc47ccb7a046,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/937,,, 247576942,MDExOlB1bGxSZXF1ZXN0MjQ3NTc2OTQy,4,closed,0,Fts5,9599,simonw,,2019-01-25T06:54:05Z,2019-01-25T06:54:33Z,2019-01-25T06:54:33Z,2019-01-25T06:54:33Z,42b2b4b785e3163371e92a9cc085bc47e7c83107,,,,,0,7f205d2308443557bcaec497b3d0badc0dc26f06,ccb2a1e729780689188005a52c362b7e963f71e8,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/4,,, 671014751,MDExOlB1bGxSZXF1ZXN0NjcxMDE0NzUx,273,closed,0,sqlite-utils memory command for directly querying CSV/JSON data,9599,simonw,"Refs #272. Initial implementation only does CSV data, still needs: - [x] Implement `--save` - [x] Add `--dump` to the documentation - [x] Add `--attach` example to the documentation - [x] Replace `:memory:` in documentation",2021-06-16T05:04:58Z,2021-06-18T15:01:17Z,2021-06-18T15:00:52Z,2021-06-18T15:00:52Z,42ec59d8ee3fcfb8ac1affb772aed43b6e2a7381,,,,,0,df7a37bdb730bb863fa29758f6fb35f809fa0dd0,78aebb6479420217454747870737bc593a259abc,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/273,,, 339244888,MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4,624,closed,0,Bump pint to 0.9,9599,simonw,,2019-11-11T04:07:07Z,2019-11-11T04:19:02Z,2019-11-11T04:19:02Z,2019-11-11T04:19:02Z,42ee3e16a9ba7cc513b8da944cc1609a5407cf42,,,,,0,ed17117a2ad675cbf2430f28069bb1854846a6f0,1c063fae9dba70f70244db010d55a18846640f07,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/624,,, 415286105,MDExOlB1bGxSZXF1ZXN0NDE1Mjg2MTA1,763,closed,0,Documentation + improvements for db.execute() and Results class,9599,simonw,"Refs #685 Still TODO: - [x] Implement `results.first()` - [x] Implement `results.single_value()` - [x] Unit tests for the above ",2020-05-08T15:16:02Z,2020-06-11T16:05:48Z,2020-05-08T16:05:46Z,2020-05-08T16:05:46Z,4433306c1855ad69840cc76cbd41086137572be2,,,,,0,1ea62c77221d07cd121367f1c6b620f8bde0716a,69e3a855dd7e5a77409d70b18c45ae3c1a145a75,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/763,,, 157365811,MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx,168,closed,0,Upgrade to Sanic 0.7.0,9599,simonw,,2017-12-09T01:25:08Z,2017-12-09T03:00:34Z,2017-12-09T03:00:34Z,2017-12-09T03:00:34Z,446f4b832272b2286f6f65af19714eb64afb7aa6,,,,,0,d9e13a5cc2b77637a6cdd8bd21b9b8fc1350051a,61e3c5a1e904a6e1cbee86ba1494b5cb4b5820cf,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/168,,, 529783275,MDExOlB1bGxSZXF1ZXN0NTI5NzgzMjc1,1117,closed,0,Support for generated columns,9599,simonw,"Refs #1116. My first attempt at this worked on my laptop but broke in CI, so I'm going to iterate on it in a pull request instead.",2020-11-30T20:10:46Z,2020-11-30T22:23:19Z,2020-11-30T21:29:58Z,2020-11-30T21:29:58Z,461670a0b87efa953141b449a9a261919864ceb3,,,,,0,ccdf2c650278b8b9465d3a2d7c916f3bb06c4f01,dea3c508b39528e566d711c38a467b3d372d220b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1117,,, 196628304,MDExOlB1bGxSZXF1ZXN0MTk2NjI4MzA0,324,closed,0,Speed up Travis by reusing pip wheel cache across builds,9599,simonw,From https://atchai.com/blog/faster-ci/ - refs #323 ,2018-06-22T03:20:08Z,2018-06-24T01:03:47Z,2018-06-24T01:03:47Z,2018-06-24T01:03:47Z,47e689a89b3f5f0969595b17d2ec59ea3caffb3b,,,,,0,7d7f5f61fd6dca3385386a657a13057680d8ddd7,e7566cc59d4b02ef301054fd35fdde6c925a8e38,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/324,,, 719109709,MDExOlB1bGxSZXF1ZXN0NzE5MTA5NzA5,321,closed,0,"Ability to insert file contents as text, in addition to blob",9599,simonw,Refs #319.,2021-08-24T22:37:18Z,2021-08-24T23:31:17Z,2021-08-24T23:31:13Z,2021-08-24T23:31:13Z,49a010c93d90bc68ce1c6fff7639927248912b54,,,,,0,db2dd6d9f30b347f4ed22b07f59b5a615184fbfd,9258f4bd8450c951900de998a7bf81ca9b45a014,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/321,,, 204851511,MDExOlB1bGxSZXF1ZXN0MjA0ODUxNTEx,353,closed,0,render_cell(value) plugin hook,9599,simonw,Closes #352.,2018-07-30T15:57:08Z,2018-08-05T00:14:57Z,2018-08-05T00:14:57Z,2018-08-05T00:14:57Z,4ac913224061f2dc4f673efab1a5ac6bc748854f,,,,,0,2e538d924f3b17f82e94e8e8b5a05abcf9e1e697,295d005ca48747faf046ed30c3c61e7563c61ed2,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/353,,, 182357613,MDExOlB1bGxSZXF1ZXN0MTgyMzU3NjEz,222,closed,0,Fix for plugins in Python 3.5,9599,simonw,,2018-04-18T03:21:01Z,2018-04-18T04:26:50Z,2018-04-18T03:24:21Z,2018-04-18T03:24:21Z,4be6deb94776744071311777f0b18efb993c0cfa,,,,,0,420cdcb88ee41c15a90fce30fdec5832c03295bd,1c36d07dd432b9960f4f2d096739460b4fcf8877,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/222,,, 303990683,MDExOlB1bGxSZXF1ZXN0MzAzOTkwNjgz,53,closed,0,Work in progress: m2m() method for creating many-to-many records,9599,simonw,"- [x] `table.insert({""name"": ""Barry""}).m2m(""tags"", lookup={""tag"": ""Coworker""})` - [x] Explicit table name `.m2m(""humans"", ..., m2m_table=""relationships"")` - [x] Automatically use an existing m2m table if a single obvious candidate exists (a table with two foreign keys in the correct directions) - [x] Require the explicit `m2m_table=` argument if multiple candidates for the m2m table exist - [x] Documentation Refs #23",2019-08-03T10:03:56Z,2019-08-04T03:38:10Z,2019-08-04T03:37:33Z,2019-08-04T03:37:33Z,4c0912dbf27b12071aca9569bcf7233e60f91c7c,,,,,0,243bcaa1acd32a173c07b24dca553991493005a0,e1021030dd2d8d4705ad0e7bae389eeaea7fa17b,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/53,,, 293992382,MDExOlB1bGxSZXF1ZXN0MjkzOTkyMzgy,535,closed,0,"Added asgi_wrapper plugin hook, closes #520",9599,simonw,,2019-07-03T03:58:00Z,2019-07-03T04:06:26Z,2019-07-03T04:06:26Z,2019-07-03T04:06:26Z,4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3,,,,,0,93bfa26bfd25a3cc911d637596e364d3474325bd,b9ede4c1898616512b5d204f9c941deff473cbe4,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/535,,, 290971295,MDExOlB1bGxSZXF1ZXN0MjkwOTcxMjk1,524,open,0,"Sort commits using isort, refs #516",9599,simonw,Also added a lint unit test to ensure they stay sorted. #516,2019-06-24T05:04:48Z,2019-06-24T05:45:00Z,,,4e92ebe00a058e02b2d7543cff60ac2f78aa97c7,,,,,0,dafae70ee7f74ce79b541a94385172be3ad0de83,cdd24f3eaa207f67d948c1876725b0f84654a623,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/524,,, 301483613,MDExOlB1bGxSZXF1ZXN0MzAxNDgzNjEz,564,open,0,First proof-of-concept of Datasette Library,9599,simonw,"Refs #417. Run it like this: datasette -d ~/Library Uses a new plugin hook - available_databases() ",2019-07-26T10:22:26Z,2023-02-07T15:14:11Z,,,4f425d2b39d1be10d7ef5c146480a3eb494d5086,,,,,1,947645d84710677ea50762016081a9fbc6b014a8,a9453c4dda70bbf5122835e68f63db6ecbe1a6fc,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/564,,, 1046767034,PR_kwDOBm6k_c4-ZGW6,1801,closed,0,"Don't use upper bound dependencies, refs #1800",9599,simonw,"See https://iscinumpy.dev/post/bound-version-constraints/ ---- :books: Documentation preview :books:: https://datasette--1801.org.readthedocs.build/en/1801/ ",2022-09-05T18:29:28Z,2022-09-05T18:35:41Z,2022-09-05T18:35:41Z,2022-09-05T18:35:41Z,51030df1869b3b574dd3584d1563415776b9cd4e,,,,,0,3f24edd6b29e7deff37d0e45827133fc5a9e5387,ba35105eee2d3ba620e4f230028a02b2e2571df2,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1801,,, 657373726,MDExOlB1bGxSZXF1ZXN0NjU3MzczNzI2,262,closed,0,Ability to add descending order indexes,9599,simonw,Refs #260,2021-05-29T04:51:04Z,2021-05-29T05:01:42Z,2021-05-29T05:01:39Z,2021-05-29T05:01:39Z,51d01da30d45c1fbc1e587e6046a933529cf915e,,,,,0,50a4fb722d29c3e53f7b148a41aeda901d02a264,b2302875c97f723e02cc39136d0b20fd706369aa,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/262,,, 372273608,MDExOlB1bGxSZXF1ZXN0MzcyMjczNjA4,33,closed,0,Upgrade to sqlite-utils 2.2.1,9599,simonw,,2020-02-07T07:32:12Z,2020-03-20T19:21:42Z,2020-03-20T19:21:41Z,,5338f6baab3ec1424431133968d8b64a656ce4c4,,,,,0,08f51271d6309aad698b9e8a7587fcebbbd67781,35c18a09fa664324dcb75e5e58ccb90644456d02,MEMBER,206156866,twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/pull/33,,, 275801463,MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz,447,closed,0,Use dist: xenial and python: 3.7 on Travis,9599,simonw,,2019-05-03T18:07:07Z,2019-05-03T18:17:05Z,2019-05-03T18:16:53Z,2019-05-03T18:16:53Z,553314dcd699a84aa7cc806377150ca0d57a6024,,,,,0,cd22e389d09b4fd5ed28205ba38a20faf1ed14f1,01b3de5b66742f0f661183e9e2ef66be3600e831,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/447,,, 440946817,MDExOlB1bGxSZXF1ZXN0NDQwOTQ2ODE3,869,closed,0,Magic parameters for canned queries,9599,simonw,"Implementation for #842 TODO: - [x] Add tests for built-in magic parameters - [x] Magic parameters should not show up as blank form fields on the query page - [x] Update documentation for new `_request_X` (now called `_header_X`) implementation where X is a key from the ASGI scope - [x] Make sure these only work for canned queries, not for arbitrary SQL queries (security issue) - [x] Add test for the `register_magic_parameters` plugin hook - [x] Add documentation for the `register_magic_parameters` plugin hook ",2020-06-27T18:37:21Z,2020-06-28T02:58:18Z,2020-06-28T02:58:17Z,2020-06-28T02:58:17Z,563f5a2d3ab30ad08daee38f5ec3ed6429ac9206,,,5533512,Datasette 0.45,0,9e693a7aae3b4a0882881e3a1c182e1c0c753efd,4b142862f237f95a731cb8263a293eda70d13c82,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/869,,, 425531205,MDExOlB1bGxSZXF1ZXN0NDI1NTMxMjA1,783,closed,0,Authentication: plugin hooks plus default --root auth mechanism,9599,simonw,See #699,2020-05-30T22:25:47Z,2020-06-01T01:16:44Z,2020-06-01T01:16:43Z,2020-06-01T01:16:43Z,57cf5139c552cb7feab9947daa949ca434cc0a66,,,,,0,116a26ce2d4af26c928e361e1b24dd6a6bb14eca,c4fbe50676929b512940aab90de590a78ac5d7fc,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/783,,, 300286535,MDExOlB1bGxSZXF1ZXN0MzAwMjg2NTM1,45,closed,0,"Implemented table.lookup(...), closes #44",9599,simonw,,2019-07-23T13:03:30Z,2019-07-23T13:07:00Z,2019-07-23T13:07:00Z,2019-07-23T13:07:00Z,580502431614d3653c93249988290265f3163d4b,,,,,0,c0852ce018425450d6c040040f32729d41ff635c,f3a4c3d3ee6475a6caf3c9606656dbaf1df020b7,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/45,,, 507903392,MDExOlB1bGxSZXF1ZXN0NTA3OTAzMzky,1040,closed,0,/db/table/-/blob/pk/column.blob download URL,9599,simonw,"Refs #1036. Still needs: - [x] Comprehensive tests across all of the code branches, plus permissions - [x] A bit more refactoring to share logic cleanly with `RowView` - ~~A configuration option to disable this feature (probably)~~",2020-10-21T22:39:15Z,2020-10-24T23:09:20Z,2020-10-24T23:09:19Z,2020-10-24T23:09:19Z,5a1519796037105bc20bcf2f91a76e022926c204,,,6026070,0.51,0,4f3165f25fd9241fcf1291c797f4c77766b954dc,bf82b3d6a605c9ddadd5fb739249dfe6defaf635,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1040,,, 334448258,MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4,609,closed,0,Update to latest black,9599,simonw,,2019-10-30T18:42:35Z,2019-10-30T18:49:01Z,2019-10-30T18:49:01Z,2019-10-30T18:49:01Z,5dd4d2b2d3abcfd507a6df47e7c2fbad3c552fd8,,,,,0,6f57e5e77bac29ac88d51271fd0c785859a820ce,f4c0830529a9513a83437a9e1550bbe27ebc5c64,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/609,,, 468484031,MDExOlB1bGxSZXF1ZXN0NDY4NDg0MDMx,941,closed,0,"Run CI on GitHub Actions, not Travis",9599,simonw,Refs #940,2020-08-16T19:13:39Z,2020-08-18T05:09:36Z,2020-08-18T05:09:35Z,2020-08-18T05:09:35Z,5e0b72247ecab4ce0fcec599b77a83d73a480872,,,,,0,f5a72e11b632b01acc41c07f6f4cfffa1a7ed14e,52eabb019d4051084b21524bd0fd9c2731126985,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/941,,, 284390197,MDExOlB1bGxSZXF1ZXN0Mjg0MzkwMTk3,497,closed,0,Upgrade pytest to 4.6.1,9599,simonw,,2019-06-03T01:45:34Z,2019-06-03T02:06:32Z,2019-06-03T02:06:27Z,2019-06-03T02:06:27Z,5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945,,,,,0,bf2ab0306e6d3ce7524fecf015e2cec7ae45e994,803f750309bf0cd5b7501228c1efcf9a35686d74,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/497,,, 700944644,MDExOlB1bGxSZXF1ZXN0NzAwOTQ0NjQ0,303,closed,0,sqlite-utils convert command and db[table].convert(...) method,9599,simonw,"Refs #251, #302. - [x] Get recipes working - [x] Document recipes - [x] Implement `db[table].convert(...)` method - [x] Add tests for recipes that use the new Python method - [x] Implement `db[table].convert(..., multi=True)` mechanism - [x] Documentation for `db[table].convert(...)` - [x] Refactor `sqlite-utils convert` to use the new method",2021-08-01T16:52:42Z,2021-08-02T04:47:42Z,2021-08-02T04:47:39Z,2021-08-02T04:47:39Z,5ec6686153e29ae10d4921a1ad4c841f192f20e2,,,,,0,4c3bf9730542f1e49cbf11a61dbdb7fd621453df,c7e8d72be9fe8fe0811f685a18eebc637662d41b,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/303,,, 707490789,MDExOlB1bGxSZXF1ZXN0NzA3NDkwNzg5,312,closed,0,Add reference page to documentation using Sphinx autodoc,9599,simonw,Refs #311.,2021-08-10T16:59:17Z,2021-08-10T23:09:32Z,2021-08-10T23:09:28Z,2021-08-10T23:09:28Z,6155da72c8939b5d9bdacb7853e5e8d1767ce1d5,,,,,0,43bc06481783c3cfcee70c0cb541a686e8894adb,ee469e3122d6f5973ec2584c1580d930daca2e7c,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/312,,, 1046943107,PR_kwDOBm6k_c4-ZxWD,1803,closed,0,Workaround for test failure: RuntimeError: There is no current event loop,9599,simonw,"Closes #1802 ---- :books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/ ",2022-09-06T00:31:06Z,2022-09-06T00:40:19Z,2022-09-06T00:40:19Z,2022-09-06T00:40:19Z,64288d827f7ff97f825e10f714da3f781ecf9345,,,,,0,7b6a2b48408697905bd93504b7f5554f4a7627ef,1c29b925d300d1ee17047504473f2517767aa05b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1803,,, 397749653,MDExOlB1bGxSZXF1ZXN0Mzk3NzQ5NjUz,714,closed,0,--metadata accepts YAML as well as JSON,9599,simonw,Refs #713. Still needs tests and documentation.,2020-04-02T18:36:02Z,2020-04-02T19:30:54Z,2020-04-02T19:30:54Z,2020-04-02T19:30:54Z,6717c719dd36dc2adc0f9da38a8c8e08129e96b4,,,,,0,5170c31adc44f6ef14b21782ba6f8ecb46dd9450,2aaad72789c427875426673c1a43e67c86fc970e,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/714,,, 368734500,MDExOlB1bGxSZXF1ZXN0MzY4NzM0NTAw,663,closed,0,"-p argument for datasette package, plus tests - refs #661",9599,simonw,,2020-01-29T19:47:49Z,2020-01-29T22:46:43Z,2020-01-29T22:46:43Z,2020-01-29T22:46:43Z,67fc9c5720ed1fcd62b116481f70d4e80b403a22,,,,,0,8adfc9db7f15e36fed677be4a9c833ff2cdec0bc,34d77d780f68b778fd9d6ebbaf69f250436f055f,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/663,,, 295127213,MDExOlB1bGxSZXF1ZXN0Mjk1MTI3MjEz,546,open,0,Facet by delimiter,9599,simonw,Refs #510,2019-07-07T20:06:05Z,2019-11-18T23:46:01Z,,,68a6fb1a576a747b868771d00a10753f35aaa0cf,,,,,0,47ac6c6e46da16716d295d7cda8f79cd0663ca5e,a9909c29ccac771c23c2ef22b89d10697b5256b9,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/546,,, 185307407,MDExOlB1bGxSZXF1ZXN0MTg1MzA3NDA3,246,closed,0,?_shape=array and _timelimit=,9599,simonw,,2018-05-02T00:18:54Z,2018-05-02T00:20:41Z,2018-05-02T00:20:40Z,2018-05-02T00:20:40Z,690736436bac599ca042d1caa465c6d66d2651f9,,,,,0,3807d93b98573e142858c5871b8b4aadda71d28f,aa954382c3776d596f459897b0d984161293529d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/246,,, 537791675,MDExOlB1bGxSZXF1ZXN0NTM3NzkxNjc1,208,closed,0,sqlite-utils analyze-tables command and table.analyze_column() method,9599,simonw,"Refs #207 - [x] Improve design of CLI output - [x] Truncate long values in least/most common - [x] Add a `-c` column selection option - [x] Tests - [x] Documentation",2020-12-12T05:27:49Z,2020-12-13T07:20:16Z,2020-12-13T07:20:12Z,2020-12-13T07:20:12Z,69a121e08847acbf95abf0c2df1759fc73dc81b8,,,,,0,95a966bb6216215d40d0016d673a28b04428db43,c5f4f0f70ce394dfec6054c3c5aaedf330887093,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/208,,, 379378780,MDExOlB1bGxSZXF1ZXN0Mzc5Mzc4Nzgw,686,closed,0,?_searchmode=raw option,9599,simonw,Closes #676,2020-02-25T05:45:50Z,2020-02-25T05:56:09Z,2020-02-25T05:56:04Z,2020-02-25T05:56:04Z,6cb65555f46456eb31b62e855e21b1d8c809b1a2,,,,,0,abc782cb342c21b565142e44e70502e61ac6756b,a093c5f79fa034a97d2ad8b606745dd3b80365af,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/686,,, 498104830,MDExOlB1bGxSZXF1ZXN0NDk4MTA0ODMw,994,closed,0,Run tests against Python 3.9,9599,simonw,,2020-10-05T20:40:13Z,2020-10-09T16:22:51Z,2020-10-09T16:22:50Z,2020-10-09T16:22:50Z,6e091b14b651d67e0ff41a353d36bbeb1d8ba235,,,,,0,ecba5d257ef4218a98b5903d856a4d7c0382f43d,e807c4eac0e85ae15e013379b0dde1d797f1377d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/994,,, 575940193,MDExOlB1bGxSZXF1ZXN0NTc1OTQwMTkz,1232,closed,0,--crossdb option for joining across databases,9599,simonw,"Refs #283. Still needs: - [x] Unit test for --crossdb queries - [x] Show warning on console if it truncates at ten databases (or on web interface) - [x] Show connected databases on the `/_memory` database page - [x] Documentation - [x] https://latest.datasette.io/ demo should demonstrate this feature",2021-02-18T19:48:50Z,2021-02-18T22:09:13Z,2021-02-18T22:09:12Z,2021-02-18T22:09:12Z,6f41c8a2bef309a66588b2875c3e24d26adb4850,,,,,0,887649942b02d70a0fe4e205e1e5eff4e745b016,4df548e7668b5b21d64a267964951e67894f4712,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1232,,, 261418285,MDExOlB1bGxSZXF1ZXN0MjYxNDE4Mjg1,416,closed,0,URL hashing now optional: turn on with --config hash_urls:1 (#418),9599,simonw,,2019-03-15T04:26:06Z,2019-03-17T22:55:04Z,2019-03-17T22:55:04Z,2019-03-17T22:55:04Z,6f6d0ff2b41f1cacaf42287b1b230b646bcba9ee,,,,,0,0d02a99c9665669540aebff981246d8c743072b3,afe9aa3ae03c485c5d6652741438d09445a486c1,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/416,,, 370675007,MDExOlB1bGxSZXF1ZXN0MzcwNjc1MDA3,664,closed,0,Datasette.render_template() method,9599,simonw,Refs #577,2020-02-04T06:53:59Z,2020-02-04T20:26:18Z,2020-02-04T20:26:18Z,2020-02-04T20:26:18Z,70b915fb4bc214f9d064179f87671f8a378aa127,,,,,0,19d4406f562aca291fef04363802093672620220,286ed286b68793532c2a38436a08343b45cfbc91,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/664,,, 1358282799,PR_kwDOCGYnMM5Q9cAv,549,closed,0,TUI powered by Trogon,9599,simonw,"Refs: - #545 ---- :books: Documentation preview :books:: https://sqlite-utils--549.org.readthedocs.build/en/549/ ",2023-05-21T17:55:42Z,2023-05-21T18:42:00Z,2023-05-21T18:41:56Z,2023-05-21T18:41:56Z,718b0cba9b32d97a41bcf9757c97fe1d058da81c,,,,,0,948692a94b22852b3147abebac9d719b69320b57,e8c5b042e49c627aefd620c8d4b1c84eb8677f73,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/549,,, 205770996,MDExOlB1bGxSZXF1ZXN0MjA1NzcwOTk2,1,closed,0,Make .indexes compatible with older SQLite versions,9599,simonw,Older SQLite versions return a different set of columns from the PRAGMA we are using.,2018-08-02T15:17:05Z,2018-08-02T15:17:30Z,2018-08-02T15:17:30Z,2018-08-02T15:17:30Z,741e8f7fe563e18fe9a12ac1ce38157e8c903505,,,,,0,9e674311065b8372f0a93becc8e7357ceffd353b,0aa28293adedc488eb9107dc52b5e9a124887fbd,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/1,,, 393274433,MDExOlB1bGxSZXF1ZXN0MzkzMjc0NDMz,708,closed,0,"base_url configuration setting, refs #394",9599,simonw,Pull request implementing #394,2020-03-24T21:52:00Z,2020-03-25T00:18:44Z,2020-03-25T00:18:44Z,2020-03-25T00:18:44Z,7656fd64d8b6a32ebc34d89c1b8711cc5ea240f7,,,5234079,Datasette 0.39,0,b1f953b5de1bef239ddb1d133f9b2e19f8e3438a,a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/708,,, 247923347,MDExOlB1bGxSZXF1ZXN0MjQ3OTIzMzQ3,404,closed,0,Experiment: run Jinja in async mode,9599,simonw,"See http://jinja.pocoo.org/docs/2.10/api/#async-support Tests all pass. Have not checked performance difference yet. Creating pull request to run tests in Travis. This is not ready to merge - I'm not yet sure if this is a good idea.",2019-01-27T00:28:44Z,2019-11-12T05:02:18Z,2019-11-12T05:02:13Z,,773bcac907d17b16eef604ad943837da39a10090,,,,,0,dd7f24a47f660e2f0fc1e97a13d28908c28dc245,909cc8fbdfc9c05e447f40e9a73489809602c3cd,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/404,,, 1009936222,PR_kwDOCGYnMM48Mmde,457,closed,0,Link to installation instructions,9599,simonw,Also testing https://docs.readthedocs.io/en/stable/pull-requests.html,2022-07-27T17:38:36Z,2022-08-27T03:55:52Z,2022-07-27T17:57:50Z,2022-07-27T17:57:50Z,77ca051d4f5ddbd42fd6250749efac7ea85ea094,,,8355157,3.29,0,80b3907471f724aeecae75796663815c87731e77,9e6cceac1c0e086429e2d308b700e59cc53a1991,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/457,,, 512545364,MDExOlB1bGxSZXF1ZXN0NTEyNTQ1MzY0,1061,closed,0,.blob output renderer,9599,simonw,"- [x] Remove the `/-/...blob/...` route I added in #1040 in place of the new `.blob` renderer URLs - [x] Link to new `.blob` download links on the arbitrary query page (using `_blob_hash=...`) - plus tests for this Closes #1050, Closes #1051",2020-10-29T20:25:08Z,2020-10-29T22:01:40Z,2020-10-29T22:01:39Z,2020-10-29T22:01:39Z,78b3eeaad9189eb737014f53212082684f4bb0d4,,,6026070,0.51,0,1196d084de6a7a6f68c7705a6cc096bb8df132e3,d6f9ff71378c4eab34dad181c23cfc143a4aef2d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1061,,, 1086765659,PR_kwDOBm6k_c5Axrpb,1842,closed,0,check_visibility can now take multiple permissions into account,9599,simonw,"Refs #1829 - [x] Fix table page - [x] Fix database page - [x] Fix query page - [x] Fix row page - [x] Tests - [x] Updated documentation for `check_visibility` method, to cover the new `permissions=` keyword argument Also this fix is currently only applied on the table page - needs to be applied on database, row and query pages too. ---- :books: Documentation preview :books:: https://datasette--1842.org.readthedocs.build/en/1842/ ",2022-10-14T00:06:04Z,2022-10-24T02:11:36Z,2022-10-24T02:11:36Z,2022-10-24T02:11:34Z,78dad236df730212aa7172f885fd8ec575f0d3ad,,,,,0,362347574e3283d637243906af7d5e028e100180,79aa0de083d38a9975915d5a4cc68ca6c74fbe3d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1842,,, 381666777,MDExOlB1bGxSZXF1ZXN0MzgxNjY2Nzc3,688,closed,0,Don't count rows on homepage for DBs > 100MB,9599,simonw,Closes #649.,2020-02-29T01:01:06Z,2020-02-29T01:08:30Z,2020-02-29T01:08:29Z,2020-02-29T01:08:29Z,7f5a330377fd7db1f6d1efa5686d183bcaf89217,,,,,0,025fdd46f77822c0cbeb7856611c0a65a9b83057,0f8e91c68f2d2ad48efc8324b12762bf8b58facd,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/688,,, 391924509,MDExOlB1bGxSZXF1ZXN0MzkxOTI0NTA5,703,closed,0,WIP implementation of writable canned queries,9599,simonw,Refs #698.,2020-03-21T22:23:51Z,2020-06-03T00:08:14Z,2020-06-02T23:57:35Z,,80c5a74a947e63673389604de12e80fa27305454,,,,,1,61e40e917efc43a8aea5298a22badbb6eaea3fa1,89c4ddd4828623888e91a1d2cb396cba12d4e7b4,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/703,,, 513106026,MDExOlB1bGxSZXF1ZXN0NTEzMTA2MDI2,1069,closed,0,load_template() plugin hook,9599,simonw,Refs #1042,2020-10-30T15:59:45Z,2020-10-30T17:47:20Z,2020-10-30T17:47:19Z,2020-10-30T17:47:19Z,81dea4b07ab2b6f4eaaf248307d2b588472054a1,,,6026070,0.51,0,92f3840882a24da29d0d4073e5ed9d77fce438fc,fcf43589eb6a1f1d0432772a639fd35711c48e0c,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1069,,, 838755826,PR_kwDOBm6k_c4x_mXy,1626,open,0,Try test suite against macOS and Windows,9599,simonw,Refs #1625,2022-02-02T22:26:51Z,2022-02-03T01:22:44Z,,,83958f26a8458a108acb7c3c0a1c8aacb777586a,,,,,0,4b4d0e1ff9e2ee998cbd71abd5f5806f25444ed9,b5e6b1a9e1332fca3effe45d55dd06ee4249f163,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1626,,, 428212421,MDExOlB1bGxSZXF1ZXN0NDI4MjEyNDIx,798,closed,0,CSRF protection,9599,simonw,Refs #793,2020-06-05T04:22:35Z,2020-06-06T00:43:41Z,2020-06-05T19:05:58Z,2020-06-05T19:05:57Z,84a9c4ff75460f91c049bd30bba3cee1fd89d9e2,,,5512395,Datasette 0.44,0,fe43963376b1c44ec23a213277bcb33d98e4aef9,d96ac1d52cacf34bae09705eb8f9a0e3f81c426b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/798,,, 346264926,MDExOlB1bGxSZXF1ZXN0MzQ2MjY0OTI2,67,closed,0,Run tests against 3.5 too,9599,simonw,,2019-11-27T14:20:35Z,2019-12-31T01:29:44Z,2019-12-31T01:29:43Z,,88375b0bc055067b996584f06ed85a9a90c5aa1a,,,,,0,4c6e5a4486e0e17555774eb3279142234a8b4abc,0a0cec3cf27861455e8cd1c4d84937825a18bb30,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/67,,, 1167432070,PR_kwDOBm6k_c5FlZmG,1960,closed,0,Port as many tests as possible to async def tests against ds_client,9599,simonw,"Refs: - #1959 ---- :books: Documentation preview :books:: https://datasette--1960.org.readthedocs.build/en/1960/ ",2022-12-15T21:45:53Z,2022-12-17T21:47:56Z,2022-12-17T21:47:55Z,2022-12-17T21:47:55Z,89cffcf14cda830871c8ee81742eaa1e2dff017b,,,,,0,f42bca8fc2657cecde05eca644c28fac7c28101f,0b68996cc511b3a801f0cd0157bd66332d75f46f,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1960,,, 1155365505,PR_kwDOBm6k_c5E3XqB,1940,closed,0,register_permissions() plugin hook,9599,simonw,"Refs #1939 From this comment: https://github.com/simonw/datasette/issues/1939#issuecomment-1343872168 - [x] Unit test for the registration plugin hook itself - [x] Use them in `check_permission_actions_are_documented` test in `conftest.py` - [x] Add description field to `Permissions` (and update tests and docs) - [x] Documentation for `datasette.permissions` dictionary - [x] If no `default=` provided in call to `permission_allowed()` then use default from `datasette.permissions` list - [x] Remove `default=` from a bunch of places - [x] Throw an error if two permissions are registered with the same name or abbreviation (but other attributes differ) - [x] Update authentication and permissions documentation to explain that permissions are now registered and have a registered default ---- :books: Documentation preview :books:: https://datasette--1940.org.readthedocs.build/en/1940/ ",2022-12-09T05:09:28Z,2022-12-13T02:05:55Z,2022-12-13T02:05:54Z,2022-12-13T02:05:54Z,8bf06a76b51bc9ace7cf72cf0cca8f1da7704ea7,,,8711695, Datasette 1.0a2,0,94e5c75397a96b86a3349123808cd02cb20f7440,e539c1c024bc62d88df91d9107cbe37e7f0fe55f,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1940,,, 340743220,MDExOlB1bGxSZXF1ZXN0MzQwNzQzMjIw,635,closed,0,Use Jinja async mode,9599,simonw,Refs #628. Still needs documentation.,2019-11-14T01:20:57Z,2019-11-14T23:14:23Z,2019-11-14T23:14:23Z,2019-11-14T23:14:22Z,8c642f04e0608bf537fdd1f76d64c2367fb04d57,,,,,0,0e8f8be1dbf89a6f689a5eea4a0534199a0028f6,b51f258d00bb3c3b401f15d46a1fbd50394dbe1c,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/635,,, 193361341,MDExOlB1bGxSZXF1ZXN0MTkzMzYxMzQx,307,closed,0,"Initial sketch of custom URL routing, refs #306",9599,simonw,See #306 for background on this.,2018-06-07T15:26:48Z,2018-06-07T15:29:54Z,2018-06-07T15:29:41Z,,8c6663d3cc8043fc6f5c796275e80b0445bdff12,,,,,0,018af454f286120452e33d2568dd40908474a8a8,a246f476b4fe490f5450836b22961bc607e6b4b0,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/307,,, 337847573,MDExOlB1bGxSZXF1ZXN0MzM3ODQ3NTcz,64,closed,0,test_insert_upsert_all_empty_list,9599,simonw,,2019-11-07T04:24:45Z,2019-11-07T04:32:38Z,2019-11-07T04:32:38Z,2019-11-07T04:32:38Z,8dab9fd1ccf571e188eec9ccf606a0c50fccf200,,,,,0,8daea7f1265ddcce67d28258068a25666954000f,a0a65f9a6405079b01aefdbf4b5f507bc758567a,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/64,,, 1191716406,PR_kwDOBm6k_c5HCCY2,1984,closed,0,Upgrade Sphinx,9599,simonw,"Refs #1971 ---- :books: Documentation preview :books:: https://datasette--1984.org.readthedocs.build/en/1984/ ",2023-01-10T02:00:40Z,2023-01-10T02:02:33Z,2023-01-10T02:02:33Z,2023-01-10T02:02:32Z,8e7073404379d79a2d269167a12bbb58439edd39,,,,,0,0c8b3f5ca1385c804c696f1fa61c24de29ae4755,4880638f13c3a1abc53f395cde39ac848daf416d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1984,,, 499603359,MDExOlB1bGxSZXF1ZXN0NDk5NjAzMzU5,184,closed,0,Test against Python 3.9,9599,simonw,,2020-10-08T01:37:05Z,2020-10-08T01:44:06Z,2020-10-08T01:44:06Z,2020-10-08T01:44:06Z,8e91de8e4edf6c8abeeccdf084b8870fff40a51a,,,,,0,975c05b6dde9feebcdecabc047d47122ebcfdf84,7f4fe9190c1df7f0e72f9d7040327a43cf252c48,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/184,,, 500256485,MDExOlB1bGxSZXF1ZXN0NTAwMjU2NDg1,1000,closed,0,datasette.client internal requests mechanism,9599,simonw,Refs #943,2020-10-08T23:58:25Z,2020-10-09T16:11:26Z,2020-10-09T16:11:25Z,2020-10-09T16:11:25Z,8f97b9b58e77f82fef1f10e9c9f6754b993544b6,9599,simonw,5971510,Datasette 0.50,0,8a80c79deb640bc1a1864132a3564ccca59e8858,7249ac5ca04b5ddc6517750326ee7e522cc49145,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1000,,, 232172106,MDExOlB1bGxSZXF1ZXN0MjMyMTcyMTA2,389,closed,0,Bump dependency versions,9599,simonw,,2018-11-20T02:23:12Z,2019-11-13T19:13:41Z,2019-11-13T19:13:41Z,,9194c0165aef411e0784ba49939b1005306f1f38,,,,,0,f8349b45916e68d2f89c57694bd0e6afaf1bd508,5e3a432a0caa23837fa58134f69e2f82e4f632a6,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/389,,, 300377599,MDExOlB1bGxSZXF1ZXN0MzAwMzc3NTk5,47,closed,0,extracts= table parameter,9599,simonw,Still needs docs. Refs #46,2019-07-23T16:30:29Z,2019-07-23T17:00:43Z,2019-07-23T17:00:43Z,2019-07-23T17:00:43Z,941d281aee6eac20ad64b505511da7e47f697700,,,,,0,1c9d08f75a48b2a3770f2a880462dc8b195289b7,e22cfcd953f967f6e9551b3a048d7c40726f349b,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/47,,, 655684477,MDExOlB1bGxSZXF1ZXN0NjU1Njg0NDc3,1346,closed,0,Re-display user's query with an error message if an error occurs,9599,simonw,Refs #619,2021-05-28T02:04:20Z,2021-06-02T03:46:21Z,2021-06-02T03:46:21Z,2021-06-02T03:46:21Z,9552414e1f968c6fc704031cec349c05e6bc2371,,,,,0,3bffc35ff9137a75024d2a8ef44828a50ec91071,7b106e106000713bbee31b34d694b3dadbd4818c,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1346,,, 753513062,PR_kwDOBm6k_c4s6bJm,1481,closed,0,Fix compatibility with Python 3.10,9599,simonw,,2021-10-07T20:34:23Z,2021-10-24T22:19:55Z,2021-10-24T22:19:54Z,2021-10-24T22:19:54Z,96a823f2834a262ae97a90ebfb6847f14763c415,,,,,0,50005bd2d36219c3ae8b6220d38df918459a1812,63886178a649586b403966a27a45881709d2b868,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1481,,, 295065796,MDExOlB1bGxSZXF1ZXN0Mjk1MDY1Nzk2,544,closed,0,--plugin-secret option,9599,simonw,"Refs #543 - [x] Zeit Now v1 support - [x] Solve escaping of ENV in Dockerfile - [x] Heroku support - [x] Unit tests - [x] Cloud Run support - [x] Documentation ",2019-07-06T22:18:20Z,2019-07-08T02:06:31Z,2019-07-08T02:06:31Z,2019-07-08T02:06:31Z,973f8f139df6ad425354711052cfc2256de2e522,,,4471010,Datasette 0.29,0,ccf80604e931fba1893b5bab11de386fed82009e,fcfcae21e67cc15090942b1d2a47b5f016279337,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/544,,, 429613893,MDExOlB1bGxSZXF1ZXN0NDI5NjEzODkz,809,closed,0,Publish secrets,9599,simonw,Refs #787. Will need quite a bit of manual testing since this involves code which runs against Heroku and Cloud Run.,2020-06-07T02:00:31Z,2020-06-11T16:02:13Z,2020-06-11T16:02:03Z,2020-06-11T16:02:03Z,98632f0a874b7b9dac6abf0abb9fdb7e2839a4d3,,,5512395,Datasette 0.44,0,abdac31328646705a957d58429b88d185ef43ded,ce4958018ede00fbdadf0c37a99889b6901bfb9b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/809,,, 490607949,MDExOlB1bGxSZXF1ZXN0NDkwNjA3OTQ5,161,closed,0,table.transform() method,9599,simonw,"Refs #114 - [x] Ability to change the primary key - [x] Support for changing default value for columns - [x] Support for changing `NOT NULL` status of columns - [x] Support for copying existing foreign keys and removing them - Support for `conversions=` parameter - [x] Detailed documentation - [x] `PRAGMA foreign_keys` stuff",2020-09-21T23:16:59Z,2020-09-22T07:48:24Z,2020-09-22T04:20:02Z,2020-09-22T04:20:02Z,987dd123f2ac43c5ab66d69e59d454fe09660606,,,5897911,2.20,0,dc3eb9c313502832c07f4de889aa60c373f45b52,ef882986d07f157b6bcc6be3d7b64270fda3e523,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/161,,, 560760145,MDExOlB1bGxSZXF1ZXN0NTYwNzYwMTQ1,1204,open,0,WIP: Plugin includes,9599,simonw,"Refs #1191 Next steps: - [ ] Get comfortable that this pattern is the right way to go - [ ] Implement it for all of the other pages, not just the table page - [ ] Add a new set of plugin tests that exercise ALL of these new hook locations - [ ] Document, then ship",2021-01-25T03:59:06Z,2021-12-17T07:10:49Z,,,98f06a766317a40035962416cf3211d7a374866a,,,,,1,05258469ae39bcaad17beb57c5b7eeab0d58a589,07e163561592c743e4117f72102fcd350a600909,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1204,,, 188312411,MDExOlB1bGxSZXF1ZXN0MTg4MzEyNDEx,261,closed,0,Facets improvements plus suggested facets,9599,simonw,Refs #255,2018-05-16T03:52:39Z,2018-05-16T15:27:26Z,2018-05-16T15:27:25Z,2018-05-16T15:27:25Z,9959a9e4deec8e3e178f919e8b494214d5faa7fd,,,,,0,af0e91e7769891949198fb1e1760886424f34b16,2b79f2bdeb1efa86e0756e741292d625f91cb93d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/261,,, 292879204,MDExOlB1bGxSZXF1ZXN0MjkyODc5MjA0,32,closed,0,db.add_foreign_keys() method,9599,simonw,"Refs #31. Still TODO: - [x] Unit tests - [x] Documentation",2019-06-28T15:40:33Z,2019-06-29T06:27:39Z,2019-06-29T06:27:39Z,2019-06-29T06:27:39Z,997d8758fc8992be93d5984556e5b9e3bad4205f,,,,,0,fc81588cc31df58374c996884c67cedd98a06f4a,86bd2bba689e25f09551d611ccfbee1e069e5b66,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/32,,, 301824097,MDExOlB1bGxSZXF1ZXN0MzAxODI0MDk3,51,closed,0,"Fix for too many SQL variables, closes #50",9599,simonw,,2019-07-28T11:30:30Z,2019-07-28T11:59:32Z,2019-07-28T11:59:32Z,2019-07-28T11:59:32Z,9cb045284ede8009c12abdb1755b5b20f6ccff5f,,,,,0,0c1b8b7f96be874bb63801f69323960f277aa49a,9b7be79c86b4283f24a64f62257c918f12542997,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/51,,, 269364924,MDExOlB1bGxSZXF1ZXN0MjY5MzY0OTI0,426,closed,0,Upgrade to Jinja2==2.10.1,9599,simonw,"https://nvd.nist.gov/vuln/detail/CVE-2019-10906 This is only a security issue of concern if evaluating templates from untrusted sources, which isn't something I would ever expect a Datasette user to do.",2019-04-10T23:03:08Z,2019-04-22T21:23:22Z,2019-04-10T23:13:31Z,2019-04-10T23:13:31Z,9cd3b44277e6a8ea9273bf659379ff0414e0b8ae,,,,,0,629453383c7f911eddfc891f22c39b7d6e9661aa,78e45ead4d771007c57b307edf8fc920101f8733,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/426,,, 357992588,MDExOlB1bGxSZXF1ZXN0MzU3OTkyNTg4,72,closed,0,Fixed implementation of upsert,9599,simonw,Refs #66,2019-12-30T05:08:05Z,2019-12-30T05:29:24Z,2019-12-30T05:29:24Z,2019-12-30T05:29:24Z,9f47e8b9a4cb788b48b76aee1333c6f3baaebbd6,,,,,0,ab8a4bda75fc59871ba8445c6a0fb2332483029c,dc0a62556ec092be7b341c5220e0410354f7cd02,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/72,,, 308292447,MDExOlB1bGxSZXF1ZXN0MzA4MjkyNDQ3,55,closed,0,Ability to introspect and run queries against views,9599,simonw,See #54 ,2019-08-17T13:40:56Z,2019-08-23T12:19:42Z,2019-08-23T12:19:42Z,2019-08-23T12:19:42Z,9faa98222669723d31e918bb16a42c13c363817f,,,,,0,4441d6d838fd7518ce715184361f549a04ec8b70,0e7b461eb3e925aef713206c15794ceae9259c57,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/55,,, 195339111,MDExOlB1bGxSZXF1ZXN0MTk1MzM5MTEx,311,closed,0,"?_labels=1 to expand foreign keys (in csv and json), refs #233",9599,simonw,"Output looks something like this: { ""rowid"": 233, ""TreeID"": 121240, ""qLegalStatus"": { ""value"" 2, ""label"": ""Private"" } ""qSpecies"": { ""value"": 16, ""label"": ""Sycamore"" } ""qAddress"": ""91 Commonwealth Ave"", ... }",2018-06-16T16:31:12Z,2018-06-16T22:20:31Z,2018-06-16T22:20:31Z,,9fe59e54ad65eb1c8239b1a78edb5219d3ab8ab0,,,,,0,40287b1ba09d6e75f0db1458fe78d8c055f128af,d0a578c0fc07b9d9208cd9de981bdf7385a26c49,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/311,,, 379192258,MDExOlB1bGxSZXF1ZXN0Mzc5MTkyMjU4,683,closed,0,.execute_write() and .execute_write_fn() methods on Database,9599,simonw,"See #682 - [x] Come up with design for `.execute_write()` and `.execute_write_fn()` - [x] Build some quick demo plugins to exercise the design - [x] Write some unit tests - [x] Write the documentation",2020-02-24T19:51:58Z,2020-05-30T18:40:20Z,2020-02-25T04:45:08Z,2020-02-25T04:45:08Z,a093c5f79fa034a97d2ad8b606745dd3b80365af,,,3268330,Datasette 1.0,0,ec6e2edfe18446c9d77e3f30efbc299d27ea5c1b,411056c4c43e74f2b3d0e3bc1175e7998516b1b3,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/683,,, 241418443,MDExOlB1bGxSZXF1ZXN0MjQxNDE4NDQz,392,closed,0,Fix some regex DeprecationWarnings,9599,simonw,,2018-12-29T02:10:28Z,2018-12-29T02:22:28Z,2018-12-29T02:22:28Z,2018-12-29T02:22:28Z,a2bfcfc1b1c60dac3526364af17c2fa2f3d41a0a,,,,,0,d245982aedaf7c54bf41d60ea7f0e0cf419c2b2f,eac08f0dfc61a99e8887442fc247656d419c76f8,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/392,,, 294400446,MDExOlB1bGxSZXF1ZXN0Mjk0NDAwNDQ2,539,closed,0,Secret plugin configuration options,9599,simonw,Refs #538 ,2019-07-04T03:21:20Z,2019-07-04T05:36:45Z,2019-07-04T05:36:45Z,2019-07-04T05:36:45Z,a2d45931935f6bb73605a94afedf9e78308c95d6,,,,,0,fd6164b03ebe450a9a00df2e5be2dc7bbfbd9a3f,f0d32da0a9af87bcb15e34e35424f0c0053be83a,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/539,,, 880373442,PR_kwDOBm6k_c40eW7C,1659,closed,0,Tilde encoding,9599,simonw,Refs #1657,2022-03-15T16:19:07Z,2022-03-15T18:01:58Z,2022-03-15T18:01:57Z,2022-03-15T18:01:57Z,a35393b29cfb5b8abdc6a94e577af1c9a5c13652,,,,,0,99b8263806e81028af169f400352c26e5473ab44,c10cd48baf106659bf3f129ad7bfb2226be73821,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1659,,, 598213565,MDExOlB1bGxSZXF1ZXN0NTk4MjEzNTY1,1271,open,0,Use SQLite conn.interrupt() instead of sqlite_timelimit(),9599,simonw,"Refs #1270, #1268, #1249 Before merging this I need to do some more testing (to make sure that expensive queries really are properly cancelled). I also need to delete a bunch of code relating to the old mechanism of cancelling queries. [See comment below: this doesn't actually cancel the query due to a thread-local confusion]",2021-03-22T17:34:20Z,2021-03-22T21:49:27Z,,,a4fd7e5a761523881c031b4fee266a366e1c97bd,,,,,1,fb2ad7ada0b86a7fe4a576fe23236757c41eb05e,c4f1ec7f33fd7d5b93f0f895dafb5351cc3bfc5b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1271,,, 662557240,MDExOlB1bGxSZXF1ZXN0NjYyNTU3MjQw,1357,closed,0,Make custom pages compatible with base_url setting,9599,simonw,Refs #1238.,2021-06-05T18:54:39Z,2021-06-05T18:59:54Z,2021-06-05T18:59:54Z,2021-06-05T18:59:54Z,a63412152518581c6a3d4e142b937e27dabdbfdb,,,,,0,1b27643d7bd192e1d2cc52e36ada0021c3f76bb8,6e9b07be92905011211d8df7a872fb7c1f2737b2,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1357,,, 801798514,PR_kwDOBm6k_c4vynly,1554,closed,0,TableView refactor,9599,simonw,"I'm starting a PR with almost nothing in it so I can use the GitHub code commenting feature to add a bunch of comments to the code I intend to refactor. Related issues: - #617 - #715 - #870 - #1518",2021-12-13T23:16:04Z,2021-12-20T23:52:11Z,2021-12-20T23:52:04Z,,a68545f9a4c3b3a68259be5c03abfc9ad7710875,,,,,0,1d08b46412410837f987c606b2307a121fa2641a,a6ff123de5464806441f6a6f95145c9a83b7f20b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1554,,, 838724548,PR_kwDOBm6k_c4x_evE,1622,closed,0,Test against Python 3.11-dev,9599,simonw,Refs #1621,2022-02-02T21:39:38Z,2022-02-02T21:58:53Z,2022-02-02T21:58:53Z,2022-02-02T21:58:53Z,a9d8824617268c4d214dd3be2174ac452044f737,,,,,0,fbaf317ab723482e971688cda72ce51825bcf4d7,8d5779acf0041cfd0db7f68f468419f9008b86ec,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1622,,, 804924636,PR_kwDOBm6k_c4v-izc,1559,closed,0,"filters_from_request plugin hook, now used in TableView",9599,simonw,"New plugin hook, refs #473 Used it to extract the logic from TableView that handles _search and _through and _where - refs #1518",2021-12-16T23:59:33Z,2021-12-17T23:09:41Z,2021-12-17T19:02:15Z,2021-12-17T19:02:15Z,aa7f0037a46eb76ae6fe9bf2a1f616c58738ecdf,,,,,0,71af58d9392d42f45506cbc2370c1e9994126f63,0663d5525cc41e9260ac7d1f6386d3a6eb5ad2a9,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1559,,, 426891471,MDExOlB1bGxSZXF1ZXN0NDI2ODkxNDcx,796,closed,0,New WIP writable canned queries,9599,simonw,"Refs #698. Replaces #703 Still todo: - [x] Unit tests - ~~Figure out `.json` mode~~ - [x] Flash message solution - ~~CSRF protection~~ - [x] Better error message display on errors - [x] Documentation - ~~Maybe widgets?~~ I'll do these later",2020-06-03T00:08:00Z,2020-06-03T15:16:52Z,2020-06-03T15:16:50Z,2020-06-03T15:16:50Z,aa82d0370463580f2cb10d9617f1bcbe45cc994a,,,3268330,Datasette 1.0,0,e164939de719b5930ca4972e20490c9b2fd37f6d,9690ce606823bbfceb0c50d59e03adf7bb1a8475,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/796,,, 208719043,MDExOlB1bGxSZXF1ZXN0MjA4NzE5MDQz,361,closed,0," Import pysqlite3 if available, closes #360 ",9599,simonw,,2018-08-16T00:52:21Z,2018-08-16T00:58:57Z,2018-08-16T00:58:57Z,2018-08-16T00:58:57Z,aae49fef3b75848628d824077ec063834e3e5167,,,,,0,da41daa168af8f29a1beb5278aed833cf3dc48ce,e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/361,,, 758569502,PR_kwDOBm6k_c4tNtoe,1490,closed,0,Upgrade to httpx 0.20,9599,simonw,Refs #1488 ,2021-10-14T17:51:05Z,2021-10-14T18:03:45Z,2021-10-14T18:03:44Z,2021-10-14T18:03:44Z,b267b5775436577a91a9f9655143908aecff05da,,,,,0,e0332d1f4788a561492965a09ef83fe122fd3d8c,2a8c6690399ee832ee62aafdede1794f5945d911,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1490,,, 181755220,MDExOlB1bGxSZXF1ZXN0MTgxNzU1MjIw,212,closed,0,New --plugins-dir=plugins/ option,9599,simonw,Refs #211,2018-04-16T05:19:28Z,2018-04-16T05:22:18Z,2018-04-16T05:22:01Z,2018-04-16T05:22:01Z,b2955d9065ea019500c7d072bcd9d49d1967f051,,,,,0,33c6bcadb962457be6b0c7f369826b404e2bcef5,92396ae5bacedfcb3d7c81319ccdd04483fd7fd4,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/212,,, 329890320,MDExOlB1bGxSZXF1ZXN0MzI5ODkwMzIw,599,closed,0,Fix for /foo v.s. /foo-bar issue in #597,9599,simonw,Refs #597,2019-10-18T19:22:55Z,2019-10-18T22:51:07Z,2019-10-18T22:51:07Z,2019-10-18T22:51:07Z,b647b5efc29300f715ba656e41b0591f342938e1,,,,,0,8cc5a8dc35371f7d4353a4206b2d079f520c61cd,b6ad1fdc7068cb8248787843e7438d1f19fa2e3a,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/599,,, 270251021,MDExOlB1bGxSZXF1ZXN0MjcwMjUxMDIx,432,closed,0,"Refactor facets to a class and new plugin, refs #427",9599,simonw,WIP for #427,2019-04-13T20:04:45Z,2019-05-03T00:04:24Z,2019-05-03T00:04:24Z,,b78bc19269ed83b054a60c79c4fe08f4ca943942,,,,,0,5c198f7ca5d2aff49180820271ba8d06b79aefb1,9c77e6e355ec718d76178a7607721d10a66b6aef,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/432,,, 468370658,MDExOlB1bGxSZXF1ZXN0NDY4MzcwNjU4,936,closed,0,Don't hang in db.execute_write_fn() if connection fails,9599,simonw,Refs #935,2020-08-15T22:20:12Z,2020-08-15T22:35:33Z,2020-08-15T22:35:32Z,2020-08-15T22:35:32Z,b86f94883b1d827f85b07009e8346b8e9c6eeefa,,,,,0,94a68b95a21f29526d66e88bf5ea524a3efcc609,13b3b51087964d5e1a8c1cdd2495e07bdbe176b8,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/936,,, 293962405,MDExOlB1bGxSZXF1ZXN0MjkzOTYyNDA1,533,closed,0,"Support cleaner custom templates for rows and tables, closes #521",9599,simonw,"- [x] Rename `_rows_and_columns.html` to `_table.html` - [x] Unit test - [x] Documentation",2019-07-03T00:40:18Z,2019-07-03T03:23:06Z,2019-07-03T03:23:06Z,2019-07-03T03:23:06Z,b9ede4c1898616512b5d204f9c941deff473cbe4,,,,,0,1add905532b7bc4f681318b8f22b9b74cca2b2a0,76882830548e16905348ee75acb0044cb8e1fd20,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/533,,, 1034576054,PR_kwDOBm6k_c49qmC2,1792,closed,0,Test `--load-extension` in GitHub Actions,9599,simonw,"Refs: - #1789 ---- :books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/ ",2022-08-23T18:43:29Z,2022-08-24T00:11:46Z,2022-08-24T00:11:45Z,2022-08-24T00:11:45Z,ba35105eee2d3ba620e4f230028a02b2e2571df2,,,,,0,f61cfb77056e2ee39ae827889c005b1e44c81165,456dc155d491a009942ace71a4e1827cddc6b93d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1792,,, 290897104,MDExOlB1bGxSZXF1ZXN0MjkwODk3MTA0,518,closed,0,Port Datasette from Sanic to ASGI + Uvicorn,9599,simonw,"Most of the code here was fleshed out in comments on #272 (Port Datasette to ASGI) - this pull request will track the final pieces: - [x] Update test harness to more correctly simulate the `raw_path` issue - [x] Use `raw_path` so table names containing `/` can work correctly - [x] Bug: JSON not served with correct content-type - [x] Get ?_trace=1 working again - [x] Replacement for `@app.listener(""before_server_start"")` - [x] Bug: `/fixtures/table%2Fwith%2Fslashes.csv?_format=json` downloads as CSV - [x] Replace Sanic request and response objects with my own classes, so I can remove Sanic dependency - [x] Final code tidy-up before merging to master",2019-06-23T15:18:42Z,2019-06-24T13:42:50Z,2019-06-24T03:13:09Z,2019-06-24T03:13:09Z,ba8db9679f3bd2454c9e76e7e6c352126848b57a,9599,simonw,3268330,Datasette 1.0,0,b794554a26ddc81bd772c4422d80d5ee863e92b0,35429f90894321eda7f2db31b9ea7976f31f73ac,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/518,,, 1029373779,PR_kwDOCGYnMM49Wv9T,466,closed,0,Use Read the Docs action v1 (#463),9599,simonw,"Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1`",2022-08-17T23:11:50Z,2022-08-17T23:11:54Z,2022-08-17T23:11:54Z,2022-08-17T23:11:54Z,bb90d3326815a041512b40bf0cf53b3ace06cd67,,,,,0,83e7339255e811c62e6db8498c483c44a84d0f28,72655adabc596a9eed43cc11c07177a390791068,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/466,,, 270191084,MDExOlB1bGxSZXF1ZXN0MjcwMTkxMDg0,430,closed,0,"?_where= parameter on table views, closes #429",9599,simonw,,2019-04-13T01:15:09Z,2019-04-13T01:37:23Z,2019-04-13T01:37:23Z,2019-04-13T01:37:23Z,bc6a9b45646610f362b4287bc4110440991aa4d6,,,,,0,3ee087c7b60da7ec3e5d2f73611fc6ea99ff82fc,e11cb4c66442abca2a6b6159521a6cf4da8739c1,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/430,,, 691707409,MDExOlB1bGxSZXF1ZXN0NjkxNzA3NDA5,1397,closed,0,"Fix for race condition in refresh_schemas(), closes #1231",9599,simonw,,2021-07-16T19:44:43Z,2021-07-16T19:45:00Z,2021-07-16T19:44:58Z,2021-07-16T19:44:58Z,c00f29affcafce8314366852ba1a0f5a7dd25690,,,,,0,bf2453ab7cb876c91edab3df59b7f398df2f9727,dd5ee8e66882c94343cd3f71920878c6cfd0da41,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1397,,, 180188397,MDExOlB1bGxSZXF1ZXN0MTgwMTg4Mzk3,196,closed,0,_sort= and _sort_desc= parameters to table view,9599,simonw,See #189 ,2018-04-09T00:07:21Z,2018-04-09T05:10:29Z,2018-04-09T05:10:23Z,2018-04-09T05:10:23Z,c1d37fdf2be84fb07155bb1b1f61057444b03300,,,,,0,fdd6b71e40c8aa9a93e95802a8b6291099d4db2c,b2188f044265c95f7e54860e28107c17d2a6ed2e,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/196,,, 729731441,MDExOlB1bGxSZXF1ZXN0NzI5NzMxNDQx,326,closed,0,Test against 3.10-dev,9599,simonw,"This tests against the latest 3.10 RC, https://www.python.org/downloads/release/python-3100rc2/",2021-09-08T15:01:15Z,2021-10-13T21:49:28Z,2021-10-13T21:49:28Z,,c563260408e1b802cbbc81ec7c1e398350a1ca3a,,,,,0,078a08765d8aefa5ce376a03b2643d4ebe1aa57e,77c240df56068341561e95e4a412cbfa24dc5bc7,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/326,,, 297459797,MDExOlB1bGxSZXF1ZXN0Mjk3NDU5Nzk3,40,closed,0,.get() method plus support for compound primary keys,9599,simonw,"- [x] Tests for the `NotFoundError` exception - [x] Documentation for `.get()` method - [x] Support `--pk` multiple times to define CLI compound primary keys - [x] Documentation for compound primary keys",2019-07-15T03:43:13Z,2019-07-15T04:28:57Z,2019-07-15T04:28:52Z,2019-07-15T04:28:52Z,c65b67ca46f70e2da46a5b945f4ed358173262e9,,,,,0,b5a5df6d0ed47f33f6e1b4873948ead9a7c71060,65b2156d9cc0aa6b5c3dc7a6bd600d98b281a13b,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/40,,, 300580221,MDExOlB1bGxSZXF1ZXN0MzAwNTgwMjIx,8,closed,0,Use less RAM,9599,simonw,Closes #7,2019-07-24T06:35:01Z,2019-07-24T06:35:52Z,2019-07-24T06:35:52Z,2019-07-24T06:35:52Z,c8392df78ee3e1643d18b747a4abf585d84d5d88,,,,,0,6261500b01274a739176480774e82b31f2926e7f,5d7e14d40d5a4cfd133ca5faa442312f607784c5,MEMBER,197882382,healthkit-to-sqlite,https://github.com/dogsheep/healthkit-to-sqlite/pull/8,,, 329324368,MDExOlB1bGxSZXF1ZXN0MzI5MzI0MzY4,24,closed,0,Tweet source extraction and new migration system,9599,simonw,Closes #12 and #23,2019-10-17T15:24:56Z,2019-10-17T15:49:29Z,2019-10-17T15:49:24Z,2019-10-17T15:49:24Z,c9295233f219c446fa2085cace987067488a31b9,,,,,0,39f822a624685e321dbca8a4318741dd1e42548b,619f724a722b3f23f4364f67d3164b93e8ba2a70,MEMBER,206156866,twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/pull/24,,, 296735320,MDExOlB1bGxSZXF1ZXN0Mjk2NzM1MzIw,557,closed,0,Get tests running on Windows using Travis CI,9599,simonw,Refs #511,2019-07-11T16:36:57Z,2021-07-10T23:39:48Z,2021-07-10T23:39:48Z,,cddb9a9fecfa25147d80df05f1a6d6e1686ca30d,,,,,0,47b5ab43be87217c4e40ad93b8aa2e9639fa371f,f2006cca80040871439055ae6ccbc14e589bdf4b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/557,,, 421491810,MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw,768,closed,0,Use dirs_exist_ok=True,9599,simonw,Refs #744,2020-05-21T17:53:44Z,2020-05-27T20:21:56Z,2020-05-21T17:53:51Z,2020-05-21T17:53:51Z,cee671a58f417f827d1735b1abaa40716534ea67,,,5471110,Datasette 0.43,0,f2e0a558238a34dc482803762de2509474a178c6,faea5093b865031f650da7da6539430f732f511a,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/768,,, 511868153,MDExOlB1bGxSZXF1ZXN0NTExODY4MTUz,1060,closed,0,New explicit versioning mechanism,9599,simonw,"- Remove all references to versioneer - Re-implement versioning to use a static string baked into the repo - Ensure that string is output by `datasette --version` and `/-/versions` Refs #1054",2020-10-28T22:14:55Z,2020-10-29T03:38:17Z,2020-10-29T03:38:16Z,2020-10-29T03:38:16Z,cefd058c1c216a184bb63c79abba66893977c18e,,,6026070,0.51,0,4725d46780783e9875bde5957f053ba19cf92ff0,abcf0222496d8148b2e585ffa0ff192270a04b06,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1060,,, 481616704,MDExOlB1bGxSZXF1ZXN0NDgxNjE2NzA0,151,closed,0,Tracer mechanism for seeing underlying SQL,9599,simonw,"Refs #150. Needs tests and documentation, including for the new `db.execute()` and `db.executescript()` methods.",2020-09-07T19:46:43Z,2020-09-07T21:57:00Z,2020-09-07T21:57:00Z,2020-09-07T21:57:00Z,cf2cb244faf992118f34aa196387a4ef8b39a20f,,,,,0,dc82bf371911d01ac140f40ea99d06d2daee507e,3e87500e1561f5c4e105cd026d33e0f715cc7dea,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/151,,, 339722790,MDExOlB1bGxSZXF1ZXN0MzM5NzIyNzkw,627,closed,0,"Support Python 3.8, stop supporting Python 3.5",9599,simonw,Refs #622,2019-11-12T04:36:33Z,2020-04-05T10:23:58Z,2019-11-12T05:09:12Z,2019-11-12T05:09:12Z,cf7776d36fbacefa874cbd6e5fcdc9fff7661203,,,,,0,18cc795b5c6ec9223a5cbc4f30b19710c17f7eaa,42ee3e16a9ba7cc513b8da944cc1609a5407cf42,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/627,,, 434055752,MDExOlB1bGxSZXF1ZXN0NDM0MDU1NzUy,844,closed,0,Action to run tests and upload coverage report,9599,simonw,Refs #843,2020-06-13T20:52:47Z,2020-06-13T21:36:52Z,2020-06-13T21:36:50Z,2020-06-13T21:36:50Z,cf7a2bdb404734910ec07abc7571351a2d934828,,,,,0,1210d9f41841bdca450f85a2342cdb0ff339c1b4,80c18a18fc444b89cc12b73599d56e091f3a3c87,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/844,,, 297243073,MDExOlB1bGxSZXF1ZXN0Mjk3MjQzMDcz,559,closed,0,Bump to uvicorn 0.8.4,9599,simonw,"https://github.com/encode/uvicorn/commits/0.8.4 Query strings will now be included in log files: https://github.com/encode/uvicorn/pull/384",2019-07-12T22:30:29Z,2019-07-13T22:34:58Z,2019-07-13T22:34:58Z,2019-07-13T22:34:58Z,d224ee2c98ac39c2c6e21a0ac0c62e5c3e1ccd11,,,,,0,029e3d53634cc38690d5b56427a3c87851a61b09,f2006cca80040871439055ae6ccbc14e589bdf4b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/559,,, 1358254580,PR_kwDOCGYnMM5Q9VH0,546,closed,0,"Analyze tables options: --common-limit, --no-most, --no-least",9599,simonw,"Refs #544 - [x] Documentation for CLI options - [x] Documentation for new Python API parameters: `most_common: bool` and `least_common: bool` - [x] Tests for CLI - [x] Tests for Python API",2023-05-21T15:54:39Z,2023-05-21T16:19:30Z,2023-05-21T16:19:30Z,2023-05-21T16:19:30Z,d2a7b15b2b930fe384e1f1715fc4af23386f4935,,,,,0,2eca17d46eca2cff52c78553085ec64d9029c969,e047cc32e9d5de7025d4d3c16554d4290f4bd3d1,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/546,,, 515014883,MDExOlB1bGxSZXF1ZXN0NTE1MDE0ODgz,195,closed,0,table.search() improvements plus sqlite-utils search command,9599,simonw,Refs #192. Still needs tests.,2020-11-03T22:02:08Z,2020-11-06T18:30:49Z,2020-11-06T18:30:42Z,2020-11-06T18:30:42Z,d411fba1f4124047429ac9d1175a04b36bf5bee9,,,,,0,973d94d44f27d35d856fe1cc822f9d5d40e4b5e6,59d8689ed0e6e042d99fd650896def680ca3c657,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/195,,, 712412883,MDExOlB1bGxSZXF1ZXN0NzEyNDEyODgz,1434,open,0,Enrich arbitrary query results with foreign key links and column descriptions,9599,simonw,"Refs #1293, follows #942.",2021-08-13T14:43:01Z,2021-08-19T21:18:58Z,,,d4d4f5566b1d43075cb52ded5d19a9dcf4350761,,,,,0,281c0872d5b8a462c9d7b2b2d77a924da4ed25a7,2883098770fc66e50183b2b231edbde20848d4d6,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1434,,, 882973374,PR_kwDOBm6k_c40oRq-,1664,closed,0,Remove hashed URL mode,9599,simonw,Refs #1661.,2022-03-17T23:19:10Z,2022-03-19T00:12:04Z,2022-03-19T00:12:04Z,2022-03-19T00:12:03Z,d4f60c2388c01ddce1b16f95c16d310e037c9912,,,,,0,eae91fe8c2934c8674f5202b2d9f85b6f674c410,30e5f0e67c38054a8087a2a4eae3fc4d1779af90,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1664,,, 716262829,MDExOlB1bGxSZXF1ZXN0NzE2MjYyODI5,1444,closed,0,Ability to deploy demos of branches,9599,simonw,See #1442.,2021-08-19T21:08:04Z,2021-08-19T21:09:44Z,2021-08-19T21:09:39Z,2021-08-19T21:09:39Z,d84e574e59c51ddcd6cf60a6f9b3d45182daf824,,,,,0,75f9fe6d6bc642ce5587dd74eed70064c11868be,adb5b70de5cec3c3dd37184defe606a082c232cf,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1444,,, 1358321208,PR_kwDOCGYnMM5Q9lY4,553,closed,0,Reformatted CLI examples in docs,9599,simonw,"Refs: - #551 ---- :books: Documentation preview :books:: https://sqlite-utils--553.org.readthedocs.build/en/553/ ",2023-05-21T20:44:34Z,2023-05-21T20:57:27Z,2023-05-21T20:57:23Z,2023-05-21T20:57:22Z,d8fe1b0d899faaaa3d4714a39328f4c24932278f,,,,,0,21036a5084a2c846a05feb6bced3111d849bbe3c,e240133b11588d31dc22c632f7a7ca636c72978d,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/553,,, 339742432,MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy,630,closed,0,Use python:3.8 base Docker image,9599,simonw,Closes #629,2019-11-12T06:02:37Z,2019-11-12T06:03:10Z,2019-11-12T06:03:10Z,2019-11-12T06:03:10Z,d977fbadf70a96bf2eea1407d01f99d98e092dec,,,,,0,53180ec09483bd4eef00346a39b302aeb3039e7d,f554be39fc14ddc18921ca29d3920d55aad03d46,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/630,,, 1212277427,PR_kwDOBm6k_c5IQeKz,1999,closed,0,?_extra= support (draft),9599,simonw,"Refs: - #262 ---- :books: Documentation preview :books:: https://datasette--1999.org.readthedocs.build/en/1999/ ",2023-01-21T04:55:18Z,2023-03-22T22:49:41Z,2023-03-22T22:49:40Z,2023-03-22T22:49:40Z,d97e82df3c8a3f2e97038d7080167be9bb74a68d,,,,,0,69a31cd5b61f0b62938efdeec5972090f1a1a508,56b0758a5fbf85d01ff80a40c9b028469d7bb65f,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1999,,, 424085264,MDExOlB1bGxSZXF1ZXN0NDI0MDg1MjY0,772,closed,0,Test that plugin hooks are unit tested,9599,simonw,Refs #771,2020-05-27T20:01:32Z,2020-05-27T20:21:56Z,2020-05-27T20:16:03Z,2020-05-27T20:16:02Z,da87e963bff24e47878a5bc2025c8bfc63d4bc93,,,5471110,Datasette 0.43,0,173b6947521f1c1b47a119f62f379bf4278c87c9,41a0cd7b6afe0397efbbf27ad822679fc574811a,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/772,,, 335980246,MDExOlB1bGxSZXF1ZXN0MzM1OTgwMjQ2,8,closed,0,"stargazers command, refs #4",9599,simonw,Needs tests. Refs #4.,2019-11-03T00:37:36Z,2020-05-02T20:00:27Z,2020-05-02T20:00:26Z,,db25bdf8cee4c3e2d730cf269eb9a903b51cdb41,,,,,0,ea07274667a08c67907e8bfbbccb6f0fb95ce817,ae9035f8fe5aff1c54bff4c6b4c2e808a44f0f2a,MEMBER,207052882,github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/pull/8,,, 204029142,MDExOlB1bGxSZXF1ZXN0MjA0MDI5MTQy,349,closed,0,"publish_subcommand hook + default plugins mechanism, used for publish heroku/now",9599,simonw,"This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the ""datasette publish"" command family. I've used this new hook to refactor out the ""publish now"" and ""publish heroku"" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new ""default_plugins"" list inside datasette/app.py Closes #217 (Plugin support for ""datasette publish"") Closes #348 (Unit tests for ""datasette publish"") Refs #14, #59, #102, #103, #146, #236, #347",2018-07-26T05:03:22Z,2018-07-26T05:28:54Z,2018-07-26T05:16:00Z,2018-07-26T05:16:00Z,dbbe707841973b50a76d2703003ae2c40e7ad1fd,,,,,0,7abdfd55daa9c617da02fd768b8e7476e89f0f94,3ac21c749881d0fb1c35b0f9b7a819e29f61c5c1,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/349,,, 1365439700,PR_kwDOBm6k_c5RYvTU,2080,closed,0,New View base class,9599,simonw,"Refs: - #2078 TODO: - [x] Teach router layer how to handle this - [x] Use it for something ---- :books: Documentation preview :books:: https://datasette--2080.org.readthedocs.build/en/2080/ ",2023-05-25T23:22:55Z,2023-05-26T00:18:45Z,2023-05-26T00:18:44Z,2023-05-26T00:18:44Z,dda99fc09fb0b5523948f6d481c6c051c1c7b5de,,,,,0,e990fbc00ef36c022986432e7706b3ad1c9c68a1,b49fa446d683ddcaf6faf2944dacc0d866bf2d70,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/2080,,, 466410755,MDExOlB1bGxSZXF1ZXN0NDY2NDEwNzU1,927,closed,0,"'datasette --get' option, refs #926",9599,simonw,"Refs #926, #898",2020-08-11T23:31:52Z,2020-08-12T00:24:42Z,2020-08-12T00:24:41Z,2020-08-12T00:24:41Z,e139a7619f63d45ca2ff1ee108b933e17b5675b3,,,,,0,2111da01a03cfc62303b6a4b59ea9f96d22c0f78,83eda049af3f38d4289118d3576f96b2535084b1,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/927,,, 206863803,MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz,358,closed,0,"Bump versions of pytest, pluggy and beautifulsoup4",9599,simonw,,2018-08-08T00:44:38Z,2018-08-08T01:11:13Z,2018-08-08T01:11:13Z,2018-08-08T01:11:13Z,e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5,,,,,0,848ed0e0420d2e8c95a96b4cf73082da4c65d8f6,fe5b6ea95a973534fe8a44907c0ea2449aae7602,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/358,,, 410469272,MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy,746,closed,0,"shutil.Error, not OSError",9599,simonw,Refs #744,2020-04-29T03:30:51Z,2020-04-29T07:07:24Z,2020-04-29T07:07:23Z,,e4e8b51b50e51b2515c6d8874d16c4607f79b80a,,,,,0,af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7,89c4ddd4828623888e91a1d2cb396cba12d4e7b4,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/746,,, 511005542,MDExOlB1bGxSZXF1ZXN0NTExMDA1NTQy,1056,closed,0,"Radical new colour scheme and base styles, courtesy of @natbat",9599,simonw,,2020-10-27T19:31:48Z,2020-10-27T19:39:57Z,2020-10-27T19:39:56Z,2020-10-27T19:39:56Z,e5f5034bcdc71e4bc62a6a155ca60eb41910c335,,,6026070,0.51,0,a7b2aabd5148c0ee382b583de68a4f0538f7dfb1,26bb4a268127da2c38f4241abe45444b2a6f7874,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1056,,, 255658112,MDExOlB1bGxSZXF1ZXN0MjU1NjU4MTEy,12,closed,0,"Support for numpy types, closes #11",9599,simonw,,2019-02-24T03:57:32Z,2019-02-24T04:02:20Z,2019-02-24T04:02:20Z,2019-02-24T04:02:20Z,e615d22c5564ea1f32abb086088b2700110be10a,,,,,0,7c20e60685088d6da0739749305215790ca8375a,c5068a0972651b3e359ebc2d6c1486b8b7d2c242,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/12,,, 369394043,MDExOlB1bGxSZXF1ZXN0MzY5Mzk0MDQz,80,closed,0,on_create mechanism for after table creation,9599,simonw,"I need this for `geojson-to-sqlite`, in particular https://github.com/simonw/geojson-to-sqlite/issues/6",2020-01-31T03:38:48Z,2020-01-31T05:08:04Z,2020-01-31T05:08:04Z,,e6dc95d19348e72b28b42e73a18737cb2e4563e0,,,,,0,45bf0c25492c276bde0b85868ffb55f169375bd7,f7289174e66ae4d91d57de94bbd9d09fabf7aff4,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/80,,, 711783616,MDExOlB1bGxSZXF1ZXN0NzExNzgzNjE2,1430,closed,0,Column metadata,9599,simonw,"Refs #942 Still needs: - [x] Tests - [x] Documentation",2021-08-12T23:34:39Z,2021-08-12T23:53:23Z,2021-08-12T23:53:23Z,2021-08-12T23:53:23Z,e837095ef35ae155b4c78cc9a8b7133a48c94f03,,,,,0,941994725dd41deb6f839c5063cff5d15d4abb1c,b1fed48a95516ae84c0f020582303ab50ab817e2,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1430,,, 329947180,MDExOlB1bGxSZXF1ZXN0MzI5OTQ3MTgw,601,closed,0,Don't auto-format SQL on page load,9599,simonw,Refs #600,2019-10-18T22:37:39Z,2019-10-20T02:29:49Z,2019-10-18T23:56:45Z,2019-10-18T23:56:45Z,e877b1cb12076946fdbec7ca2fbfbfc75c1c2a28,,,,,0,3a963734590caa3ad69bfe64c31690f3e4de61a4,b6ad1fdc7068cb8248787843e7438d1f19fa2e3a,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/601,,, 369348084,MDExOlB1bGxSZXF1ZXN0MzY5MzQ4MDg0,78,closed,0,"New conversions= feature, refs #77",9599,simonw,,2020-01-31T00:02:33Z,2020-09-22T07:48:29Z,2020-01-31T00:24:31Z,2020-01-31T00:24:31Z,e8b2b7383bd94659d3b7a857a1414328bc48bc19,,,,,0,58190d67821aaa57c8ca0320a08e3691d6e27344,59a2e8ebdcbde7e6fb091b0556713ca5a20ea4e7,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/78,,, 518988879,MDExOlB1bGxSZXF1ZXN0NTE4OTg4ODc5,1085,closed,0,Use FTS4 in fixtures,9599,simonw,Refs #1081,2020-11-11T06:44:30Z,2020-11-12T00:02:59Z,2020-11-12T00:02:58Z,2020-11-12T00:02:58Z,e8e0a6f284ca953b2980186c4356594c07bd1929,,,,,0,51e7651c66aaf1804274ce68a6b5218bbba76338,2a981e2ac1d13125973904b777d00ea75e8df4e6,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1085,,, 293117183,MDExOlB1bGxSZXF1ZXN0MjkzMTE3MTgz,34,closed,0,sqlite-utils index-foreign-keys / db.index_foreign_keys(),9599,simonw,"Refs #33 - [x] `sqlite-utils index-foreign-keys` command - [x] `db.index_foreign_keys()` method - [x] unit tests - [x] documentation",2019-06-30T16:43:40Z,2019-06-30T23:50:55Z,2019-06-30T23:50:55Z,2019-06-30T23:50:54Z,e8f887ef4a0977243811b90bc2ce9aed9d2c206a,,,,,0,d82b000e3d55067516e2ce42f131cf4695e80dca,0fe3b38290e1bb2d92746d90318d8662b57218bd,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/34,,, 275558612,MDExOlB1bGxSZXF1ZXN0Mjc1NTU4NjEy,445,closed,0,"Extract facet code out into a new plugin hook, closes #427",9599,simonw,"Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI.",2019-05-03T00:02:41Z,2019-05-03T18:17:18Z,2019-05-03T00:11:27Z,2019-05-03T00:11:27Z,ea66c45df96479ef66a89caa71fff1a97a862646,,,,,0,1b47d4d8736627c260eb4e8303e552b0e9620a01,efc93b8ab5a21e3802f75f08d5e41409f5684b5d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/445,,, 925807233,PR_kwDOCGYnMM43LrKB,429,closed,0,Depend on click-default-group-wheel,9599,simonw,"Trying to get this to work with Pyodide. Refs: https://github.com/simonw/click-default-group-wheel/issues/3",2022-05-02T18:03:10Z,2022-05-02T18:52:42Z,2022-05-02T18:05:00Z,2022-05-02T18:05:00Z,ed6fd516082e8cc83b199798f62dd67728a6974f,,,,,0,4a02dcf265702a4f11eed943bf8feaa502c590d5,e3a14c33a033b0c2fc00f2470666caaf9027e446,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/429,,, 572209243,MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz,1222,closed,0,"--ssl-keyfile and --ssl-certfile, refs #1221",9599,simonw,,2021-02-12T00:45:58Z,2021-02-12T00:52:18Z,2021-02-12T00:52:17Z,2021-02-12T00:52:17Z,eda652cf6ee28a0babfb30ce3834512e9e33fb8e,,,,,0,8ec72ea3e3e0a9876d5e61e4a2260224f16db2e3,aa1fe0692c2abb901216738bfb35f9fcc5090e7d,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1222,,, 293994443,MDExOlB1bGxSZXF1ZXN0MjkzOTk0NDQz,536,closed,0,"Switch to ~= dependencies, closes #532",9599,simonw,,2019-07-03T04:12:16Z,2019-07-03T04:32:55Z,2019-07-03T04:32:55Z,2019-07-03T04:32:55Z,f0d32da0a9af87bcb15e34e35424f0c0053be83a,,,,,0,391d109dc3f9230dc4ee4afd20041e480e90e739,4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/536,,, 651492888,MDExOlB1bGxSZXF1ZXN0NjUxNDkyODg4,1339,closed,0,?_col=/?_nocol= to show/hide columns on the table page,9599,simonw,"See #615. Still to do: - [x] Allow combination of `?_col=` and `?_nocol=` (`_nocol` wins) - [x] Deduplicate same column if passed in `?_col=` multiple times - [x] Validate that user did not try to remove a primary key - [x] Add tests - [x] Ensure this works correctly for SQL views - [x] Add documentation ",2021-05-24T17:15:20Z,2021-05-27T04:17:44Z,2021-05-27T04:17:43Z,2021-05-27T04:17:43Z,f1c29fd6a184254aa68efadf096bcf21e848f921,,,,,0,387c8379b92e559180098f73017a1bf2e6370205,2bd9d54b2762c991e11950c22c88c0336158d49b,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1339,,, 1015320511,PR_kwDOCGYnMM48hI-_,460,closed,0,Cross-link CLI to Python docs,9599,simonw,"Work in progress, partly to test the ReadTheDocs preview link action. Refs: - #426 ---- :books: Documentation preview :books:: https://readthedocs-preview--460.org.readthedocs.build/en/460/ ",2022-08-02T16:18:28Z,2022-08-18T21:58:10Z,2022-08-18T21:58:07Z,2022-08-18T21:58:07Z,f4fb78fa95057fbc86c734020835a3155695297f,,,,,0,f21f4ccf7197e7a0ac8c2eb5086659fc3eb5bc05,1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/460,,, 573147168,MDExOlB1bGxSZXF1ZXN0NTczMTQ3MTY4,233,closed,0,"Run tests against Ubuntu, macOS and Windows",9599,simonw,Refs #232,2021-02-14T20:11:02Z,2021-02-14T20:39:54Z,2021-02-14T20:39:54Z,2021-02-14T20:39:54Z,f51a1f6c3cb2929bcf79cb4efe3b2a9886d9c25c,,,,,0,deb01a8913441e7fedb53c52a3a9fdff274ddbd2,320f3ac33a83b32f89559ef0c162b7eca428a278,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/233,,, 1406821147,PR_kwDOCGYnMM5T2mMb,560,closed,0,Use sqlean if available in environment,9599,simonw,"Refs: - #559 ---- :books: Documentation preview :books:: https://sqlite-utils--560.org.readthedocs.build/en/560/ ",2023-06-25T19:48:48Z,2023-06-26T08:21:00Z,2023-06-25T23:25:51Z,2023-06-25T23:25:51Z,f5c63088e1454811ce8361208b72297408eb5237,,,,,0,5e7d27e5df024ce1f45e3a850c4e0f65e765cccd,2747257a3334d55e890b40ec58fada57ae8cfbfd,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/560,,, 431478724,MDExOlB1bGxSZXF1ZXN0NDMxNDc4NzI0,819,closed,0,register_routes() plugin hook,9599,simonw,Refs #215,2020-06-09T01:20:44Z,2020-06-09T03:12:08Z,2020-06-09T03:12:07Z,2020-06-09T03:12:07Z,f5e79adf26d0daa3831e3fba022f1b749a9efdee,,,5512395,Datasette 0.44,0,18127f074efc1b0148d1098da063e51ccea7797c,647c5ff0f3e8140f40d7f41f0874ce4e1f4df65c,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/819,,, 791153878,PR_kwDOCGYnMM4vKAzW,347,open,0,Test against pysqlite3 running SQLite 3.37,9599,simonw,Refs #346 and #344.,2021-11-29T23:17:57Z,2021-12-11T01:02:19Z,,,f70a61e58ae62e53af74ab48d742bdc335131fbd,,,,,0,1a7ef2fe2064ace01d5535fb771f941296fb642a,213a0ff177f23a35f3b235386366ff132eb879f1,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/347,,, 490703173,MDExOlB1bGxSZXF1ZXN0NDkwNzAzMTcz,166,closed,0,Keyword only arguments for transform(),9599,simonw,Refs #165,2020-09-22T05:41:44Z,2020-09-22T06:39:11Z,2020-09-22T06:39:11Z,2020-09-22T06:39:10Z,f8e10df00eae209fb0a1ea03384d9153f673a3ec,,,,,0,f8648cac3a6dda90578a1536cdae44d145633a2c,987dd123f2ac43c5ab66d69e59d454fe09660606,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/166,,, 1029360106,PR_kwDOCGYnMM49Wsnq,465,closed,0,beanbag-docutils>=2.0,9599,simonw,Refs #464,2022-08-17T22:41:39Z,2022-08-17T23:38:07Z,2022-08-17T23:38:02Z,2022-08-17T23:38:02Z,f8ffac8787e299a62c99ed1ce914cd5ace84ad94,,,,,0,bb90d3326815a041512b40bf0cf53b3ace06cd67,45e24deffea042b5db7ab84cd1eb63b3ed9bb9da,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/465,,, 154246816,MDExOlB1bGxSZXF1ZXN0MTU0MjQ2ODE2,145,closed,0,Fix pytest version conflict,9599,simonw,"https://travis-ci.org/simonw/datasette/jobs/305929426 pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages), Requirement.parse('pytest==3.2.3'))",2017-11-22T20:15:34Z,2017-11-22T20:17:54Z,2017-11-22T20:17:52Z,2017-11-22T20:17:52Z,f96e55bce55d26c4d5b198edc536e1b8e9bbea43,,,,,0,e319478c4a34fb5afbff2b2a8c3b9ef9f859bb10,fa8eb0bf1b113ab17ede9cd107b7c3bd5cde39c3,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/145,,, 510956134,MDExOlB1bGxSZXF1ZXN0NTEwOTU2MTM0,190,closed,0,Progress bar for sqlite-utils insert command,9599,simonw,Refs #173,2020-10-27T18:08:53Z,2020-10-27T18:16:03Z,2020-10-27T18:16:03Z,2020-10-27T18:16:03Z,f99a23652910b03ac4669bbbb35a9b484451aabb,,,,,0,62d678122a251812cd650845705ca7b9efcef86d,c7e5dd64513c0ec2b2df4c51c8df924c282417f9,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/190,,, 782105066,PR_kwDOBm6k_c4unfnq,1512,closed,0,New pattern for async view classes,9599,simonw,Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism.,2021-11-16T21:55:44Z,2021-11-17T01:39:54Z,2021-11-17T01:39:44Z,,fb57d4474cb1fdaef260e244b1b6f470f1992e40,,,,,1,8f757da0750fe7f27b4ed3839bc3ef3650832ad9,0156c6b5e52d541e93f0d68e9245f20ae83bc933,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1512,,, 195413241,MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx,315,closed,0,Streaming mode for downloading all rows as a CSV,9599,simonw,Refs #266,2018-06-18T03:06:59Z,2018-06-18T03:29:13Z,2018-06-18T03:21:02Z,2018-06-18T03:21:02Z,fc3660cfad7668dbce6ead12766e048fc1f78b11,,,,,0,b15f412e04ce9ff21983986e661fbe4396f97b43,0d7ba1ba676828dc7c8dda78ebe7921f7986fc18,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/315,,, 294992578,MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4,542,closed,0,extra_template_vars plugin hook,9599,simonw,Refs #541,2019-07-05T22:19:17Z,2019-07-06T00:05:57Z,2019-07-06T00:05:56Z,2019-07-06T00:05:56Z,fcfcae21e67cc15090942b1d2a47b5f016279337,,,,,0,e81c7abb40c8ecf8d9d23cbcdde045e0a3b4ab14,a18e0964ecd04593f227616538a80dee08768057,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/542,,, 757797315,PR_kwDOCGYnMM4tKxHD,330,closed,0,Test against Python 3.10,9599,simonw,,2021-10-13T21:50:22Z,2021-11-15T02:59:29Z,2021-10-13T22:25:05Z,2021-10-13T22:25:05Z,fda4dad23a0494890267fbe8baf179e2b56ee914,,,,,0,fc3de90963b6b097826d36f6a24c46267659dcf2,718a8f61bcaed39c04d5d223104056213f8c8516,OWNER,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/330,,, 560725714,MDExOlB1bGxSZXF1ZXN0NTYwNzI1NzE0,1203,closed,0,Easier way to run Prettier locally,9599,simonw,Refs #1167,2021-01-25T01:39:06Z,2021-01-25T01:41:46Z,2021-01-25T01:41:46Z,2021-01-25T01:41:46Z,ffff3a4c5398a9f40b61d59736f386444da19289,,,,,0,98acc8865aa7826a40a7a076ab548ba8597af734,b6a7b58fa01af0cd5a5e94bd17d686d283a46819,OWNER,107914493,datasette,https://github.com/simonw/datasette/pull/1203,,,