pull_requests
608 rows sorted by state
This data as json, CSV (advanced)
milestone 14 ✖
- 0.51 6
- Datasette 1.0 3
- Datasette 0.43 3
- Datasette 0.44 3
- Datasette 0.54 3
- Datasette 1.0a2 3
- Datasette 0.50 2
- 3.21 2
- 3.29 2
- Datasette 0.39 1
- Datasette 0.45 1
- 2.20 1
- Datasette 0.52 1
- Datasette 1.0a3 1
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
297412464 | MDExOlB1bGxSZXF1ZXN0Mjk3NDEyNDY0 | 38 | closed | 0 | table.update() method | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/38 | ||||
297459797 | MDExOlB1bGxSZXF1ZXN0Mjk3NDU5Nzk3 | 40 | closed | 0 | .get() method plus support for compound primary keys | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/40 | ||||
298962551 | MDExOlB1bGxSZXF1ZXN0Mjk4OTYyNTUx | 561 | closed | 0 | Fix typos | minho42 15278512 | 2019-07-18T15:13:35Z | 2019-07-26T10:25:45Z | 2019-07-26T10:25:45Z | 2019-07-26T10:25:45Z | 27cb29365c9f5f6f1492968d1268497193ed75a2 | 0 | 41341195075adc5093d33633d980657ecdac043c | a9453c4dda70bbf5122835e68f63db6ecbe1a6fc | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/561 | |||||
300286535 | MDExOlB1bGxSZXF1ZXN0MzAwMjg2NTM1 | 45 | closed | 0 | Implemented table.lookup(...), closes #44 | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/45 | |||||
300377599 | MDExOlB1bGxSZXF1ZXN0MzAwMzc3NTk5 | 47 | closed | 0 | extracts= table parameter | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/47 | ||||
300580221 | MDExOlB1bGxSZXF1ZXN0MzAwNTgwMjIx | 8 | closed | 0 | Use less RAM | simonw 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 | healthkit-to-sqlite 197882382 | https://github.com/dogsheep/healthkit-to-sqlite/pull/8 | ||||
301824097 | MDExOlB1bGxSZXF1ZXN0MzAxODI0MDk3 | 51 | closed | 0 | Fix for too many SQL variables, closes #50 | simonw 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 | sqlite-utils 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 | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/53 | ||||
308292447 | MDExOlB1bGxSZXF1ZXN0MzA4MjkyNDQ3 | 55 | closed | 0 | Ability to introspect and run queries against views | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/55 | ||||
313007483 | MDExOlB1bGxSZXF1ZXN0MzEzMDA3NDgz | 56 | closed | 0 | Escape the table name in populate_fts and search. | amjith 49260 | The table names weren't escaped using double quotes in the populate_fts method. Reproducible case: ``` >>> import sqlite_utils >>> db = sqlite_utils.Database("abc.db") >>> db["http://example.com"].insert_all([ ... {"id": 1, "age": 4, "name": "Cleo"}, ... {"id": 2, "age": 2, "name": "Pancakes"} ... ], pk="id") <Table http://example.com (id, age, name)> >>> db["http://example.com"].enable_fts(["name"]) Traceback (most recent call last): File "<input>", line 1, in <module> db["http://example.com"].enable_fts(["name"]) File "/home/amjith/.virtualenvs/itsysearch/lib/python3.7/site-packages/sqlite_utils/db.py", l ine 705, in enable_fts self.populate_fts(columns) File "/home/amjith/.virtualenvs/itsysearch/lib/python3.7/site-packages/sqlite_utils/db.py", l ine 715, in populate_fts self.db.conn.executescript(sql) sqlite3.OperationalError: unrecognized token: ":" >>> ``` | 2019-09-01T06:29:05Z | 2019-09-02T17:23:21Z | 2019-09-02T17:23:21Z | 79852e97ecb69b88da87da0cba2a55887cf83bda | 0 | 83ca4c802f5d5102e73ff366e61514ded81dc7a1 | cb70f7d10996b844154bf3da88779dd1f65590bc | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/56 | |||||
313105634 | MDExOlB1bGxSZXF1ZXN0MzEzMTA1NjM0 | 57 | closed | 0 | Add triggers while enabling FTS | amjith 49260 | This adds the option for a user to set up triggers in the database to keep their FTS table in sync with the parent table. Ref: https://sqlite.org/fts5.html#external_content_and_contentless_tables I would prefer to make the creation of triggers the default behavior, but that will break existing usage where people have been calling `populate_fts` after inserting new rows. I am happy to make changes to the PR as you see fit. | 2019-09-02T04:23:40Z | 2019-09-03T01:03:59Z | 2019-09-02T23:42:29Z | 2019-09-02T23:42:29Z | 405e092d5916e70df10f82d15e9c052aa9ee8d80 | 0 | e01943271b17115fbe0e81d523126d2fb1c7c24b | cb70f7d10996b844154bf3da88779dd1f65590bc | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/57 | ||||
313383317 | MDExOlB1bGxSZXF1ZXN0MzEzMzgzMzE3 | 60 | closed | 0 | db.triggers and table.triggers introspection | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/60 | ||||
313384926 | MDExOlB1bGxSZXF1ZXN0MzEzMzg0OTI2 | 571 | closed | 0 | detect_fts now works with alternative table escaping | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/571 | ||||
322529381 | MDExOlB1bGxSZXF1ZXN0MzIyNTI5Mzgx | 578 | closed | 0 | Added support for multi arch builds | heussd 887095 | Minor changes in Dockerfile and new Makefile to support Docker multi architecture builds. `make`will build one image per architecture and push them as one Docker manifest to Docker Hub. Feel free to change `IMAGE_NAME ` to `datasetteproject/datasette` to update your official Docker Hub image(s). | 2019-09-29T18:43:03Z | 2019-11-13T19:13:15Z | 2019-11-13T19:13:15Z | ae1aa0929b9e62a413ec9b4a40588e6aafe50573 | 0 | ce6372bc6210ae52ac1951647b8fbaee40d64fc1 | 0fc8afde0eb5ef677f4ac31601540d6168c8208d | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/578 | |||||
327051673 | MDExOlB1bGxSZXF1ZXN0MzI3MDUxNjcz | 15 | closed | 0 | twitter-to-sqlite import command, refs #4 | simonw 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 | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/15 | |||||
327169748 | MDExOlB1bGxSZXF1ZXN0MzI3MTY5NzQ4 | 589 | closed | 0 | Display metadata footer on custom SQL queries | rixx 2657547 | Closes #408 | 2019-10-11T12:10:28Z | 2019-10-14T08:58:23Z | 2019-10-14T03:53:22Z | 2019-10-14T03:53:22Z | 12cec411cae73ba7211429da12cd32c551fe17b1 | 0 | 5627fe8d58e791e004b89b5614007d5e64a5c8e2 | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/589 | ||||
327172545 | MDExOlB1bGxSZXF1ZXN0MzI3MTcyNTQ1 | 590 | closed | 0 | Handle spaces in DB names | rixx 2657547 | Closes #503 | 2019-10-11T12:18:22Z | 2019-11-04T23:16:31Z | 2019-11-04T23:16:30Z | 2019-11-04T23:16:30Z | 931bfc66613aa3e22f8314df5c0d0758baf31f38 | 0 | 0c306e89e4f97f64921e4f6d1fe7bab52fad6ade | 52fa79c6075f0830ff635b81d957c64d877a05aa | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/590 | ||||
327188087 | MDExOlB1bGxSZXF1ZXN0MzI3MTg4MDg3 | 591 | closed | 0 | Sort databases on homepage by argument order | rixx 2657547 | Closes #585 | 2019-10-11T12:57:38Z | 2019-10-14T08:57:50Z | 2019-10-14T03:52:34Z | 2019-10-14T03:52:34Z | 908fc3999e06f3ccd3bb8ad0539490bbc7809748 | 0 | 5a8e52fa60f2c2c93f10b9c6c126f31b02d647b0 | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/591 | ||||
327279818 | MDExOlB1bGxSZXF1ZXN0MzI3Mjc5ODE4 | 592 | closed | 0 | Offer SQL formatting | rixx 2657547 | SQL code will be formatted on page load, and can additionally be formatted by clicking the "Format SQL" button. Closes #136 | 2019-10-11T16:35:49Z | 2019-10-14T08:57:12Z | 2019-10-14T03:46:13Z | 2019-10-14T03:46:13Z | af2e6a5cf186a7200d76cb67ac30fa59cc24d84e | 0 | b46195af65846ca30c6006520cc778eeed052324 | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/592 | ||||
327541046 | MDExOlB1bGxSZXF1ZXN0MzI3NTQxMDQ2 | 595 | closed | 0 | bump uvicorn to 0.9.0 to be Python-3.8 friendly | stonebig 4312421 | as uvicorn-0.9 is needed to get websockets-8.0.2, which is needed to have Python-3.8 compatibility | 2019-10-13T10:00:04Z | 2019-11-12T04:46:48Z | 2019-11-12T04:46:48Z | 5a7185bcd15aab28e86338b3771c25af13a94a4c | 0 | e1d92ea94ca8f14879ef280cb7dadab7eed76e9c | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/595 | |||||
329324368 | MDExOlB1bGxSZXF1ZXN0MzI5MzI0MzY4 | 24 | closed | 0 | Tweet source extraction and new migration system | simonw 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 | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/24 | ||||
329890320 | MDExOlB1bGxSZXF1ZXN0MzI5ODkwMzIw | 599 | closed | 0 | Fix for /foo v.s. /foo-bar issue in #597 | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/599 | ||||
329947180 | MDExOlB1bGxSZXF1ZXN0MzI5OTQ3MTgw | 601 | closed | 0 | Don't auto-format SQL on page load | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/601 | ||||
330076263 | MDExOlB1bGxSZXF1ZXN0MzMwMDc2MjYz | 602 | closed | 0 | Offer to format readonly SQL | rixx 2657547 | Following discussion in #601, this PR adds a "Format SQL" button to read-only SQL (if the SQL actually differs from the formatting result). It also removes a console error on readonly SQL queries. | 2019-10-20T02:29:32Z | 2019-11-04T07:29:33Z | 2019-11-04T02:39:56Z | 2019-11-04T02:39:56Z | ee330222f4c3ee66c2fe41ebc76fed56b9cb9a00 | 0 | 266c3dafb9bf3b12204b6152d7b48e94a131584a | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/602 | ||||
330129358 | MDExOlB1bGxSZXF1ZXN0MzMwMTI5MzU4 | 603 | closed | 0 | always pop as_format off args dict | chris48s 6025893 | closes #563 | 2019-10-20T15:44:22Z | 2019-10-30T19:12:22Z | 2019-10-21T02:03:09Z | 2019-10-21T02:03:09Z | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | 0 | 39d044502590224e4f07c05e02fc8a4d312255c1 | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/603 | ||||
334448258 | MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4 | 609 | closed | 0 | Update to latest black | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/609 | |||||
335980246 | MDExOlB1bGxSZXF1ZXN0MzM1OTgwMjQ2 | 8 | closed | 0 | stargazers command, refs #4 | simonw 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 | github-to-sqlite 207052882 | https://github.com/dogsheep/github-to-sqlite/pull/8 | |||||
337847573 | MDExOlB1bGxSZXF1ZXN0MzM3ODQ3NTcz | 64 | closed | 0 | test_insert_upsert_all_empty_list | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/64 | |||||
337853394 | MDExOlB1bGxSZXF1ZXN0MzM3ODUzMzk0 | 65 | closed | 0 | Release 1.12.1 | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/65 | |||||
338647378 | MDExOlB1bGxSZXF1ZXN0MzM4NjQ3Mzc4 | 1 | closed | 0 | Add parkrun-to-sqlite | mrw34 1101318 | 2019-11-08T12:05:32Z | 2020-10-12T00:35:16Z | 2020-10-12T00:35:16Z | 2020-10-12T00:35:16Z | 58ca0c785fbf34250042379dd0269bf2d0c5ea7e | 0 | ccb86548e0ae6f02a83f1feb0974476ad0f2f2d8 | 2972bb001ab5f675eced62f7ba5adef2d3eba2ad | CONTRIBUTOR | dogsheep.github.io 214746582 | https://github.com/dogsheep/dogsheep.github.io/pull/1 | |||||
339236647 | MDExOlB1bGxSZXF1ZXN0MzM5MjM2NjQ3 | 623 | closed | 0 | Test against Python 3.8 in Travis | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/623 | ||||
339244888 | MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4 | 624 | closed | 0 | Bump pint to 0.9 | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/624 | |||||
339722790 | MDExOlB1bGxSZXF1ZXN0MzM5NzIyNzkw | 627 | closed | 0 | Support Python 3.8, stop supporting Python 3.5 | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/627 | ||||
339742432 | MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy | 630 | closed | 0 | Use python:3.8 base Docker image | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/630 | ||||
340211149 | MDExOlB1bGxSZXF1ZXN0MzQwMjExMTQ5 | 631 | closed | 0 | bugfix issue 572 | qwo 3683993 | closes bugfix issue #572 | 2019-11-13T02:46:50Z | 2019-11-13T04:28:43Z | 2019-11-13T04:28:42Z | 2019-11-13T04:28:42Z | 848dec4deb0d3c140a4e0394cac45fbb2593349b | 0 | ca43966e5aa832a377e4db5d411b6cc8b1c5b3ac | bbd00e903cdd49067ecdbdb60a4d225833a44b05 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/631 | ||||
340743220 | MDExOlB1bGxSZXF1ZXN0MzQwNzQzMjIw | 635 | closed | 0 | Use Jinja async mode | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/635 | ||||
346264926 | MDExOlB1bGxSZXF1ZXN0MzQ2MjY0OTI2 | 67 | closed | 0 | Run tests against 3.5 too | simonw 9599 | 2019-11-27T14:20:35Z | 2019-12-31T01:29:44Z | 2019-12-31T01:29:43Z | 88375b0bc055067b996584f06ed85a9a90c5aa1a | 0 | 4c6e5a4486e0e17555774eb3279142234a8b4abc | 0a0cec3cf27861455e8cd1c4d84937825a18bb30 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/67 | ||||||
347179081 | MDExOlB1bGxSZXF1ZXN0MzQ3MTc5MDgx | 644 | closed | 0 | Validate metadata json on startup | chris48s 6025893 | This PR adds a sanity check which builds up a marshmallow schema on-the-fly based on the structure of the database(s) on startup and then validates the metadata json against it. In case of invalid data, this will raise with a descriptive error e.g: ``` marshmallow.exceptions.ValidationError: {'databases': {'fixtures': {'tables': {'not_a_table': ['Unknown field.']}}}} ``` Closes #260 --- This was intended to be fairly self-contained, but then while I was working on it, I hit some problems getting the tests to pass in the context of the test suite as a whole. My tests passed in isolation, but then failed while doing a full test suite run. That's when the worms started coming out of the can :bug: After some sleuthing, it turned out this was essentially the result of several issues intersecting: * There are certain events in the application lifecycle where the metadata schema can be modified after it is loaded e.g: https://github.com/simonw/datasette/blob/a562f2965552fb2dbbbd74df245c9965ee23d886/datasette/app.py#L299-L320 This means that sometimes what goes in isn't always exactly what comes out when you call `/-/metadata`. * Because the test fixtures use session scope for performance reasons if one unit test performs an action which mutates the metadata, that can impact on other unit tests which run after it using the same fixture. * Because the `self._metadata` property was being set with a simple assignment `self._metadata = metadata`, that created an object reference to the test fixture data, so operating on `self._metadata` was actually modifying the test fixture `METADATA` meaning that depending on when it was loaded in the test suite lifecycle, `METADATA` had different content, which was somewhat unexpected. As such, I've added some band-aids in 3552024 and 6859fd8: * Switching the metadata object to a `deepcopy` of the input prevents us directly mutating the input fixture. * I've switched some of the tests to use a fixture with function scope instead of session scope so we're workin… | 2019-11-30T00:32:15Z | 2021-07-28T17:58:45Z | 2021-07-28T17:58:45Z | e71b642474d54f986bc8857346103d8a10d84e6d | 0 | 6859fd8c5eef26f397aa949dc4edf3747e8ab0a5 | a562f2965552fb2dbbbd74df245c9965ee23d886 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/644 | |||||
354869391 | MDExOlB1bGxSZXF1ZXN0MzU0ODY5Mzkx | 652 | closed | 0 | Quick (and uninformed and perhaps misguided) attempt to add a <base> url for hosting datasette at a particular host/URI | terrycojones 132978 | As usual, I don't really know what I'm doing... so this is just a suggested approach. I've not written tests, I've not run the tests, I don't know if I've missed some absolute URLs that would need to have the leading slash dropped. BUT, I tested it with `--config base_url:http://127.0.0.1:8001/` on the command line and from what little I know about datasette it's at least working in some obvious cases. My changes are based on what I saw in https://github.com/simonw/datasette/commit/8da2db4b71096b19e7a9ef1929369b8483d448bf (thanks!) I'm happy to be more thorough on this if you think it's worth pursuing. Fixes #394 (he said, optimistically). | 2019-12-18T23:37:16Z | 2020-03-24T22:14:50Z | 2020-03-24T22:14:50Z | 8e674de58c17c89c8a4a90bc3ec6e02151b354e5 | 0 | eaa636841e38d40360a74596ef1a0df50f6a86a5 | a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/652 | |||||
356004242 | MDExOlB1bGxSZXF1ZXN0MzU2MDA0MjQy | 653 | closed | 0 | allow leading comments in SQL input field | jaywgraves 418191 | this changes the SQL validation to allow for lines that are commented out my main use case for this is that I like to write a succession of queries when trying to solve a problem. In most native SQL clients there is a key binding that will run just the current highlighted query or the program is smart enough to run just the query that the cursor is in if it's properly delimited with a ';'. Typically my workflow will start with a single simple query and I'll copy/paste it to a new query below when I want to make big changes while debugging. This makes it easy to go back to a working version above when the query doesn't work. Since datasette sends the whole query to the DB I have to comment out the older queries by prefixing each line with `--`. This gets caught by the validators when I use my typical strategy of copy/pasting each successive query below the last one. so this is just a simple fix to allow for a query to be sent to the DB with leading comments. | 2019-12-21T14:19:52Z | 2020-02-05T02:35:41Z | 2020-02-05T02:13:25Z | 2020-02-05T02:13:25Z | 33a12c8ae526afb40a7819c9ca411c9d3c41219b | 0 | 3a4cb551b9a217d5798e3e9ad5d4b06234a81885 | d6b6c9171f3fd945c4e5e4144923ac831c43c208 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/653 | ||||
357640186 | MDExOlB1bGxSZXF1ZXN0MzU3NjQwMTg2 | 6 | closed | 0 | don't break if source is missing | mfa 78035 | broke for me. very old checkins in 2010 had no source set. | 2019-12-29T10:46:47Z | 2020-03-28T02:28:11Z | 2020-03-28T02:28:11Z | 2020-03-28T02:28:11Z | d3c4ab2848ea606417150f377a82e66ca7887c54 | 0 | a41b5bcd63012f64fe6746825d7101cc3d071483 | f2c89dd613fb8a7f14e5267ccc2145463b996190 | CONTRIBUTOR | swarm-to-sqlite 205429375 | https://github.com/dogsheep/swarm-to-sqlite/pull/6 | ||||
357974326 | MDExOlB1bGxSZXF1ZXN0MzU3OTc0MzI2 | 3 | closed | 0 | Add todoist-to-sqlite | bcongdon 706257 | Really enjoying getting into the dogsheep/datasette ecosystem. I made a downloader for Todoist, and I think/hope others might find this useful | 2019-12-30T04:02:59Z | 2020-10-12T00:35:58Z | 2020-10-12T00:35:57Z | 2020-10-12T00:35:57Z | 85af27dbff7e08a92656639fbf0cfa15c7d30b5c | 0 | 49bc87a43555d10696044e8e40d700d93611a190 | 58ca0c785fbf34250042379dd0269bf2d0c5ea7e | CONTRIBUTOR | dogsheep.github.io 214746582 | https://github.com/dogsheep/dogsheep.github.io/pull/3 | ||||
357992588 | MDExOlB1bGxSZXF1ZXN0MzU3OTkyNTg4 | 72 | closed | 0 | Fixed implementation of upsert | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/72 | ||||
359822773 | MDExOlB1bGxSZXF1ZXN0MzU5ODIyNzcz | 75 | closed | 0 | Explicitly include tests and docs in sdist | jayvdb 15092 | Also exclude 'tests' from runtime installation. | 2020-01-07T04:53:20Z | 2020-01-31T00:21:27Z | 2020-01-31T00:21:27Z | 2020-01-31T00:21:27Z | 0988f2eccc2dfa26b1a55243582222f540a72838 | 0 | 39a836450b23bf2fe1ba9a071a5a9a00a0949cd6 | 59a2e8ebdcbde7e6fb091b0556713ca5a20ea4e7 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/75 | ||||
365218391 | MDExOlB1bGxSZXF1ZXN0MzY1MjE4Mzkx | 660 | closed | 0 | gcloud run is now GA, s/beta// | glasnt 813732 | 2020-01-21T10:08:38Z | 2020-01-22T03:41:09Z | 2020-01-21T23:28:12Z | 2020-01-21T23:28:12Z | 34d77d780f68b778fd9d6ebbaf69f250436f055f | 0 | 894e96026b838288f926f62914123a1f86139793 | 3c861f363df02a59a67c59036278338e4760d2ed | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/660 | |||||
368734500 | MDExOlB1bGxSZXF1ZXN0MzY4NzM0NTAw | 663 | closed | 0 | -p argument for datasette package, plus tests - refs #661 | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/663 | |||||
369348084 | MDExOlB1bGxSZXF1ZXN0MzY5MzQ4MDg0 | 78 | closed | 0 | New conversions= feature, refs #77 | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/78 | |||||
369394043 | MDExOlB1bGxSZXF1ZXN0MzY5Mzk0MDQz | 80 | closed | 0 | on_create mechanism for after table creation | simonw 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 | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/80 | |||||
370024697 | MDExOlB1bGxSZXF1ZXN0MzcwMDI0Njk3 | 4 | closed | 0 | Add beeminder-to-sqlite | bcongdon 706257 | 2020-02-02T15:51:36Z | 2020-10-12T00:36:16Z | 2020-10-12T00:36:16Z | 2020-10-12T00:36:16Z | 7e4c6ecdabc249c77e8049cd172b1b5af08a3371 | 0 | 6713b5c50178b95a9ec50227d4ef5793e71e8b0a | 2972bb001ab5f675eced62f7ba5adef2d3eba2ad | CONTRIBUTOR | dogsheep.github.io 214746582 | https://github.com/dogsheep/dogsheep.github.io/pull/4 | |||||
370675007 | MDExOlB1bGxSZXF1ZXN0MzcwNjc1MDA3 | 664 | closed | 0 | Datasette.render_template() method | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/664 | ||||
372273608 | MDExOlB1bGxSZXF1ZXN0MzcyMjczNjA4 | 33 | closed | 0 | Upgrade to sqlite-utils 2.2.1 | simonw 9599 | 2020-02-07T07:32:12Z | 2020-03-20T19:21:42Z | 2020-03-20T19:21:41Z | 5338f6baab3ec1424431133968d8b64a656ce4c4 | 0 | 08f51271d6309aad698b9e8a7587fcebbbd67781 | 35c18a09fa664324dcb75e5e58ccb90644456d02 | MEMBER | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/33 | ||||||
372763906 | MDExOlB1bGxSZXF1ZXN0MzcyNzYzOTA2 | 666 | closed | 0 | Use inspect-file, if possible, for total row count | kevindkeogh 13896256 | For large tables, counting the number of rows in the table can take a signficant amount of time. Instead, where an inspect-file is provided for an immutable database, look up the row-count for a plain count(*). | 2020-02-08T22:10:35Z | 2020-03-09T02:47:15Z | 2020-02-25T20:19:29Z | 2020-02-25T20:19:29Z | 3041c6b6412bbe317f8b9afd6529a15954f2c47e | 0 | 8947a60404b8242a03f9ebabc5f957d75f4dfe04 | b031fe97636b80b05fec409ee1dffb7d044fd4e9 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/666 | ||||
373775788 | MDExOlB1bGxSZXF1ZXN0MzczNzc1Nzg4 | 669 | closed | 0 | fix db-to-sqlite command in ecosystem doc page | adipasquale 883348 | the `--connection` parameter has become positional | 2020-02-11T17:05:41Z | 2020-02-22T02:32:18Z | 2020-02-22T02:32:17Z | 2020-02-22T02:32:17Z | be2265b0e811d0ac2875c2f748125c17b0f9289e | 0 | 6eb0e8cd90be82eff0a5152b0985c2a3cb7a44a8 | 30b6f71b306a43605c99bef79302ed5cb22d1924 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/669 | ||||
379192258 | MDExOlB1bGxSZXF1ZXN0Mzc5MTkyMjU4 | 683 | closed | 0 | .execute_write() and .execute_write_fn() methods on Database | simonw 9599 | 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 | Datasette 1.0 3268330 | 0 | ec6e2edfe18446c9d77e3f30efbc299d27ea5c1b | 411056c4c43e74f2b3d0e3bc1175e7998516b1b3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/683 | |||
379378780 | MDExOlB1bGxSZXF1ZXN0Mzc5Mzc4Nzgw | 686 | closed | 0 | ?_searchmode=raw option | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/686 | ||||
381666777 | MDExOlB1bGxSZXF1ZXN0MzgxNjY2Nzc3 | 688 | closed | 0 | Don't count rows on homepage for DBs > 100MB | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/688 | ||||
391924509 | MDExOlB1bGxSZXF1ZXN0MzkxOTI0NTA5 | 703 | closed | 0 | WIP implementation of writable canned queries | simonw 9599 | Refs #698. | 2020-03-21T22:23:51Z | 2020-06-03T00:08:14Z | 2020-06-02T23:57:35Z | 80c5a74a947e63673389604de12e80fa27305454 | 1 | 61e40e917efc43a8aea5298a22badbb6eaea3fa1 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/703 | |||||
393274433 | MDExOlB1bGxSZXF1ZXN0MzkzMjc0NDMz | 708 | closed | 0 | base_url configuration setting, refs #394 | simonw 9599 | 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 | Datasette 0.39 5234079 | 0 | b1f953b5de1bef239ddb1d133f9b2e19f8e3438a | a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/708 | |||
395258687 | MDExOlB1bGxSZXF1ZXN0Mzk1MjU4Njg3 | 96 | closed | 0 | Add type conversion for Panda's Timestamp | b0b5h4rp13 32605365 | Add type conversion for Panda's Timestamp, if Panda library is present in system (thanks for this project, I was about to do the same thing from scratch) | 2020-03-29T14:13:09Z | 2020-03-31T04:40:49Z | 2020-03-31T04:40:48Z | 2020-03-31T04:40:48Z | 8ea626e5fcdc4c9e52f615c6347e68173805f8b4 | 0 | 16ebbd2d494caabd0eeb502f8a944614b464bb12 | 22250a9c735077d6f365b73bf824e6c67b122c83 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/96 | ||||
397749653 | MDExOlB1bGxSZXF1ZXN0Mzk3NzQ5NjUz | 714 | closed | 0 | --metadata accepts YAML as well as JSON | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/714 | ||||
399166433 | MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz | 719 | closed | 0 | asgi: check raw_path is not None | cldellow 193185 | The ASGI spec (https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to imply that `None` is a valid value, so we need to check the value itself, not just whether the key is present. In particular, the [mangum](https://github.com/erm/mangum) adapter passes `None` for this key's value. This change permits mangum to be used to front datasette in Amazon API Gateway + AWS Lambda deployments. | 2020-04-05T16:53:58Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | dbd2d70b3819a7041bb36a527033d77c85683c05 | 0 | 161f61d73800a605354b4ac44a3c989e19bbc77a | e0e7a0facfc935a835cd73c720bc46661462f0b1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/719 | ||||
400578979 | MDExOlB1bGxSZXF1ZXN0NDAwNTc4OTc5 | 720 | closed | 0 | Update beautifulsoup4 requirement from ~=4.8.1 to >=4.8.1,<4.10.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [beautifulsoup4](http://www.crummy.com/software/BeautifulSoup/bs4/) to permit the latest version. Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- **Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit. You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com). <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot u… | 2020-04-08T01:24:38Z | 2020-05-04T17:14:51Z | 2020-05-04T17:14:46Z | 2020-05-04T17:14:46Z | 707fe039947b3e48f2b6dcfe8e577d76b617f2a5 | 0 | ab76bf88f597e61668dc6fc750502f8db207bd9c | d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/720 | ||||
400579077 | MDExOlB1bGxSZXF1ZXN0NDAwNTc5MDc3 | 721 | closed | 0 | Update pytest requirement from ~=5.2.2 to >=5.2.2,<5.5.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>5.4.1</h2> <h1>pytest 5.4.1 (2020-03-13)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6909">#6909</a>: Revert the change introduced by <a href="https://github-redirect.dependabot.com/pytest-dev/pytest/pull/6330">#6330</a>, which required all arguments to <code>@pytest.mark.parametrize</code> to be explicitly defined in the function signature.</p> <p>The intention of the original change was to remove what was expected to be an unintended/surprising behavior, but it turns out many people relied on it, so the restriction has been reverted.</p> </li> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6910">#6910</a>: Fix crash when plugins return an unknown stats while using the <code>--reportlog</code> option.</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst">pytest's changelog</a>.</em></p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest/commit/3d0f3baa2bb89257dfff25ae6ebabd565287240e"><code>3d0f3ba</code></a> Preparing release version 5.4.1</li> <li><a href="https://github.com/pytest-dev/pytest/commit/b9e2cd0a81e043bdb409e7078db9af4c4d38da54"><code>b9e2cd0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6914">#6914</a> from nicoddemus/revert-6330</li> <li><a href="https://github.com/pytest-dev/pytest/commit/a84fcbf5b2fc007a1630a1ddd60b0a2438b61642"><code>a84fcbf</code></a> Revert "[parametrize] enforce explicit argnames declaration (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6330">#6330</a>… | 2020-04-08T01:25:04Z | 2020-05-04T17:13:49Z | 2020-05-04T17:13:41Z | 2020-05-04T17:13:41Z | c91fb9e3d4f0632d4ef25a21165739ab88a9d491 | 0 | 54ea56285f9512c991e343ffad9d848d551977de | d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/721 | ||||
400579136 | MDExOlB1bGxSZXF1ZXN0NDAwNTc5MTM2 | 722 | closed | 0 | Update jinja2 requirement from ~=2.10.3 to >=2.10.3,<2.12.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [jinja2](https://github.com/pallets/jinja) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/releases">jinja2's releases</a>.</em></p> <blockquote> <h2>2.11.1</h2> <p>This fixes an issue in async environment when indexing the result of an attribute lookup, like <code>{{ data.items[1:] }}</code>.</p> <ul> <li>Changes: <a href="https://jinja.palletsprojects.com/en/2.11.x/changelog/#version-2-11-1">https://jinja.palletsprojects.com/en/2.11.x/changelog/#version-2-11-1</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/blob/master/CHANGES.rst">jinja2's changelog</a>.</em></p> <blockquote> <h1>Version 2.11.1</h1> <p>Released 2020-01-30</p> <ul> <li>Fix a bug that prevented looking up a key after an attribute (<code>{{ data.items[1:] }}</code>) in an async template. 1141</li> </ul> <h1>Version 2.11.0</h1> <p>Released 2020-01-27</p> <ul> <li>Drop support for Python 2.6, 3.3, and 3.4. This will be the last version to support Python 2.7 and 3.5.</li> <li>Added a new <code>ChainableUndefined</code> class to support getitem and getattr on an undefined object. 977</li> <li>Allow <code>{%+</code> syntax (with NOP behavior) when <code>lstrip_blocks</code> is disabled. 748</li> <li>Added a <code>default</code> parameter for the <code>map</code> filter. 557</li> <li>Exclude environment globals from meta.find_undeclared_variables. 931</li> <li>Float literals can be written with scientific notation, like 2.56e-3. 912, 922</li> <li>Int and float literals can be written with the '_' separator for legibility, like 12_345. 923</li> <li>Fix a bug causing deadlocks in <code>LRUCache.setdefault</code>. 1000</li> <li>The <code>trim</code> filter takes an optional string of characters to trim. 828</li> <li>A new <code>jinja2.ext.debug</code> extension adds a <code>{% debug %}</code> tag to quickly dump the current context and available filte… | 2020-04-08T01:25:24Z | 2020-05-04T17:13:26Z | 2020-05-04T17:13:16Z | 2020-05-04T17:13:16Z | aa064de3f400899dbf61f2d33a035fba4017596c | 0 | 0a503b7fdb0cce1bb82e18c4552a4f92808fe41f | d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/722 | ||||
402645984 | MDExOlB1bGxSZXF1ZXN0NDAyNjQ1OTg0 | 725 | closed | 0 | Update aiofiles requirement from ~=0.4.0 to >=0.4,<0.6 | dependabot-preview[bot] 27856297 | Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Tinche/aiofiles/commit/9a2141e6c51013995ed8b72b121e4e0a27af77b5"><code>9a2141e</code></a> 0.5.0</li> <li><a href="https://github.com/Tinche/aiofiles/commit/479b7eea2c54a9daadb26d1073770e5a50f9ca27"><code>479b7ee</code></a> Update README</li> <li><a href="https://github.com/Tinche/aiofiles/commit/6c247a2cfd1e12f8359aeff04bfe3510f5ef0dc2"><code>6c247a2</code></a> Modernize tests</li> <li><a href="https://github.com/Tinche/aiofiles/commit/eec75d3f425d53306b6aaa8a6005344e56350312"><code>eec75d3</code></a> Switch to async def wherever possible</li> <li><a href="https://github.com/Tinche/aiofiles/commit/786c3e9293a37f63ae1c72b115498d038b5828a0"><code>786c3e9</code></a> Prepare for 3.8</li> <li><a href="https://github.com/Tinche/aiofiles/commit/145107595fe72b877005fb4ebf9d77ffb754689a"><code>1451075</code></a> Update README.rst</li> <li><a href="https://github.com/Tinche/aiofiles/commit/5db1e380e307d0f96177d18db778f82ea0ef87ce"><code>5db1e38</code></a> Add several async os functions</li> <li><a href="https://github.com/Tinche/aiofiles/commit/a60f19bb7b6bd5b063f853d8cae2c41a6878841f"><code>a60f19b</code></a> Add async remove function</li> <li><a href="https://github.com/Tinche/aiofiles/commit/9cf2ac8f9d43446ecdf71c95d05ad6a95bec7377"><code>9cf2ac8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Tinche/aiofiles/issues/53">#53</a> from graingert/patch-1</li> <li><a href="https://github.com/Tinche/aiofiles/commit/b88912c6a7a13597b8c5ac93093d7eef86ab1ebb"><code>b88912c</code></a> <strong>all</strong> should be a List[str]</li> <li>Additional commits viewable in <a href="https://github.com/Tinche/aiofiles/compare/v0.4.0...v0.5.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@… | 2020-04-13T13:32:47Z | 2020-05-04T18:16:54Z | 2020-05-04T16:17:49Z | 2020-05-04T16:17:49Z | 985e59493e44d6fcebf7a30f693f4edecee3e90d | 0 | a7053e8d17559a6ebb4265c0783b84cc6aaff7e2 | d349d57cdf3d577afb62bdf784af342a4d5be660 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/725 | ||||
406067019 | MDExOlB1bGxSZXF1ZXN0NDA2MDY3MDE5 | 728 | closed | 0 | Update mergedeep requirement from ~=1.1.1 to >=1.1.1,<1.4.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [mergedeep](https://github.com/clarketm/mergedeep) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clarketm/mergedeep/commit/3d6e7b4c9c25b64eba0834da6f54c8dd309767ea"><code>3d6e7b4</code></a> v1.3.0 - support additive merging of <code>Counter</code> types</li> <li><a href="https://github.com/clarketm/mergedeep/commit/56a258a0b58366aa205322476db1b3f84aac65d9"><code>56a258a</code></a> v1.2.1 - tidy docs and variable names</li> <li><a href="https://github.com/clarketm/mergedeep/commit/61ab21382ba20d7973a848c942eb36bd33bc7cd0"><code>61ab213</code></a> v1.2.0 - support both TYPESAFE_REPLACE and TYPESAFE_ADDITIVE merge strategies...</li> <li><a href="https://github.com/clarketm/mergedeep/commit/b331bb5f1580d8290dcf5c6e7690fd3b9708b5cd"><code>b331bb5</code></a> cleanup Makefile</li> <li><a href="https://github.com/clarketm/mergedeep/commit/6f577bf29750c073f6764ffbea29ab6d6759a8d3"><code>6f577bf</code></a> officially label support for python3.8</li> <li><a href="https://github.com/clarketm/mergedeep/commit/84faf37d2da81d4356a4ade4c015fc3964262585"><code>84faf37</code></a> use pipenv for managing dev dependencies</li> <li><a href="https://github.com/clarketm/mergedeep/commit/3a8761a736c8cb7a324bd9e6f4d50a58898a3ba9"><code>3a8761a</code></a> Update README.md</li> <li>See full diff in <a href="https://github.com/clarketm/mergedeep/compare/v1.1.1...v1.3.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge th… | 2020-04-20T13:33:23Z | 2020-05-04T16:45:58Z | 2020-05-04T16:45:49Z | 2020-05-04T16:45:49Z | e232f77055880b38cc0b738607cd50cde9188eaf | 0 | b584fbc4215d92df08360937916ffe128f11f72e | 985e59493e44d6fcebf7a30f693f4edecee3e90d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/728 | ||||
406677205 | MDExOlB1bGxSZXF1ZXN0NDA2Njc3MjA1 | 730 | closed | 0 | Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.12 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1026c39495a963ff3e5fee7da2ae9f3a5d21fb83"><code>1026c39</code></a> 0.11.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab2b14048a691479fa9f8811aaa558018c6db6e3"><code>ab2b140</code></a> Test on Python 3.8, drop 3.3 and 3.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6397a2255e3e9ef858439b164018438a8106f454"><code>6397a22</code></a> plugin: Use pytest 5.4.0 new Function API</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/21a0f9476be84ca0c84af60057f0f24c5fb2fd71"><code>21a0f94</code></a> Replace yield_fixture() by fixture()</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/964b295ba280a6e217159706279b67f8f4cbb5f4"><code>964b295</code></a> Added min hypothesis version so that bugfix for <a href="https://github.com/Hypothesis">https://github.com/Hypothesis</a>...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4a11a206fbcf88ee18cbed2d01041e61c20a9a48"><code>4a11a20</code></a> Add max supported pytest version to < 5.4.0 to prevent fails until <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/141">#141</a> is fi...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b3055940db49cc17e36b66631e3d863e15fe34e4"><code>b305594</code></a> Change event_loop to module scope in hypothesis tests, fixing <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/145">#145</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d5a0f4789e7fecb58d509409e2c537b206c4fde2"><code>d5a0f47</code></a> Enable test_subprocess to be run on win, by changing to ProactorEventLoop in ...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d07cd2d447cf313446c4e00e25a35cb2adcb2c63"><code>d07cd2d</code><… | 2020-04-21T13:32:35Z | 2020-05-04T13:27:24Z | 2020-05-04T13:27:23Z | 460708c7107a7cf15971a9aa1040635f6bc1be6d | 0 | 11c67f82cdccc6e34cbff717e673451ac6172ef4 | 15e232180427e988174fdf88440c84b91d2d98d1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/730 | |||||
407929128 | MDExOlB1bGxSZXF1ZXN0NDA3OTI5MTI4 | 734 | closed | 0 | Update janus requirement from ~=0.4.0 to >=0.4,<0.6 | dependabot-preview[bot] 27856297 | Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/janus/blob/master/CHANGES.rst">janus's changelog</a>.</em></p> <blockquote> <h1>0.5.0 (2020-04-23)</h1> <ul> <li>Remove explicit loop arguments and forbid creating queues outside event loops <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/246">#246</a></li> </ul> <h1>0.4.0 (2018-07-28)</h1> <ul> <li>Add <code>py.typed</code> macro <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/89">#89</a></li> <li>Drop python 3.4 support and fix minimal version python3.5.3 <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/88">#88</a></li> <li>Add property with that indicates if queue is closed <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/86">#86</a></li> </ul> <h1>0.3.2 (2018-07-06)</h1> <ul> <li>Fixed python 3.7 support <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/97">#97</a></li> </ul> <h1>0.3.1 (2018-01-30)</h1> <ul> <li>Fixed bug with join() in case tasks are added by sync_q.put() <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/75">#75</a></li> </ul> <h1>0.3.0 (2017-02-21)</h1> <ul> <li>Expose unfinished_tasks property <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/34">#34</a></li> </ul> <h1>0.2.4 (2016-12-05)</h1> <ul> <li>Restore tarball deploying</li> </ul> <h1>0.2.3 (2016-07-12)</h1> <ul> <li>Fix exception type</li> </ul> <h1>0.2.2 (2016-07-11)</h1> <ul> <li>Update asyncio.async() to use asyncio.ensure_future() <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/6">#6</a></li> </ul> <h1>0.2.1 (2016-03-24)</h1> <ul> <li>Fix python setup.py test command <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/4">#4</a></li> </ul> <h1>0.2.0 (2015-09-20)</h1> </tr></table> ... (truncated) </blockquote> </details> <details> <summary>Commits</summ… | 2020-04-23T13:43:45Z | 2020-05-04T16:48:14Z | 2020-05-04T16:48:04Z | 2020-05-04T16:48:04Z | 109c5a430d53fe38b1300e0daa20f5cef047a08e | 0 | 281b2c1acf1a2ef39c784dc73f1eb184d898d369 | e232f77055880b38cc0b738607cd50cde9188eaf | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/734 | ||||
409123897 | MDExOlB1bGxSZXF1ZXN0NDA5MTIzODk3 | 737 | closed | 0 | Custom pages mechanism, refs #648 | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/737 | ||||
409153870 | MDExOlB1bGxSZXF1ZXN0NDA5MTUzODcw | 739 | closed | 0 | Configuration directory mode | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/739 | ||||
410469272 | MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy | 746 | closed | 0 | shutil.Error, not OSError | simonw 9599 | Refs #744 | 2020-04-29T03:30:51Z | 2020-04-29T07:07:24Z | 2020-04-29T07:07:23Z | e4e8b51b50e51b2515c6d8874d16c4607f79b80a | 0 | af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/746 | |||||
412951191 | MDExOlB1bGxSZXF1ZXN0NDEyOTUxMTkx | 753 | closed | 0 | Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.13 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b8e2a45e152a196cef7fdb6ddcf3e2d67a0f01ca"><code>b8e2a45</code></a> 0.12.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/06580c6413e905c5fddcc57c2895e9d3d2913847"><code>06580c6</code></a> Update changelog</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b45de23c0de0acc843c3f871985ba16fdfb1d5fd"><code>b45de23</code></a> Fixed failing test case, 'test_asyncio_marker_without_loop'.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/238ccedde8a196c16007a8a2b1ea1eeeb8db86a3"><code>238cced</code></a> Put event_loop first among the fixtures of asyncio tests, fixes <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/154">#154</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e5e3dc7a90685a56747a2d4c3c770d74d573c497"><code>e5e3dc7</code></a> Added unittests for issue <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/154">#154</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/a7e5795335b823b4d58bb6b38b6e653f0e0d35b0"><code>a7e5795</code></a> 0.12.0 open for business!</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1026c39495a963ff3e5fee7da2ae9f3a5d21fb83"><code>1026c39</code></a> 0.11.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab2b14048a691479fa9f8811aaa558018c6db6e3"><code>ab2b140</code></a> Test on Python 3.8, drop 3.3 and 3.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6397a2255e3e9ef858439b164018438a8106f454"><code>6397a22</code></a> plugin: Use pytest 5.4.0 new Function API</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/21a0f9476be84ca0c84af60057f0f24c5fb2fd71"><code>21a0f94</code></a> Replace yield_fixture() by fixture()</li>… | 2020-05-04T13:27:19Z | 2020-05-04T17:41:01Z | 2020-05-04T17:40:49Z | 2020-05-04T17:40:49Z | b314e088c59425122fb2b2abde8741010d9d274a | 0 | 877fb569d2ae460ce845c7c855b02e0cdac23b68 | 707fe039947b3e48f2b6dcfe8e577d76b617f2a5 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/753 | ||||
415286105 | MDExOlB1bGxSZXF1ZXN0NDE1Mjg2MTA1 | 763 | closed | 0 | Documentation + improvements for db.execute() and Results class | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/763 | ||||
421491810 | MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw | 768 | closed | 0 | Use dirs_exist_ok=True | simonw 9599 | Refs #744 | 2020-05-21T17:53:44Z | 2020-05-27T20:21:56Z | 2020-05-21T17:53:51Z | 2020-05-21T17:53:51Z | cee671a58f417f827d1735b1abaa40716534ea67 | Datasette 0.43 5471110 | 0 | f2e0a558238a34dc482803762de2509474a178c6 | faea5093b865031f650da7da6539430f732f511a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/768 | |||
424032445 | MDExOlB1bGxSZXF1ZXN0NDI0MDMyNDQ1 | 769 | closed | 0 | Backport of Python 3.8 shutil.copytree | simonw 9599 | Closes #744 | 2020-05-27T18:17:15Z | 2020-05-27T20:21:56Z | 2020-05-27T18:17:44Z | 2020-05-27T18:17:44Z | 2d099ad9c657d2cab59de91cdb8bfed2da236ef6 | Datasette 0.43 5471110 | 0 | 6f80757f27e4651e6533856ea87b676dbc0d9c37 | cee671a58f417f827d1735b1abaa40716534ea67 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/769 | |||
424085264 | MDExOlB1bGxSZXF1ZXN0NDI0MDg1MjY0 | 772 | closed | 0 | Test that plugin hooks are unit tested | simonw 9599 | Refs #771 | 2020-05-27T20:01:32Z | 2020-05-27T20:21:56Z | 2020-05-27T20:16:03Z | 2020-05-27T20:16:02Z | da87e963bff24e47878a5bc2025c8bfc63d4bc93 | Datasette 0.43 5471110 | 0 | 173b6947521f1c1b47a119f62f379bf4278c87c9 | 41a0cd7b6afe0397efbbf27ad822679fc574811a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/772 | |||
425531205 | MDExOlB1bGxSZXF1ZXN0NDI1NTMxMjA1 | 783 | closed | 0 | Authentication: plugin hooks plus default --root auth mechanism | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/783 | ||||
426891471 | MDExOlB1bGxSZXF1ZXN0NDI2ODkxNDcx | 796 | closed | 0 | New WIP writable canned queries | simonw 9599 | 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 | Datasette 1.0 3268330 | 0 | e164939de719b5930ca4972e20490c9b2fd37f6d | 9690ce606823bbfceb0c50d59e03adf7bb1a8475 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/796 | |||
428212421 | MDExOlB1bGxSZXF1ZXN0NDI4MjEyNDIx | 798 | closed | 0 | CSRF protection | simonw 9599 | Refs #793 | 2020-06-05T04:22:35Z | 2020-06-06T00:43:41Z | 2020-06-05T19:05:58Z | 2020-06-05T19:05:57Z | 84a9c4ff75460f91c049bd30bba3cee1fd89d9e2 | Datasette 0.44 5512395 | 0 | fe43963376b1c44ec23a213277bcb33d98e4aef9 | d96ac1d52cacf34bae09705eb8f9a0e3f81c426b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/798 | |||
429366641 | MDExOlB1bGxSZXF1ZXN0NDI5MzY2NjQx | 803 | closed | 0 | Canned query permissions | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/803 | ||||
429613893 | MDExOlB1bGxSZXF1ZXN0NDI5NjEzODkz | 809 | closed | 0 | Publish secrets | simonw 9599 | 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 | Datasette 0.44 5512395 | 0 | abdac31328646705a957d58429b88d185ef43ded | ce4958018ede00fbdadf0c37a99889b6901bfb9b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/809 | |||
431478724 | MDExOlB1bGxSZXF1ZXN0NDMxNDc4NzI0 | 819 | closed | 0 | register_routes() plugin hook | simonw 9599 | Refs #215 | 2020-06-09T01:20:44Z | 2020-06-09T03:12:08Z | 2020-06-09T03:12:07Z | 2020-06-09T03:12:07Z | f5e79adf26d0daa3831e3fba022f1b749a9efdee | Datasette 0.44 5512395 | 0 | 18127f074efc1b0148d1098da063e51ccea7797c | 647c5ff0f3e8140f40d7f41f0874ce4e1f4df65c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/819 | |||
434055752 | MDExOlB1bGxSZXF1ZXN0NDM0MDU1NzUy | 844 | closed | 0 | Action to run tests and upload coverage report | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/844 | ||||
434085235 | MDExOlB1bGxSZXF1ZXN0NDM0MDg1MjM1 | 848 | closed | 0 | Reload support for config_dir mode. | amjith 49260 | A reference implementation for adding support to reload when datasette is in the config_dir mode. This implementation is flawed since it is watching the entire directory and any changes to the database will reload the server and adding unrelated files to the directory will also reload the server. | 2020-06-14T02:34:46Z | 2020-07-03T02:44:54Z | 2020-07-03T02:44:53Z | 888538efdbf545c0df524ca590a17fb6c6fa2419 | 0 | 0d100d15aca93fae200b3bc2e29dfd60aaa4b384 | 57879dc8b346a435804a9e45ffaacbf2a0228bc6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/848 | |||||
434162316 | MDExOlB1bGxSZXF1ZXN0NDM0MTYyMzE2 | 29 | closed | 0 | Fixed bug in SQL query for photo scores | RhetTbull 41546558 | The join on ZCOMPUTEDASSETATTRIBUTES used the wrong columns. In most of the Photos database tables, table.ZASSET joins with ZGENERICASSET.Z_PK | 2020-06-14T15:39:22Z | 2020-12-04T22:32:36Z | 2020-12-04T22:32:27Z | 2020-12-04T22:32:27Z | edc80a0d361006f478f2904a90bfe6c730ed6194 | 0 | f961a90788cb2059d40b9a0810900ac81e6859f6 | 45ce3f8bfb8c70f57ca5d8d82f22368fea1eb391 | CONTRIBUTOR | dogsheep-photos 256834907 | https://github.com/dogsheep/dogsheep-photos/pull/29 | ||||
439203808 | MDExOlB1bGxSZXF1ZXN0NDM5MjAzODA4 | 866 | closed | 0 | Update pytest-asyncio requirement from <0.13,>=0.10 to >=0.10,<0.15 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/53f3da7aefc719e62cbaa89e57ab68a7e12cc3c3"><code>53f3da7</code></a> Prepare for release</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e99569de645c37fc048964ab4c5073529080fd86"><code>e99569d</code></a> A line is added to the changelog.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4099b6351793611acabd8b26d93aabd44ce200c5"><code>4099b63</code></a> One import is not needed</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/68513b33616ff2ef93972acf1b992e7b1a18c4d1"><code>68513b3</code></a> Clarify names and comments, according to yanlend comments 26 May</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/907e8f24b9444f50cb30f17265665706882bc01f"><code>907e8f2</code></a> FIX new test_cases on python 3.5 & 3.6</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/51d986cec83fdbc14fa08015424c79397afc7ad9"><code>51d986c</code></a> To solve test cases that fail:</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/f97e900f1fcb51a572a1b861c95ac49e69bbfdf9"><code>f97e900</code></a> 1) Test case (test_async_fixtures_with_finalizer) refactoring to pass on pyth...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/c1131f8b5313189508dc81d7ef1937ccb136658b"><code>c1131f8</code></a> 1) A new test case that fails with 0.12.0, and pass with this commit.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/7a255bc4cf82aba7aa4b213c1a97c81d532c1e85"><code>7a255bc</code></a> 0.13.0 open for business</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b8e2a45e152a196cef7fdb6ddcf3e2d67a0f01ca"><code>b8e2a45</code></a> 0.12.0</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.10.0...v0.14.0… | 2020-06-24T13:21:47Z | 2020-06-24T18:50:57Z | 2020-06-24T18:50:56Z | 2020-06-24T18:50:56Z | 1bb33dab49fd25f77b9f8e7ab7ee23b3d64c123c | 0 | fb64dda76dda7354a77cb50c5864aff67a6fef8d | 1a5b7d318fa923edfcefd3df8f64dae2e9c49d3f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/866 | ||||
440946817 | MDExOlB1bGxSZXF1ZXN0NDQwOTQ2ODE3 | 869 | closed | 0 | Magic parameters for canned queries | simonw 9599 | 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 | Datasette 0.45 5533512 | 0 | 9e693a7aae3b4a0882881e3a1c182e1c0c753efd | 4b142862f237f95a731cb8263a293eda70d13c82 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/869 | |||
443823040 | MDExOlB1bGxSZXF1ZXN0NDQzODIzMDQw | 890 | closed | 0 | Load only python files from plugins-dir. | amjith 49260 | The current behavior for `--plugins-dir` is to load every file in that folder as a python module. This can result in errors if there are non-python files in the plugins dir (such as .mypy_cache). This PR restricts the module loading to only python files. | 2020-07-03T02:47:32Z | 2020-07-03T03:08:33Z | 2020-07-03T03:08:33Z | 2020-07-03T03:08:33Z | ea99a4431ce5bc2d65a3496da5b38e1986550a96 | 0 | 745af3b72d95d91f3ccd703f4fab819bc9f4b6a4 | 57879dc8b346a435804a9e45ffaacbf2a0228bc6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/890 | ||||
445023326 | MDExOlB1bGxSZXF1ZXN0NDQ1MDIzMzI2 | 118 | closed | 0 | Add insert --truncate option | tsibley 79913 | Deletes all rows in the table (if it exists) before inserting new rows. SQLite doesn't implement a TRUNCATE TABLE statement but does optimize an unqualified DELETE FROM. This can be handy if you want to refresh the entire contents of a table but a) don't have a PK (so can't use --replace), b) don't want the table to disappear (even briefly) for other connections, and c) have to handle records that used to exist being deleted. Ideally the replacement of rows would appear instantaneous to other connections by putting the DELETE + INSERT in a transaction, but this is very difficult without breaking other code as the current transaction handling is inconsistent and non-systematic. There exists the possibility for the DELETE to succeed but the INSERT to fail, leaving an empty table. This is not much worse, however, than the current possibility of one chunked INSERT succeeding and being committed while the next chunked INSERT fails, leaving a partially complete operation. | 2020-07-06T21:58:40Z | 2020-07-08T17:26:21Z | 2020-07-08T17:26:21Z | 2020-07-08T17:26:21Z | ae4593316ccf5e42ad26f27033193834a7e696c8 | 0 | 332f7d770b84734dbed4842ab3ed24ee5b687889 | f8277d0fb9c05a88a9ff01d996e31d55f0f0a645 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/118 | ||||
445833908 | MDExOlB1bGxSZXF1ZXN0NDQ1ODMzOTA4 | 120 | closed | 0 | Fix query command's support for DML | tsibley 79913 | See commit messages for details. I ran into this while investigating another feature/issue. | 2020-07-08T01:36:34Z | 2020-07-08T05:14:04Z | 2020-07-08T05:14:04Z | 2020-07-08T05:14:04Z | f8277d0fb9c05a88a9ff01d996e31d55f0f0a645 | 0 | 6a660d12a27864d6ab552e11eef9fd13bc281198 | d0cdaaaf00249230e847be3a3b393ee2689fbfe4 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/120 | ||||
453890292 | MDExOlB1bGxSZXF1ZXN0NDUzODkwMjky | 901 | closed | 0 | Use None as a default arg | Alyetama 56323389 | When passing a mutable value as a default argument in a function, the default argument is mutated anytime that value is mutated. This poses a bug risk. Instead, use None as a default and assign the mutable value inside the function. | 2020-07-20T22:18:38Z | 2020-07-31T18:42:39Z | 2020-07-31T18:42:39Z | 2020-07-31T18:42:39Z | 2d7fa8b9058dfbf9c7c371cdeec115d32a177dc9 | 0 | 1285f28d82d9ca97e7543bb87fc6ff462855debe | d9a5ef1c32a4390e398653ebfd570f8e1a03d93e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/901 | ||||
453995179 | MDExOlB1bGxSZXF1ZXN0NDUzOTk1MTc5 | 902 | closed | 0 | Don't install tests package | abeyerpath 32467826 | The `exclude` argument to `find_packages` needs an iterable of package names. Fixes: #456 | 2020-07-21T01:08:50Z | 2020-07-24T20:39:54Z | 2020-07-24T20:39:54Z | 2020-07-24T20:39:54Z | 6be5654ffab282e8cf39cc138ba2d4496ebc7407 | 0 | 9aa139dc98bd72a29ee1c940820bc05b0e717f1d | d9a5ef1c32a4390e398653ebfd570f8e1a03d93e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/902 | ||||
458435592 | MDExOlB1bGxSZXF1ZXN0NDU4NDM1NTky | 910 | closed | 0 | Update pytest requirement from <5.5.0,>=5.2.2 to >=5.2.2,<6.1.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>6.0.0</h2> <h1>pytest 6.0.0 (2020-07-28)</h1> <p>(<strong>Please see the full set of changes for this release also in the 6.0.0rc1 notes below</strong>)</p> <h2>Breaking Changes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/5584">#5584</a>: <strong>PytestDeprecationWarning are now errors by default.</strong></p> <p>Following our plan to remove deprecated features with as little disruption as possible, all warnings of type <code>PytestDeprecationWarning</code> now generate errors instead of warning messages.</p> <p><strong>The affected features will be effectively removed in pytest 6.1</strong>, so please consult the <a href="https://docs.pytest.org/en/latest/deprecations.html">Deprecations and Removals</a> section in the docs for directions on how to update existing code.</p> <p>In the pytest <code>6.0.X</code> series, it is possible to change the errors back into warnings as a stopgap measure by adding this to your <code>pytest.ini</code> file:</p> <pre lang="{.sourceCode" data-meta=".ini}"><code>[pytest] filterwarnings = ignore::pytest.PytestDeprecationWarning </code></pre> <p>But this will stop working when pytest <code>6.1</code> is released.</p> <p><strong>If you have concerns</strong> about the removal of a specific feature, please add a comment to <a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/5584">#5584</a>.</p> </li> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7472">#7472</a>: The <code>exec_()</code> and <code>is_true()</code> methods of <code>_pytest._code.Frame</code> have been removed.</p> </li> </ul> <h2>Features</h2> <ul> <li><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7464">#7464</a>: Added… | 2020-07-29T13:21:17Z | 2020-07-29T21:26:05Z | 2020-07-29T21:26:04Z | 2020-07-29T21:26:04Z | c5c12a797f0b81cd5862dcd50354b4b571e9bf5a | 0 | 3493915bbce6a279659df3d6b09ba0d36a8f9793 | 3c33b421320c0be81a625ca7307b2e4416a9ed5b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/910 | ||||
466410755 | MDExOlB1bGxSZXF1ZXN0NDY2NDEwNzU1 | 927 | closed | 0 | 'datasette --get' option, refs #926 | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/927 | ||||
468370658 | MDExOlB1bGxSZXF1ZXN0NDY4MzcwNjU4 | 936 | closed | 0 | Don't hang in db.execute_write_fn() if connection fails | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/936 | ||||
468377212 | MDExOlB1bGxSZXF1ZXN0NDY4Mzc3MjEy | 937 | closed | 0 | Docs now live at docs.datasette.io | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/937 | |||||
468484031 | MDExOlB1bGxSZXF1ZXN0NDY4NDg0MDMx | 941 | closed | 0 | Run CI on GitHub Actions, not Travis | simonw 9599 | 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/941 | ||||
469651732 | MDExOlB1bGxSZXF1ZXN0NDY5NjUxNzMy | 48 | closed | 0 | Add pull requests | adamjonas 755825 | ref #46 Issues don't have merge information on them, which means that PRs need to be pulled separately. Did my best to mimic the API of issues. | 2020-08-18T17:58:44Z | 2020-11-29T23:51:09Z | 2020-11-29T23:51:09Z | 2020-11-29T23:51:09Z | b37f55549461cfe0731b57623f315860b3db49d0 | 0 | 3a0d5c498f9faae4e40aab204cd01b965a4f61f3 | 16d271253f4ea71b261d2d228b926c7bc1a7e660 | CONTRIBUTOR | github-to-sqlite 207052882 | https://github.com/dogsheep/github-to-sqlite/pull/48 | ||||
469944999 | MDExOlB1bGxSZXF1ZXN0NDY5OTQ0OTk5 | 49 | closed | 0 | Document the use of --stop_after with favorites, refs #20 | mikepqr 370930 | (I discovered this trawling the issues for how to use --since with favorites) | 2020-08-19T06:10:52Z | 2021-08-20T00:02:11Z | 2021-08-20T00:02:11Z | 2021-08-20T00:02:10Z | b6a4da8be3b6d4b74c6a5fac8924bf22a6824f2c | 0 | 7ace806c81faf31c1aace0f0b2a4c17dd72cfa06 | 21fc1cad6dd6348c67acff90a785b458d3a81275 | CONTRIBUTOR | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/49 | ||||
474703007 | MDExOlB1bGxSZXF1ZXN0NDc0NzAzMDA3 | 952 | closed | 0 | Update black requirement from ~=19.10b0 to >=19.10,<21.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [black](https://github.com/psf/black) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/master/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h3>20.8b1</h3> <h4><em>Packaging</em></h4> <ul> <li>explicitly depend on Click 7.1.2 or newer as <code>Black</code> no longer works with versions older than 7.0</li> </ul> <h3>20.8b0</h3> <h4><em>Black</em></h4> <ul> <li> <p>re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures (<a href="https://github-redirect.dependabot.com/psf/black/issues/1288">#1288</a> and duplicates)</p> </li> <li> <p><code>Black</code> now reindents docstrings when reindenting code around it (<a href="https://github-redirect.dependabot.com/psf/black/issues/1053">#1053</a>)</p> </li> <li> <p><code>Black</code> now shows colored diffs (<a href="https://github-redirect.dependabot.com/psf/black/issues/1266">#1266</a>)</p> </li> <li> <p><code>Black</code> is now packaged using 'py3' tagged wheels (<a href="https://github-redirect.dependabot.com/psf/black/issues/1388">#1388</a>)</p> </li> <li> <p><code>Black</code> now supports Python 3.8 code, e.g. star expressions in return statements (<a href="https://github-redirect.dependabot.com/psf/black/issues/1121">#1121</a>)</p> </li> <li> <p><code>Black</code> no longer normalizes capital R-string prefixes as those have a community-accepted meaning (<a href="https://github-redirect.dependabot.com/psf/black/issues/1244">#1244</a>)</p> </li> <li> <p><code>Black</code> now uses exit code 2 when specified configuration file doesn't exit (<a href="https://github-redirect.dependabot.com/psf/black/issues/1361">#1361</a>)</p> </li> <li> <p><code>Black</code> now works on AWS Lambda (<a href="https://github-redirect.dependabot.com/psf/black/issues/1141">#1141</a>)</p> </li> <li> <p>added <code>--force-exclude</code> argument (<a href="https://github-redirect.dependabot.com/p… | 2020-08-27T13:31:36Z | 2020-09-02T22:26:17Z | 2020-09-02T22:26:16Z | 37f8531b321855bdbc58960281957febaa59e4b9 | 0 | 7b1354706467136f5030504fe799201b13333a95 | 86aefc39c5aca01b00dbc57ba386a6743c21fb46 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/952 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [pull_requests] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [state] TEXT, [locked] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [body] TEXT, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [merged_at] TEXT, [merge_commit_sha] TEXT, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [draft] INTEGER, [head] TEXT, [base] TEXT, [author_association] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [url] TEXT, [merged_by] INTEGER REFERENCES [users]([id]) , [auto_merge] TEXT); CREATE INDEX [idx_pull_requests_merged_by] ON [pull_requests] ([merged_by]); CREATE INDEX [idx_pull_requests_repo] ON [pull_requests] ([repo]); CREATE INDEX [idx_pull_requests_milestone] ON [pull_requests] ([milestone]); CREATE INDEX [idx_pull_requests_assignee] ON [pull_requests] ([assignee]); CREATE INDEX [idx_pull_requests_user] ON [pull_requests] ([user]);