id,node_id,number,state,locked,title,user,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,milestone,draft,head,base,author_association,repo,url,merged_by,auto_merge 205770996,MDExOlB1bGxSZXF1ZXN0MjA1NzcwOTk2,1,closed,0,Make .indexes compatible with older SQLite versions,9599,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,https://github.com/simonw/sqlite-utils/pull/1,, 247576942,MDExOlB1bGxSZXF1ZXN0MjQ3NTc2OTQy,4,closed,0,Fts5,9599,,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,https://github.com/simonw/sqlite-utils/pull/4,, 247861419,MDExOlB1bGxSZXF1ZXN0MjQ3ODYxNDE5,5,closed,0,Run Travis tests against Python 3.8-dev,9599,,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,https://github.com/simonw/sqlite-utils/pull/5,, 300580221,MDExOlB1bGxSZXF1ZXN0MzAwNTgwMjIx,8,closed,0,Use less RAM,9599,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,https://github.com/dogsheep/healthkit-to-sqlite/pull/8,, 335980246,MDExOlB1bGxSZXF1ZXN0MzM1OTgwMjQ2,8,closed,0,"stargazers command, refs #4",9599,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,https://github.com/dogsheep/github-to-sqlite/pull/8,, 255658112,MDExOlB1bGxSZXF1ZXN0MjU1NjU4MTEy,12,closed,0,"Support for numpy types, closes #11",9599,,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,https://github.com/simonw/sqlite-utils/pull/12,, 327051673,MDExOlB1bGxSZXF1ZXN0MzI3MDUxNjcz,15,closed,0,"twitter-to-sqlite import command, refs #4",9599,,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,https://github.com/dogsheep/twitter-to-sqlite/pull/15,, 329324368,MDExOlB1bGxSZXF1ZXN0MzI5MzI0MzY4,24,closed,0,Tweet source extraction and new migration system,9599,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,https://github.com/dogsheep/twitter-to-sqlite/pull/24,, 292879204,MDExOlB1bGxSZXF1ZXN0MjkyODc5MjA0,32,closed,0,db.add_foreign_keys() method,9599,"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,https://github.com/simonw/sqlite-utils/pull/32,, 372273608,MDExOlB1bGxSZXF1ZXN0MzcyMjczNjA4,33,closed,0,Upgrade to sqlite-utils 2.2.1,9599,,2020-02-07T07:32:12Z,2020-03-20T19:21:42Z,2020-03-20T19:21:41Z,,5338f6baab3ec1424431133968d8b64a656ce4c4,,,0,08f51271d6309aad698b9e8a7587fcebbbd67781,35c18a09fa664324dcb75e5e58ccb90644456d02,MEMBER,206156866,https://github.com/dogsheep/twitter-to-sqlite/pull/33,, 293117183,MDExOlB1bGxSZXF1ZXN0MjkzMTE3MTgz,34,closed,0,sqlite-utils index-foreign-keys / db.index_foreign_keys(),9599,"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,https://github.com/simonw/sqlite-utils/pull/34,, 297412464,MDExOlB1bGxSZXF1ZXN0Mjk3NDEyNDY0,38,closed,0,table.update() method,9599,"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,https://github.com/simonw/sqlite-utils/pull/38,, 297459797,MDExOlB1bGxSZXF1ZXN0Mjk3NDU5Nzk3,40,closed,0,.get() method plus support for compound primary keys,9599,"- [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,https://github.com/simonw/sqlite-utils/pull/40,, 300286535,MDExOlB1bGxSZXF1ZXN0MzAwMjg2NTM1,45,closed,0,"Implemented table.lookup(...), closes #44",9599,,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,https://github.com/simonw/sqlite-utils/pull/45,, 300377599,MDExOlB1bGxSZXF1ZXN0MzAwMzc3NTk5,47,closed,0,extracts= table parameter,9599,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,https://github.com/simonw/sqlite-utils/pull/47,, 301824097,MDExOlB1bGxSZXF1ZXN0MzAxODI0MDk3,51,closed,0,"Fix for too many SQL variables, closes #50",9599,,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,https://github.com/simonw/sqlite-utils/pull/51,, 303990683,MDExOlB1bGxSZXF1ZXN0MzAzOTkwNjgz,53,closed,0,Work in progress: m2m() method for creating many-to-many records,9599,"- [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,https://github.com/simonw/sqlite-utils/pull/53,, 308292447,MDExOlB1bGxSZXF1ZXN0MzA4MjkyNDQ3,55,closed,0,Ability to introspect and run queries against views,9599,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,https://github.com/simonw/sqlite-utils/pull/55,, 313383317,MDExOlB1bGxSZXF1ZXN0MzEzMzgzMzE3,60,closed,0,db.triggers and table.triggers introspection,9599,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,https://github.com/simonw/sqlite-utils/pull/60,, 337847573,MDExOlB1bGxSZXF1ZXN0MzM3ODQ3NTcz,64,closed,0,test_insert_upsert_all_empty_list,9599,,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,https://github.com/simonw/sqlite-utils/pull/64,, 337853394,MDExOlB1bGxSZXF1ZXN0MzM3ODUzMzk0,65,closed,0,Release 1.12.1,9599,,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,https://github.com/simonw/sqlite-utils/pull/65,, 346264926,MDExOlB1bGxSZXF1ZXN0MzQ2MjY0OTI2,67,closed,0,Run tests against 3.5 too,9599,,2019-11-27T14:20:35Z,2019-12-31T01:29:44Z,2019-12-31T01:29:43Z,,88375b0bc055067b996584f06ed85a9a90c5aa1a,,,0,4c6e5a4486e0e17555774eb3279142234a8b4abc,0a0cec3cf27861455e8cd1c4d84937825a18bb30,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/67,, 357992588,MDExOlB1bGxSZXF1ZXN0MzU3OTkyNTg4,72,closed,0,Fixed implementation of upsert,9599,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,https://github.com/simonw/sqlite-utils/pull/72,, 369348084,MDExOlB1bGxSZXF1ZXN0MzY5MzQ4MDg0,78,closed,0,"New conversions= feature, refs #77",9599,,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,https://github.com/simonw/sqlite-utils/pull/78,, 369394043,MDExOlB1bGxSZXF1ZXN0MzY5Mzk0MDQz,80,closed,0,on_create mechanism for after table creation,9599,"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,https://github.com/simonw/sqlite-utils/pull/80,, 153432045,MDExOlB1bGxSZXF1ZXN0MTUzNDMyMDQ1,118,closed,0,Foreign key information on row and table pages,9599,,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,https://github.com/simonw/datasette/pull/118,, 154246816,MDExOlB1bGxSZXF1ZXN0MTU0MjQ2ODE2,145,closed,0,Fix pytest version conflict,9599,"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,https://github.com/simonw/datasette/pull/145,, 481616704,MDExOlB1bGxSZXF1ZXN0NDgxNjE2NzA0,151,closed,0,Tracer mechanism for seeing underlying SQL,9599,"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,https://github.com/simonw/sqlite-utils/pull/151,, 490607949,MDExOlB1bGxSZXF1ZXN0NDkwNjA3OTQ5,161,closed,0,table.transform() method,9599,"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,0,dc3eb9c313502832c07f4de889aa60c373f45b52,ef882986d07f157b6bcc6be3d7b64270fda3e523,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/161,, 490703173,MDExOlB1bGxSZXF1ZXN0NDkwNzAzMTcz,166,closed,0,Keyword only arguments for transform(),9599,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,https://github.com/simonw/sqlite-utils/pull/166,, 157365811,MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx,168,closed,0,Upgrade to Sanic 0.7.0,9599,,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,https://github.com/simonw/datasette/pull/168,, 492257405,MDExOlB1bGxSZXF1ZXN0NDkyMjU3NDA1,174,closed,0,"Much, much faster extract() implementation",9599,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,https://github.com/simonw/sqlite-utils/pull/174,, 499603359,MDExOlB1bGxSZXF1ZXN0NDk5NjAzMzU5,184,closed,0,Test against Python 3.9,9599,,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,https://github.com/simonw/sqlite-utils/pull/184,, 510956134,MDExOlB1bGxSZXF1ZXN0NTEwOTU2MTM0,190,closed,0,Progress bar for sqlite-utils insert command,9599,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,https://github.com/simonw/sqlite-utils/pull/190,, 179108961,MDExOlB1bGxSZXF1ZXN0MTc5MTA4OTYx,192,closed,0,New ?_shape=objects/object/lists param for JSON API,9599,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,https://github.com/simonw/datasette/pull/192,, 515014883,MDExOlB1bGxSZXF1ZXN0NTE1MDE0ODgz,195,closed,0,table.search() improvements plus sqlite-utils search command,9599,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,https://github.com/simonw/sqlite-utils/pull/195,, 180188397,MDExOlB1bGxSZXF1ZXN0MTgwMTg4Mzk3,196,closed,0,_sort= and _sort_desc= parameters to table view,9599,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,https://github.com/simonw/datasette/pull/196,, 537791675,MDExOlB1bGxSZXF1ZXN0NTM3NzkxNjc1,208,closed,0,sqlite-utils analyze-tables command and table.analyze_column() method,9599,"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,https://github.com/simonw/sqlite-utils/pull/208,, 181731956,MDExOlB1bGxSZXF1ZXN0MTgxNzMxOTU2,210,closed,0,"Start of the plugin system, based on pluggy",9599,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,https://github.com/simonw/datasette/pull/210,, 181755220,MDExOlB1bGxSZXF1ZXN0MTgxNzU1MjIw,212,closed,0,New --plugins-dir=plugins/ option,9599,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,https://github.com/simonw/datasette/pull/212,, 182357613,MDExOlB1bGxSZXF1ZXN0MTgyMzU3NjEz,222,closed,0,Fix for plugins in Python 3.5,9599,,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,https://github.com/simonw/datasette/pull/222,, 573147168,MDExOlB1bGxSZXF1ZXN0NTczMTQ3MTY4,233,closed,0,"Run tests against Ubuntu, macOS and Windows",9599,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,https://github.com/simonw/sqlite-utils/pull/233,, 185307407,MDExOlB1bGxSZXF1ZXN0MTg1MzA3NDA3,246,closed,0,?_shape=array and _timelimit=,9599,,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,https://github.com/simonw/datasette/pull/246,, 187668890,MDExOlB1bGxSZXF1ZXN0MTg3NjY4ODkw,257,closed,0,Refactor views,9599,"* 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,https://github.com/simonw/datasette/pull/257,, 188312411,MDExOlB1bGxSZXF1ZXN0MTg4MzEyNDEx,261,closed,0,Facets improvements plus suggested facets,9599,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,https://github.com/simonw/datasette/pull/261,, 657373726,MDExOlB1bGxSZXF1ZXN0NjU3MzczNzI2,262,closed,0,Ability to add descending order indexes,9599,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,https://github.com/simonw/sqlite-utils/pull/262,, 671014751,MDExOlB1bGxSZXF1ZXN0NjcxMDE0NzUx,273,closed,0,sqlite-utils memory command for directly querying CSV/JSON data,9599,"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,https://github.com/simonw/sqlite-utils/pull/273,, 677554929,MDExOlB1bGxSZXF1ZXN0Njc3NTU0OTI5,293,closed,0,Test against Python 3.10-dev,9599,,2021-06-25T01:40:39Z,2021-10-13T21:49:33Z,2021-10-13T21:49:33Z,,0f64d20b044ecb86d9e4e5843f9590006d2f39c2,,,0,ae0f46a78958c0118e98c2ab18bd1b57a0478326,747be6057d09a4e5d9d726e29d5cf99b10c59dea,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/293,, 700944644,MDExOlB1bGxSZXF1ZXN0NzAwOTQ0NjQ0,303,closed,0,sqlite-utils convert command and db[table].convert(...) method,9599,"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,https://github.com/simonw/sqlite-utils/pull/303,, 193361341,MDExOlB1bGxSZXF1ZXN0MTkzMzYxMzQx,307,closed,0,"Initial sketch of custom URL routing, refs #306",9599,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,https://github.com/simonw/datasette/pull/307,, 195339111,MDExOlB1bGxSZXF1ZXN0MTk1MzM5MTEx,311,closed,0,"?_labels=1 to expand foreign keys (in csv and json), refs #233",9599,"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,https://github.com/simonw/datasette/pull/311,, 707490789,MDExOlB1bGxSZXF1ZXN0NzA3NDkwNzg5,312,closed,0,Add reference page to documentation using Sphinx autodoc,9599,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,https://github.com/simonw/sqlite-utils/pull/312,, 195413241,MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx,315,closed,0,Streaming mode for downloading all rows as a CSV,9599,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,https://github.com/simonw/datasette/pull/315,, 719109709,MDExOlB1bGxSZXF1ZXN0NzE5MTA5NzA5,321,closed,0,"Ability to insert file contents as text, in addition to blob",9599,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,https://github.com/simonw/sqlite-utils/pull/321,, 196628304,MDExOlB1bGxSZXF1ZXN0MTk2NjI4MzA0,324,closed,0,Speed up Travis by reusing pip wheel cache across builds,9599,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,https://github.com/simonw/datasette/pull/324,, 729731441,MDExOlB1bGxSZXF1ZXN0NzI5NzMxNDQx,326,closed,0,Test against 3.10-dev,9599,"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,https://github.com/simonw/sqlite-utils/pull/326,, 757797315,PR_kwDOCGYnMM4tKxHD,330,closed,0,Test against Python 3.10,9599,,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,https://github.com/simonw/sqlite-utils/pull/330,, 201075532,MDExOlB1bGxSZXF1ZXN0MjAxMDc1NTMy,341,closed,0,Bump aiohttp to fix compatibility with Python 3.7,9599,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,https://github.com/simonw/datasette/pull/341,, 204029142,MDExOlB1bGxSZXF1ZXN0MjA0MDI5MTQy,349,closed,0,"publish_subcommand hook + default plugins mechanism, used for publish heroku/now",9599,"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,https://github.com/simonw/datasette/pull/349,, 204851511,MDExOlB1bGxSZXF1ZXN0MjA0ODUxNTEx,353,closed,0,render_cell(value) plugin hook,9599,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,https://github.com/simonw/datasette/pull/353,, 206863803,MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz,358,closed,0,"Bump versions of pytest, pluggy and beautifulsoup4",9599,,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,https://github.com/simonw/datasette/pull/358,, 208719043,MDExOlB1bGxSZXF1ZXN0MjA4NzE5MDQz,361,closed,0," Import pysqlite3 if available, closes #360 ",9599,,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,https://github.com/simonw/datasette/pull/361,, 815164865,PR_kwDOCGYnMM4wlm3B,361,closed,0,--lines and --text and --convert and --import,9599,"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,https://github.com/simonw/sqlite-utils/pull/361,, 816927546,PR_kwDOCGYnMM4wsVM6,367,closed,0,Initial prototype of .analyze() methods,9599,Refs #366,2022-01-08T21:35:12Z,2022-01-10T19:31:08Z,2022-01-10T19:31:08Z,,2ffcbed6787523649dd676985f3ea70a62944764,,7558727,1,9848eaa61b43de0ddb74ff6d085bcb18f4640f91,a8f9cc6f64f299830834428509940d448b82b4ed,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/367,, 817257851,PR_kwDOCGYnMM4wtl17,377,closed,0,`sqlite-utils bulk` command,9599,"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,0,f4ea0d32c0543373eefaa9b9f3911eb07549eecb,b6dad08a8389736b7e960cfe9bc719cfc21a98f5,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/377,, 232172106,MDExOlB1bGxSZXF1ZXN0MjMyMTcyMTA2,389,closed,0,Bump dependency versions,9599,,2018-11-20T02:23:12Z,2019-11-13T19:13:41Z,2019-11-13T19:13:41Z,,9194c0165aef411e0784ba49939b1005306f1f38,,,0,f8349b45916e68d2f89c57694bd0e6afaf1bd508,5e3a432a0caa23837fa58134f69e2f82e4f632a6,OWNER,107914493,https://github.com/simonw/datasette/pull/389,, 241418443,MDExOlB1bGxSZXF1ZXN0MjQxNDE4NDQz,392,closed,0,Fix some regex DeprecationWarnings,9599,,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,https://github.com/simonw/datasette/pull/392,, 247923347,MDExOlB1bGxSZXF1ZXN0MjQ3OTIzMzQ3,404,closed,0,Experiment: run Jinja in async mode,9599,"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,https://github.com/simonw/datasette/pull/404,, 250628275,MDExOlB1bGxSZXF1ZXN0MjUwNjI4Mjc1,407,closed,0,Heroku --include-vcs-ignore,9599,"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,https://github.com/simonw/datasette/pull/407,, 261418285,MDExOlB1bGxSZXF1ZXN0MjYxNDE4Mjg1,416,closed,0,URL hashing now optional: turn on with --config hash_urls:1 (#418),9599,,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,https://github.com/simonw/datasette/pull/416,, 269364924,MDExOlB1bGxSZXF1ZXN0MjY5MzY0OTI0,426,closed,0,Upgrade to Jinja2==2.10.1,9599,"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,https://github.com/simonw/datasette/pull/426,, 925807233,PR_kwDOCGYnMM43LrKB,429,closed,0,Depend on click-default-group-wheel,9599,"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,https://github.com/simonw/sqlite-utils/pull/429,, 270191084,MDExOlB1bGxSZXF1ZXN0MjcwMTkxMDg0,430,closed,0,"?_where= parameter on table views, closes #429",9599,,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,https://github.com/simonw/datasette/pull/430,, 270251021,MDExOlB1bGxSZXF1ZXN0MjcwMjUxMDIx,432,closed,0,"Refactor facets to a class and new plugin, refs #427",9599,WIP for #427,2019-04-13T20:04:45Z,2019-05-03T00:04:24Z,2019-05-03T00:04:24Z,,b78bc19269ed83b054a60c79c4fe08f4ca943942,,,0,5c198f7ca5d2aff49180820271ba8d06b79aefb1,9c77e6e355ec718d76178a7607721d10a66b6aef,OWNER,107914493,https://github.com/simonw/datasette/pull/432,, 275558612,MDExOlB1bGxSZXF1ZXN0Mjc1NTU4NjEy,445,closed,0,"Extract facet code out into a new plugin hook, closes #427",9599,"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,https://github.com/simonw/datasette/pull/445,, 275801463,MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz,447,closed,0,Use dist: xenial and python: 3.7 on Travis,9599,,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,https://github.com/simonw/datasette/pull/447,, 275861559,MDExOlB1bGxSZXF1ZXN0Mjc1ODYxNTU5,449,closed,0,Apply black to everything,9599,"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,https://github.com/simonw/datasette/pull/449,, 1009936222,PR_kwDOCGYnMM48Mmde,457,closed,0,Link to installation instructions,9599,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,0,80b3907471f724aeecae75796663815c87731e77,9e6cceac1c0e086429e2d308b700e59cc53a1991,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/457,, 1015320511,PR_kwDOCGYnMM48hI-_,460,closed,0,Cross-link CLI to Python docs,9599,"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,https://github.com/simonw/sqlite-utils/pull/460,, 1015591301,PR_kwDOCGYnMM48iLGF,462,closed,0,Discord badge,9599,"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,https://github.com/simonw/sqlite-utils/pull/462,, 1029360106,PR_kwDOCGYnMM49Wsnq,465,closed,0,beanbag-docutils>=2.0,9599,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,https://github.com/simonw/sqlite-utils/pull/465,, 1029373779,PR_kwDOCGYnMM49Wv9T,466,closed,0,Use Read the Docs action v1 (#463),9599,"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,https://github.com/simonw/sqlite-utils/pull/466,, 1034485141,PR_kwDOCGYnMM49qP2V,468,closed,0,"db[table].create(..., transform=True) and create-table --transform",9599,"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,0,2f6a64f61d561df821d737719941c678dcb1a03c,c5f8a2eb1a81a18b52825cc649112f71fe419b12,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/468,, 1038565427,PR_kwDOCGYnMM4950Az,473,closed,0,Support entrypoints for `--load-extension`,9599,"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,https://github.com/simonw/sqlite-utils/pull/473,, 284390197,MDExOlB1bGxSZXF1ZXN0Mjg0MzkwMTk3,497,closed,0,Upgrade pytest to 4.6.1,9599,,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,https://github.com/simonw/datasette/pull/497,, 285698310,MDExOlB1bGxSZXF1ZXN0Mjg1Njk4MzEw,501,closed,0,Test against Python 3.8-dev using Travis,9599,,2019-06-06T08:37:53Z,2019-11-11T03:23:29Z,2019-11-11T03:23:29Z,,1aac0cf0ab962060dd5cff19b8b179bb7fa0f00b,,,0,a5defb684fcc734f6325ca08beef9f49c3e7a298,5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945,OWNER,107914493,https://github.com/simonw/datasette/pull/501,, 290897104,MDExOlB1bGxSZXF1ZXN0MjkwODk3MTA0,518,closed,0,Port Datasette from Sanic to ASGI + Uvicorn,9599,"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,3268330,0,b794554a26ddc81bd772c4422d80d5ee863e92b0,35429f90894321eda7f2db31b9ea7976f31f73ac,OWNER,107914493,https://github.com/simonw/datasette/pull/518,, 290971295,MDExOlB1bGxSZXF1ZXN0MjkwOTcxMjk1,524,closed,0,"Sort commits using isort, refs #516",9599,Also added a lint unit test to ensure they stay sorted. #516,2019-06-24T05:04:48Z,2023-08-23T01:31:08Z,2023-08-23T01:31:08Z,,4e92ebe00a058e02b2d7543cff60ac2f78aa97c7,,,0,dafae70ee7f74ce79b541a94385172be3ad0de83,cdd24f3eaa207f67d948c1876725b0f84654a623,OWNER,107914493,https://github.com/simonw/datasette/pull/524,, 293962405,MDExOlB1bGxSZXF1ZXN0MjkzOTYyNDA1,533,closed,0,"Support cleaner custom templates for rows and tables, closes #521",9599,"- [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,https://github.com/simonw/datasette/pull/533,, 293992382,MDExOlB1bGxSZXF1ZXN0MjkzOTkyMzgy,535,closed,0,"Added asgi_wrapper plugin hook, closes #520",9599,,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,https://github.com/simonw/datasette/pull/535,, 293994443,MDExOlB1bGxSZXF1ZXN0MjkzOTk0NDQz,536,closed,0,"Switch to ~= dependencies, closes #532",9599,,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,https://github.com/simonw/datasette/pull/536,, 294400446,MDExOlB1bGxSZXF1ZXN0Mjk0NDAwNDQ2,539,closed,0,Secret plugin configuration options,9599,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,https://github.com/simonw/datasette/pull/539,, 294992578,MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4,542,closed,0,extra_template_vars plugin hook,9599,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,https://github.com/simonw/datasette/pull/542,, 295065796,MDExOlB1bGxSZXF1ZXN0Mjk1MDY1Nzk2,544,closed,0,--plugin-secret option,9599,"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,0,ccf80604e931fba1893b5bab11de386fed82009e,fcfcae21e67cc15090942b1d2a47b5f016279337,OWNER,107914493,https://github.com/simonw/datasette/pull/544,, 1358254580,PR_kwDOCGYnMM5Q9VH0,546,closed,0,"Analyze tables options: --common-limit, --no-most, --no-least",9599,"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,https://github.com/simonw/sqlite-utils/pull/546,, 1358282799,PR_kwDOCGYnMM5Q9cAv,549,closed,0,TUI powered by Trogon,9599,"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,https://github.com/simonw/sqlite-utils/pull/549,, 1358321208,PR_kwDOCGYnMM5Q9lY4,553,closed,0,Reformatted CLI examples in docs,9599,"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,https://github.com/simonw/sqlite-utils/pull/553,, 296735320,MDExOlB1bGxSZXF1ZXN0Mjk2NzM1MzIw,557,closed,0,Get tests running on Windows using Travis CI,9599,Refs #511,2019-07-11T16:36:57Z,2021-07-10T23:39:48Z,2021-07-10T23:39:48Z,,cddb9a9fecfa25147d80df05f1a6d6e1686ca30d,,,0,47b5ab43be87217c4e40ad93b8aa2e9639fa371f,f2006cca80040871439055ae6ccbc14e589bdf4b,OWNER,107914493,https://github.com/simonw/datasette/pull/557,, 297243073,MDExOlB1bGxSZXF1ZXN0Mjk3MjQzMDcz,559,closed,0,Bump to uvicorn 0.8.4,9599,"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,https://github.com/simonw/datasette/pull/559,, 1406821147,PR_kwDOCGYnMM5T2mMb,560,closed,0,Use sqlean if available in environment,9599,"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,https://github.com/simonw/sqlite-utils/pull/560,, 313384926,MDExOlB1bGxSZXF1ZXN0MzEzMzg0OTI2,571,closed,0,detect_fts now works with alternative table escaping,9599,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,https://github.com/simonw/datasette/pull/571,,