github
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
327172545 | MDExOlB1bGxSZXF1ZXN0MzI3MTcyNTQ1 | 590 | closed | 0 | Handle spaces in DB names | 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 | 107914493 | https://github.com/simonw/datasette/pull/590 | ||||
327188087 | MDExOlB1bGxSZXF1ZXN0MzI3MTg4MDg3 | 591 | closed | 0 | Sort databases on homepage by argument order | 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 | 107914493 | https://github.com/simonw/datasette/pull/591 | ||||
327279818 | MDExOlB1bGxSZXF1ZXN0MzI3Mjc5ODE4 | 592 | closed | 0 | Offer SQL formatting | 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 | 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 | 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 | 107914493 | https://github.com/simonw/datasette/pull/595 | |||||
329890320 | MDExOlB1bGxSZXF1ZXN0MzI5ODkwMzIw | 599 | closed | 0 | Fix for /foo v.s. /foo-bar issue in #597 | 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 | 107914493 | https://github.com/simonw/datasette/pull/599 | ||||
329947180 | MDExOlB1bGxSZXF1ZXN0MzI5OTQ3MTgw | 601 | closed | 0 | Don't auto-format SQL on page load | 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 | 107914493 | https://github.com/simonw/datasette/pull/601 | ||||
330076263 | MDExOlB1bGxSZXF1ZXN0MzMwMDc2MjYz | 602 | closed | 0 | Offer to format readonly SQL | 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 | 107914493 | https://github.com/simonw/datasette/pull/602 | ||||
330129358 | MDExOlB1bGxSZXF1ZXN0MzMwMTI5MzU4 | 603 | closed | 0 | always pop as_format off args dict | 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 | 107914493 | https://github.com/simonw/datasette/pull/603 | ||||
334448258 | MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4 | 609 | closed | 0 | Update to latest black | 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 | 107914493 | https://github.com/simonw/datasette/pull/609 | |||||
339236647 | MDExOlB1bGxSZXF1ZXN0MzM5MjM2NjQ3 | 623 | closed | 0 | Test against Python 3.8 in Travis | 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 | 107914493 | https://github.com/simonw/datasette/pull/623 | ||||
339244888 | MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4 | 624 | closed | 0 | Bump pint to 0.9 | 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 | 107914493 | https://github.com/simonw/datasette/pull/624 | |||||
339722790 | MDExOlB1bGxSZXF1ZXN0MzM5NzIyNzkw | 627 | closed | 0 | Support Python 3.8, stop supporting Python 3.5 | 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 | 107914493 | https://github.com/simonw/datasette/pull/627 | ||||
339742432 | MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy | 630 | closed | 0 | Use python:3.8 base Docker image | 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 | 107914493 | https://github.com/simonw/datasette/pull/630 | ||||
340211149 | MDExOlB1bGxSZXF1ZXN0MzQwMjExMTQ5 | 631 | closed | 0 | bugfix issue 572 | 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 | 107914493 | https://github.com/simonw/datasette/pull/631 | ||||
340743220 | MDExOlB1bGxSZXF1ZXN0MzQwNzQzMjIw | 635 | closed | 0 | Use Jinja async mode | 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 | 107914493 | https://github.com/simonw/datasette/pull/635 | ||||
347179081 | MDExOlB1bGxSZXF1ZXN0MzQ3MTc5MDgx | 644 | closed | 0 | Validate metadata json on startup | 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 | 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 | 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 | 107914493 | https://github.com/simonw/datasette/pull/652 | |||||
356004242 | MDExOlB1bGxSZXF1ZXN0MzU2MDA0MjQy | 653 | closed | 0 | allow leading comments in SQL input field | 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 | 107914493 | https://github.com/simonw/datasette/pull/653 | ||||
365218391 | MDExOlB1bGxSZXF1ZXN0MzY1MjE4Mzkx | 660 | closed | 0 | gcloud run is now GA, s/beta// | 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 | 107914493 | https://github.com/simonw/datasette/pull/660 | |||||
368734500 | MDExOlB1bGxSZXF1ZXN0MzY4NzM0NTAw | 663 | closed | 0 | -p argument for datasette package, plus tests - refs #661 | 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 | 107914493 | https://github.com/simonw/datasette/pull/663 | |||||
370675007 | MDExOlB1bGxSZXF1ZXN0MzcwNjc1MDA3 | 664 | closed | 0 | Datasette.render_template() method | 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 | 107914493 | https://github.com/simonw/datasette/pull/664 | ||||
372763906 | MDExOlB1bGxSZXF1ZXN0MzcyNzYzOTA2 | 666 | closed | 0 | Use inspect-file, if possible, for total row count | 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 | 107914493 | https://github.com/simonw/datasette/pull/666 | ||||
373775788 | MDExOlB1bGxSZXF1ZXN0MzczNzc1Nzg4 | 669 | closed | 0 | fix db-to-sqlite command in ecosystem doc page | 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 | 107914493 | https://github.com/simonw/datasette/pull/669 | ||||
375180832 | MDExOlB1bGxSZXF1ZXN0Mzc1MTgwODMy | 672 | open | 0 | --dirs option for scanning directories for SQLite databases | 9599 | Refs #417. | 2020-02-14T02:25:52Z | 2020-03-27T01:03:53Z | 0e0e544f1f23451f04d7ca576ace5b18ce168e6f | 0 | ee718b98b793df2a15b125cbf20816c9864bf7e9 | 6aa516d82dea9885cb4db8d56ec2ccfd4cd9b840 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/672 | ||||||
379378780 | MDExOlB1bGxSZXF1ZXN0Mzc5Mzc4Nzgw | 686 | closed | 0 | ?_searchmode=raw option | 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 | 107914493 | https://github.com/simonw/datasette/pull/686 | ||||
381666777 | MDExOlB1bGxSZXF1ZXN0MzgxNjY2Nzc3 | 688 | closed | 0 | Don't count rows on homepage for DBs > 100MB | 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 | 107914493 | https://github.com/simonw/datasette/pull/688 | ||||
391924509 | MDExOlB1bGxSZXF1ZXN0MzkxOTI0NTA5 | 703 | closed | 0 | WIP implementation of writable canned queries | 9599 | Refs #698. | 2020-03-21T22:23:51Z | 2020-06-03T00:08:14Z | 2020-06-02T23:57:35Z | 80c5a74a947e63673389604de12e80fa27305454 | 1 | 61e40e917efc43a8aea5298a22badbb6eaea3fa1 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/703 | |||||
397749653 | MDExOlB1bGxSZXF1ZXN0Mzk3NzQ5NjUz | 714 | closed | 0 | --metadata accepts YAML as well as JSON | 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 | 107914493 | https://github.com/simonw/datasette/pull/714 | ||||
399166433 | MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz | 719 | closed | 0 | asgi: check raw_path is not None | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 107914493 | https://github.com/simonw/datasette/pull/734 | ||||
409123897 | MDExOlB1bGxSZXF1ZXN0NDA5MTIzODk3 | 737 | closed | 0 | Custom pages mechanism, refs #648 | 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 | 107914493 | https://github.com/simonw/datasette/pull/737 | ||||
409153870 | MDExOlB1bGxSZXF1ZXN0NDA5MTUzODcw | 739 | closed | 0 | Configuration directory mode | 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 | 107914493 | https://github.com/simonw/datasette/pull/739 | ||||
410469272 | MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy | 746 | closed | 0 | shutil.Error, not OSError | 9599 | Refs #744 | 2020-04-29T03:30:51Z | 2020-04-29T07:07:24Z | 2020-04-29T07:07:23Z | e4e8b51b50e51b2515c6d8874d16c4607f79b80a | 0 | af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | 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 | 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 | 107914493 | https://github.com/simonw/datasette/pull/753 | ||||
415286105 | MDExOlB1bGxSZXF1ZXN0NDE1Mjg2MTA1 | 763 | closed | 0 | Documentation + improvements for db.execute() and Results class | 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 | 107914493 | https://github.com/simonw/datasette/pull/763 | ||||
425531205 | MDExOlB1bGxSZXF1ZXN0NDI1NTMxMjA1 | 783 | closed | 0 | Authentication: plugin hooks plus default --root auth mechanism | 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 | 107914493 | https://github.com/simonw/datasette/pull/783 | ||||
429366641 | MDExOlB1bGxSZXF1ZXN0NDI5MzY2NjQx | 803 | closed | 0 | Canned query permissions | 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 | 107914493 | https://github.com/simonw/datasette/pull/803 | ||||
434055752 | MDExOlB1bGxSZXF1ZXN0NDM0MDU1NzUy | 844 | closed | 0 | Action to run tests and upload coverage report | 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 | 107914493 | https://github.com/simonw/datasette/pull/844 | ||||
434085235 | MDExOlB1bGxSZXF1ZXN0NDM0MDg1MjM1 | 848 | closed | 0 | Reload support for config_dir mode. | 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 | 107914493 | https://github.com/simonw/datasette/pull/848 | |||||
439203808 | MDExOlB1bGxSZXF1ZXN0NDM5MjAzODA4 | 866 | closed | 0 | Update pytest-asyncio requirement from <0.13,>=0.10 to >=0.10,<0.15 | 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 | 107914493 | https://github.com/simonw/datasette/pull/866 | ||||
440735814 | MDExOlB1bGxSZXF1ZXN0NDQwNzM1ODE0 | 868 | open | 0 | initial windows ci setup | 702729 | Picking up the work done on #557 with a new PR. Seeing if I can get this working. | 2020-06-26T18:49:13Z | 2021-07-10T23:41:43Z | b99adb1720a0b53ff174db54d0e4a67357b47f33 | 0 | c99cabae638958ef057438a92cb9a182ba4f8188 | 180c7a5328457aefdf847ada366e296fef4744f1 | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/868 | ||||||
442505088 | MDExOlB1bGxSZXF1ZXN0NDQyNTA1MDg4 | 883 | open | 0 | Skip counting hidden tables | 3243482 | Potential fix for https://github.com/simonw/datasette/issues/859. Disabling table counts for hidden tables speeds up database page quite a bit. In my setup it reduced load time by 2/3 (~300 -> ~90ms) | 2020-07-01T07:38:08Z | 2020-07-02T00:25:44Z | 527624338acd38b97bb33b0a0b913d80e8345fee | 0 | 251884f58895faf8056b3dfdeae3bb92c5bc58ac | 676bb64c877d73f8ff496cef4632f5a8a5a9283c | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/883 | ||||||
443823040 | MDExOlB1bGxSZXF1ZXN0NDQzODIzMDQw | 890 | closed | 0 | Load only python files from plugins-dir. | 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 | 107914493 | https://github.com/simonw/datasette/pull/890 | ||||
453890292 | MDExOlB1bGxSZXF1ZXN0NDUzODkwMjky | 901 | closed | 0 | Use None as a default arg | 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 | 107914493 | https://github.com/simonw/datasette/pull/901 | ||||
453995179 | MDExOlB1bGxSZXF1ZXN0NDUzOTk1MTc5 | 902 | closed | 0 | Don't install tests package | 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 | 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 | 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 | 107914493 | https://github.com/simonw/datasette/pull/910 | ||||
466410755 | MDExOlB1bGxSZXF1ZXN0NDY2NDEwNzU1 | 927 | closed | 0 | 'datasette --get' option, refs #926 | 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 | 107914493 | https://github.com/simonw/datasette/pull/927 | ||||
468370658 | MDExOlB1bGxSZXF1ZXN0NDY4MzcwNjU4 | 936 | closed | 0 | Don't hang in db.execute_write_fn() if connection fails | 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 | 107914493 | https://github.com/simonw/datasette/pull/936 | ||||
468377212 | MDExOlB1bGxSZXF1ZXN0NDY4Mzc3MjEy | 937 | closed | 0 | Docs now live at docs.datasette.io | 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 | 107914493 | https://github.com/simonw/datasette/pull/937 | |||||
468484031 | MDExOlB1bGxSZXF1ZXN0NDY4NDg0MDMx | 941 | closed | 0 | Run CI on GitHub Actions, not Travis | 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 | 107914493 | https://github.com/simonw/datasette/pull/941 | ||||
474703007 | MDExOlB1bGxSZXF1ZXN0NDc0NzAzMDA3 | 952 | closed | 0 | Update black requirement from ~=19.10b0 to >=19.10,<21.0 | 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 | 107914493 | https://github.com/simonw/datasette/pull/952 | |||||
494146043 | MDExOlB1bGxSZXF1ZXN0NDk0MTQ2MDQz | 977 | closed | 0 | Update pytest requirement from <6.1.0,>=5.2.2 to >=5.2.2,<6.2.0 | 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.1.0</h2> <h1>pytest 6.1.0 (2020-09-26)</h1> <h2>Breaking Changes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/5585">#5585</a>: As per our policy, the following features which have been deprecated in the 5.X series are now removed:</p> <ul> <li>The <code>funcargnames</code> read-only property of <code>FixtureRequest</code>, <code>Metafunc</code>, and <code>Function</code> classes. Use <code>fixturenames</code> attribute.</li> <li><code>@pytest.fixture</code> no longer supports positional arguments, pass all arguments by keyword instead.</li> <li>Direct construction of <code>Node</code> subclasses now raise an error, use <code>from_parent</code> instead.</li> <li>The default value for <code>junit_family</code> has changed to <code>xunit2</code>. If you require the old format, add <code>junit_family=xunit1</code> to your configuration file.</li> <li>The <code>TerminalReporter</code> no longer has a <code>writer</code> attribute. Plugin authors may use the public functions of the <code>TerminalReporter</code> instead of accessing the <code>TerminalWriter</code> object directly.</li> <li>The <code>--result-log</code> option has been removed. Users are recommended to use the <a href="https://github.com/pytest-dev/pytest-reportlog">pytest-reportlog</a> plugin instead.</li> </ul> <p>For more information consult <a href="https://docs.pytest.org/en/stable/deprecations.html">Deprecations and Removals</a> in the docs.</p> </li> </ul> <h2>Deprecations</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6981">#6981</a>: The <code>pytest.collect</code> module is deprecated: all its names can be imported from <code>pytest</code> directly.</p> </li> <li> <p><a href="https://gi… | 2020-09-28T13:33:05Z | 2020-09-28T22:16:36Z | 2020-09-28T22:16:35Z | 2020-09-28T22:16:35Z | 1f021c37110fc9019b0ef70062c28c335e568ae2 | 0 | 5c01344a0ee3e0e7ad59e1cd8b0e63c976be71ee | 9a6d0dce282e7fb58c5610e24c74098c923abfdc | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/977 | ||||
496298180 | MDExOlB1bGxSZXF1ZXN0NDk2Mjk4MTgw | 986 | closed | 0 | Allow facet by primary keys, fixes #985 | 39452697 | Hello! This PR makes it possible to facet by primary keys. Did I get it right that just removing the condition on UI side is enough? From testing it works fine with primary keys, just as with normal keys. If so, should I also remove unused `data-is-pk`? | 2020-10-01T14:18:55Z | 2020-10-01T16:51:45Z | 2020-10-01T16:51:45Z | 58906c597f1217381f5d746726bcb8bdfa8f52f8 | 0 | 76f7094bd33f037a1c689a173f0dbbb988e6dcdd | 141544613f9e76ddb74eee38d6f8ee1e0e70f833 | NONE | 107914493 | https://github.com/simonw/datasette/pull/986 | |||||
498104830 | MDExOlB1bGxSZXF1ZXN0NDk4MTA0ODMw | 994 | closed | 0 | Run tests against Python 3.9 | 9599 | 2020-10-05T20:40:13Z | 2020-10-09T16:22:51Z | 2020-10-09T16:22:50Z | 2020-10-09T16:22:50Z | 6e091b14b651d67e0ff41a353d36bbeb1d8ba235 | 0 | ecba5d257ef4218a98b5903d856a4d7c0382f43d | e807c4eac0e85ae15e013379b0dde1d797f1377d | OWNER | 107914493 | https://github.com/simonw/datasette/pull/994 | |||||
500798091 | MDExOlB1bGxSZXF1ZXN0NTAwNzk4MDkx | 1008 | open | 0 | Add json_loads and json_dumps jinja2 filters | 649467 | 2020-10-09T20:11:34Z | 2020-12-15T02:30:28Z | e33e91ca7c9b2fdeab9d8179ce0d603918b066aa | 0 | 40858989d47043743d6b1c9108528bec6a317e43 | 1bdbc8aa7f4fd7a768d456146e44da86cb1b36d1 | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1008 | |||||||
501579088 | MDExOlB1bGxSZXF1ZXN0NTAxNTc5MDg4 | 1017 | closed | 0 | Update janus requirement from <0.6,>=0.4 to >=0.4,<0.7 | 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>Changes</h1> <h2>0.5.0 (2020-04-23)</h2> <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> <h2>0.4.0 (2018-07-28)</h2> <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> <h2>0.3.2 (2018-07-06)</h2> <ul> <li>Fixed python 3.7 support <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/97">#97</a></li> </ul> <h2>0.3.1 (2018-01-30)</h2> <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> <h2>0.3.0 (2017-02-21)</h2> <ul> <li>Expose unfinished_tasks property <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/34">#34</a></li> </ul> <h2>0.2.4 (2016-12-05)</h2> <ul> <li>Restore tarball deploying</li> </ul> <h2>0.2.3 (2016-07-12)</h2> <ul> <li>Fix exception type</li> </ul> <h2>0.2.2 (2016-07-11)</h2> <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> <h2>0.2.1 (2016-03-24)</h2> <ul> <li>Fix python setup.py test command <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/4">#4</a></li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><… | 2020-10-12T13:29:46Z | 2020-10-14T21:52:08Z | 2020-10-14T21:52:07Z | 2020-10-14T21:52:07Z | 7f2edb5dd2074dce0090659021991695a984844b | 0 | f30d9da06b02a53f880b6fe7a7af9d3ff719dede | acf07a67722aa74828744726187690b59d342494 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1017 | ||||
501579315 | MDExOlB1bGxSZXF1ZXN0NTAxNTc5MzE1 | 1018 | closed | 0 | Update asgiref requirement from ~=3.2.10 to >=3.2.10,<3.4.0 | 27856297 | Updates the requirements on [asgiref](https://github.com/django/asgiref) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/django/asgiref/blob/master/CHANGELOG.txt">asgiref's changelog</a>.</em></p> <blockquote> <h2>3.3.0 (2020-10-09)</h2> <ul> <li>sync_to_async now defaults to thread-sensitive mode being on</li> <li>async_to_sync now works inside of forked processes</li> <li>WsgiToAsgi now correctly clamps its response body when Content-Length is set</li> </ul> <h2>3.2.10 (2020-08-18)</h2> <ul> <li>Fixed bugs due to bad WeakRef handling introduced in 3.2.8</li> </ul> <h2>3.2.9 (2020-06-16)</h2> <ul> <li>Fixed regression with exception handling in 3.2.8 related to the contextvars fix.</li> </ul> <h2>3.2.8 (2020-06-15)</h2> <ul> <li>Fixed small memory leak in local.Local</li> <li>contextvars are now persisted through AsyncToSync</li> </ul> <h2>3.2.7 (2020-03-24)</h2> <ul> <li>Bug fixed in local.Local where deleted Locals would occasionally inherit their storage into new Locals due to memory reuse.</li> </ul> <h2>3.2.6 (2020-03-23)</h2> <ul> <li>local.Local now works in all threading situations, no longer requires periodic garbage collection, and works with libraries that monkeypatch threading (like gevent)</li> </ul> <h2>3.2.5 (2020-03-11)</h2> <ul> <li><strong>self</strong> is now preserved on methods by async_to_sync</li> </ul> <h2>3.2.4 (2020-03-10)</h2> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/django/asgiref/commit/7dba5ff61313dfd1535de200590b9155abde20f0"><code>7dba5ff</code></a> Releasing 3.3.0</li> <li><a href="https://github.com/django/asgiref/commit/e1e0dd9a900966b29345e6069c0fdbc9a449e97f"><code>e1e0dd9</code></a> Added ZeroCopy extension</li> <li><a href="https://github.com/django/asgiref/commit/3834d13a8f5da921bb5f8ca16ee66d353fdbdadb"><code>3834d13</code></a> Added rpc.py to Implementations (<a href="https://github-redirect.dependabot.com/django/asgiref… | 2020-10-12T13:30:09Z | 2020-10-14T21:51:36Z | 2020-10-14T21:51:35Z | 2020-10-14T21:51:35Z | b4a8e70957517ff44d6a9121422d266a3c5fd664 | 0 | 4b021be087d0dba2b4ac0b872b2512f5b2203397 | acf07a67722aa74828744726187690b59d342494 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1018 | ||||
503685077 | MDExOlB1bGxSZXF1ZXN0NTAzNjg1MDc3 | 1022 | closed | 0 | Fix table name in spatialite example command | 639012 | The example query for creating a new point geometry seems to be using a table called 'museums' but at one point it instead uses 'events'. I *believe* it is intended to be museums (the example makes more sense if so). | 2020-10-14T22:19:34Z | 2020-10-14T23:46:46Z | 2020-10-14T23:46:46Z | 2020-10-14T23:46:46Z | 4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc | 0 | 7cef70a5528af4626302729ff0ebc88d92b5f4ca | 7f2edb5dd2074dce0090659021991695a984844b | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1022 | ||||
505339515 | MDExOlB1bGxSZXF1ZXN0NTA1MzM5NTE1 | 1029 | closed | 0 | fix(docs): broken link | 17075617 | This PR fixes a broken markdown link in the `Publish` docs page. | 2020-10-17T20:03:20Z | 2020-10-17T20:05:04Z | 2020-10-17T20:05:04Z | 2020-10-17T20:05:04Z | 568bd7bbf590861687db8c318f3d8cfcd1dfb47a | 0 | a65d30e832d7e65adc65dcce8ab006227e4dafe4 | 4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1029 | ||||
505453900 | MDExOlB1bGxSZXF1ZXN0NTA1NDUzOTAw | 1030 | open | 0 | Make `package` command deal with a configuration directory argument | 299380 | Currently if we run `datasette package` on a configuration directory we'll get an exception when we try to hard link to the directory. This PR copies the tree and makes the Dockerfile run inspect on all *.db files. | 2020-10-18T11:07:02Z | 2020-10-19T08:01:51Z | 124142e4d2710525b09ff2bd2a7a787cbed163a4 | 0 | e0825334692967fec195e104cb6aa11095807a8e | c37a0a93ecb847e66cfe7b6f9452ba210fcae91b | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1030 | ||||||
505769462 | MDExOlB1bGxSZXF1ZXN0NTA1NzY5NDYy | 1031 | closed | 0 | Fallback to databases in inspect-data.json when no -i options are passed | 299380 | Currenlty `Datasette.__init__` checks immutables against None to decide whether to fallback to inspect-data.json. This patch modifies the serve command to pass None when no -i options are passed so this fallback works correctly. | 2020-10-19T07:51:06Z | 2021-03-29T01:46:45Z | 2021-03-29T00:23:41Z | 3ee6b39e96ef684e1ac393bb269d804e957fee1d | 0 | 7e7eaa4e712b01de0b5a8a1b90145bdc1c3cd731 | c37a0a93ecb847e66cfe7b6f9452ba210fcae91b | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1031 | |||||
507267087 | MDExOlB1bGxSZXF1ZXN0NTA3MjY3MDg3 | 1038 | closed | 0 | DOC: Fix syntax error | 194147 | If I understand https://docs.datasette.io/en/stable/plugin_hooks.html#register-routes correctly, `register_routes` should return a `List[Tuple[str, Callable]]`. I believe the current code in documentation has a syntax error (extra `)`). | 2020-10-21T05:45:38Z | 2020-10-21T22:57:21Z | 2020-10-21T22:44:17Z | 2020-10-21T22:44:17Z | 6e26b057996c6f3fefa8ad528e2759e53c738844 | 0 | 7fc0cce6a2d13ccc82c3584996acec236ae65df6 | 66120a7a1cb592e8a21164cf537f62a4d7ab1dfc | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1038 | ||||
508719567 | MDExOlB1bGxSZXF1ZXN0NTA4NzE5NTY3 | 1043 | closed | 0 | Include LICENSE in sdist | 45380 | Hi, thanks for `datasette`! This PR adds the `LICENSE` to source distributions, which seems the norm for Apache-2.0 stuff. I noticed the [0.50.2 sdist](https://files.pythonhosted.org/packages/f2/ba/1b5f182c3f1769c0863bcaa77406bdcb81c92e31bb579959c01b1d8951c0/datasette-0.50.2.tar.gz) doesn't ship `LICENSE`, but the 0.5.2 `whl` does, so I'm assuming the intent _is_ to ship... and it's a one-liner! Motivation: It might be a bit of a slog, but I'm looking to see about getting `datasette` (and friends!) available on conda-forge. There are a few missing upstreams (`asgi-csrf`, `python-basecov`, `mergedeep`) and some of the plugins don't even appear to _have_ tarballs (just `whl`!), but the little stuff like licenses are nice to get out handled upstream vs separately grabbing them. | 2020-10-23T05:04:12Z | 2020-10-26T00:14:57Z | 2020-10-23T20:54:35Z | 2020-10-23T20:54:35Z | 976e5f74aae1fa0d406df6691dc8b5feeebe8788 | 0 | dc4129cb37060b52775d96e756f7cdb65ee76bc3 | d0cc6f4c32e1f89238ddec782086b3122f445bd4 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1043 | ||||
508720660 | MDExOlB1bGxSZXF1ZXN0NTA4NzIwNjYw | 1044 | closed | 0 | Add minimum supported python | 45380 | Thanks for `datasette`! This PR adds `python_requires` to formally signal the [minimum supported python version](https://packaging.python.org/guides/dropping-older-python-versions/#specify-the-version-ranges-for-supported-python-distributions) (which is pointed out with classifiers, so seems pretty straightforward). | 2020-10-23T05:08:03Z | 2020-10-23T20:53:08Z | 2020-10-23T20:53:08Z | 2020-10-23T20:53:08Z | cab8e65261b117b493af6a0b21aa2e1ae4564419 | 0 | 6453ab18e56b36bc912b6f24c4a43002c6084ade | d0cc6f4c32e1f89238ddec782086b3122f445bd4 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1044 | ||||
509590205 | MDExOlB1bGxSZXF1ZXN0NTA5NTkwMjA1 | 1049 | closed | 0 | Add template block prior to extra URL loaders | 82988 | To handle packages that require Javascript state setting prior to loading a package (eg [`thebelab`](https://thebelab.readthedocs.io/en/latest/examples/minimal_example.html), provide a template block before the URLs are loaded. | 2020-10-25T13:08:55Z | 2020-10-29T09:20:52Z | 2020-10-29T09:20:34Z | 99f994b14e2dbe22fda18b67dd5c824d359443fb | 0 | 50a743ad35684f09d3c3880f6af2019e59271237 | 42f4851e3e7885f1092f104d6c883cea40b12f02 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1049 | |||||
511549374 | MDExOlB1bGxSZXF1ZXN0NTExNTQ5Mzc0 | 1059 | closed | 0 | Update aiofiles requirement from <0.6,>=0.4 to >=0.4,<0.7 | 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/b4482aeef5312d4bf0c1abda5892df80957fa01f"><code>b4482ae</code></a> 0.6.0</li> <li><a href="https://github.com/Tinche/aiofiles/commit/eaccd3e43013b843f606665a68d3db395437e537"><code>eaccd3e</code></a> Update Changelog</li> <li><a href="https://github.com/Tinche/aiofiles/commit/2de90cf95e48db9178ef5bb246b5866892e8ef8e"><code>2de90cf</code></a> Test on 3.9</li> <li><a href="https://github.com/Tinche/aiofiles/commit/62b4c27096a5437f0608886e98cbe2681992ca57"><code>62b4c27</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/4083c7371a2e667a316efa55613cfe6b826304b2"><code>4083c73</code></a> Removed pypy3 for ppc64le</li> <li><a href="https://github.com/Tinche/aiofiles/commit/26e795b5dafe7d227147f1663ffeca6a76efe453"><code>26e795b</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/bd154cf3bf60f03aa22b3b264578a987d136be85"><code>bd154cf</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/7ae0e2ace9193e4e2417fc76ea51caf84ba0e656"><code>7ae0e2a</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/84eeb6c686ca6ba0ac700e93a078547cbaac625d"><code>84eeb6c</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/c48f5b0a825f8c68c2238f098585c1f1c6ba2c16"><code>c48f5b0</code></a> Proxy name and mode properties</li> <li>Additional commits viewable in <a href="https://github.com/Tinche/aiofiles/compare/v0.4.0...v0.6.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 opti… | 2020-10-28T13:32:40Z | 2020-10-28T17:08:29Z | 2020-10-28T17:08:28Z | 2020-10-28T17:08:28Z | 879617265262024edd93722adcdcb6c21e57f5f7 | 0 | e46327a745c5a4130b65bf340d19dccc76441841 | 7d9fedc176717a7e3d22a96575ae0aada5a65440 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1059 | ||||
518988879 | MDExOlB1bGxSZXF1ZXN0NTE4OTg4ODc5 | 1085 | closed | 0 | Use FTS4 in fixtures | 9599 | Refs #1081 | 2020-11-11T06:44:30Z | 2020-11-12T00:02:59Z | 2020-11-12T00:02:58Z | 2020-11-12T00:02:58Z | e8e0a6f284ca953b2980186c4356594c07bd1929 | 0 | 51e7651c66aaf1804274ce68a6b5218bbba76338 | 2a981e2ac1d13125973904b777d00ea75e8df4e6 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1085 | ||||
521276296 | MDExOlB1bGxSZXF1ZXN0NTIxMjc2Mjk2 | 1097 | closed | 0 | Use f-strings | 9599 | Since Datasette now requires Python 3.6, how about some f-strings? I ran this in the `datasette` root checkout: ``` pip install flynt flynt . black . ``` | 2020-11-15T23:12:36Z | 2020-11-15T23:24:24Z | 2020-11-15T23:24:23Z | 2020-11-15T23:24:23Z | 30e64c8d3b3728a86c3ca42a75322cc3feb5b0c8 | 0 | e89211d21eebb7a2e4588b06927da84416e3a555 | 6fd35be64de221eba4945ca24e8e1678f6142a73 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1097 | ||||
529783275 | MDExOlB1bGxSZXF1ZXN0NTI5NzgzMjc1 | 1117 | closed | 0 | Support for generated columns | 9599 | Refs #1116. My first attempt at this worked on my laptop but broke in CI, so I'm going to iterate on it in a pull request instead. | 2020-11-30T20:10:46Z | 2020-11-30T22:23:19Z | 2020-11-30T21:29:58Z | 2020-11-30T21:29:58Z | 461670a0b87efa953141b449a9a261919864ceb3 | 0 | ccdf2c650278b8b9465d3a2d7c916f3bb06c4f01 | dea3c508b39528e566d711c38a467b3d372d220b | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1117 | ||||
529887861 | MDExOlB1bGxSZXF1ZXN0NTI5ODg3ODYx | 1120 | closed | 0 | generated_columns table in fixtures.py | 9599 | Refs #1119 | 2020-12-01T00:17:19Z | 2020-12-01T00:28:03Z | 2020-12-01T00:28:02Z | 2020-12-01T00:28:02Z | 17cbbb1f7f230b39650afac62dd16476626001b5 | 0 | ddad8db2cc952eaf4f66f42324ccece115627b02 | 461670a0b87efa953141b449a9a261919864ceb3 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1120 | ||||
530125695 | MDExOlB1bGxSZXF1ZXN0NTMwMTI1Njk1 | 1122 | closed | 0 | Fix misaligned table actions cog | 3243482 | Fixes https://github.com/simonw/datasette/issues/1121 | 2020-12-01T08:41:46Z | 2020-12-03T10:56:40Z | 2020-12-03T00:33:37Z | 2020-12-03T00:33:36Z | daae35be46ec5cb8a207aa20986a4fa62e94777e | 0 | 94ea22f7b6b6c55b490c97b385f6eb6c1ea2121c | a970276b9999687b96c5e11ea1c817d814f5d267 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1122 | ||||
532342025 | MDExOlB1bGxSZXF1ZXN0NTMyMzQyMDI1 | 1128 | closed | 0 | Fix startup error on windows | 3243482 | Fixes https://github.com/simonw/datasette/issues/1094 This import isn't used at all, and causes error on startup on Windows. | 2020-12-04T07:12:26Z | 2020-12-06T08:41:45Z | 2020-12-05T19:35:04Z | 2020-12-05T19:35:04Z | 705d1a1555c4791e9be3b884285b047223ab184f | 0 | 7004c3b1462675ba3845b1efc82c816f1d2199e0 | 49d8fc056844d5a537d6cfd96dab0dd5686fe718 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1128 | ||||
532348919 | MDExOlB1bGxSZXF1ZXN0NTMyMzQ4OTE5 | 1130 | open | 0 | Fix footer not sticking to bottom in short pages | 3243482 | Fixes https://github.com/simonw/datasette/issues/1129 | 2020-12-04T07:29:01Z | 2021-06-15T13:27:48Z | af3aa34786f134af8073342a3c4bb74b968750fd | 0 | 8d4c69c6fb0ef741a19070f5172017ea3522e83c | 49d8fc056844d5a537d6cfd96dab0dd5686fe718 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1130 | ||||||
560725714 | MDExOlB1bGxSZXF1ZXN0NTYwNzI1NzE0 | 1203 | closed | 0 | Easier way to run Prettier locally | 9599 | Refs #1167 | 2021-01-25T01:39:06Z | 2021-01-25T01:41:46Z | 2021-01-25T01:41:46Z | 2021-01-25T01:41:46Z | ffff3a4c5398a9f40b61d59736f386444da19289 | 0 | 98acc8865aa7826a40a7a076ab548ba8597af734 | b6a7b58fa01af0cd5a5e94bd17d686d283a46819 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1203 | ||||
560760145 | MDExOlB1bGxSZXF1ZXN0NTYwNzYwMTQ1 | 1204 | open | 0 | WIP: Plugin includes | 9599 | Refs #1191 Next steps: - [ ] Get comfortable that this pattern is the right way to go - [ ] Implement it for all of the other pages, not just the table page - [ ] Add a new set of plugin tests that exercise ALL of these new hook locations - [ ] Document, then ship | 2021-01-25T03:59:06Z | 2021-12-17T07:10:49Z | 98f06a766317a40035962416cf3211d7a374866a | 1 | 05258469ae39bcaad17beb57c5b7eeab0d58a589 | 07e163561592c743e4117f72102fcd350a600909 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1204 | ||||||
560831638 | MDExOlB1bGxSZXF1ZXN0NTYwODMxNjM4 | 1206 | closed | 0 | Release 0.54 | 9599 | Refs #1201 | 2021-01-25T06:45:47Z | 2021-01-25T17:33:30Z | 2021-01-25T17:33:29Z | 2021-01-25T17:33:29Z | 0b9ac1b2e9c855f1b823a06a898891da87c720ef | 0 | 571476d2cf8f7d7eac6098de8557264e69cac43f | a5ede3cdd455e2bb1a1fb2f4e1b5a9855caf5179 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1206 | ||||
564608264 | MDExOlB1bGxSZXF1ZXN0NTY0NjA4MjY0 | 1211 | closed | 0 | Use context manager instead of plain open | 4488943 | Context manager with open closes the files after usage. Fixes: https://github.com/simonw/datasette/issues/1208 When the object is already a pathlib.Path i used read_text write_text functions In some cases pathlib.Path.open were used in context manager, it is basically the same as builtin open. Tests are passing: 850 passed, 5 xfailed, 10 xpassed | 2021-01-31T07:58:10Z | 2021-03-11T16:15:50Z | 2021-03-11T16:15:50Z | 2021-03-11T16:15:49Z | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | 0 | e33ccaaafbe9a16b8339a3bf4c0ae7b83354570c | dde3c500c73ace33529672f7d862b76753d309cc | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1211 | ||||
572209243 | MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz | 1222 | closed | 0 | --ssl-keyfile and --ssl-certfile, refs #1221 | 9599 | 2021-02-12T00:45:58Z | 2021-02-12T00:52:18Z | 2021-02-12T00:52:17Z | 2021-02-12T00:52:17Z | eda652cf6ee28a0babfb30ce3834512e9e33fb8e | 0 | 8ec72ea3e3e0a9876d5e61e4a2260224f16db2e3 | aa1fe0692c2abb901216738bfb35f9fcc5090e7d | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1222 | |||||
572254103 | MDExOlB1bGxSZXF1ZXN0NTcyMjU0MTAz | 1223 | closed | 0 | Add compile option to Dockerfile to fix failing test (fixes #696) | 7476523 | This test was failing when run inside the Docker container: `test_searchable[/fixtures/searchable.json?_search=te*+AND+do*&_searchmode=raw-expected_rows3]`, with this error: ``` def test_searchable(app_client, path, expected_rows): response = app_client.get(path) > assert expected_rows == response.json["rows"] E AssertionError: assert [[1, 'barry c...sel', 'puma']] == [] E Left contains 2 more items, first extra item: [1, 'barry cat', 'terry dog', 'panther'] E Full diff: E + [] E - [[1, 'barry cat', 'terry dog', 'panther'], E - [2, 'terry dog', 'sara weasel', 'puma']] ``` The issue was that the version of sqlite3 built inside the Docker container was built with FTS3 and FTS4 enabled, but without the `SQLITE_ENABLE_FTS3_PARENTHESIS` compile option passed, which adds support for using `AND` and `NOT` within `match` expressions (see https://sqlite.org/fts3.html#compiling_and_enabling_fts3_and_fts4 and https://www.sqlite.org/compile.html). Without this, the `AND` used in the search in this test was being interpreted as a literal string, and so no matches were found. Adding this compile option fixes this. --- I actually ran into this issue because the same test was failing when I ran the test suite on my own machine, outside of Docker, and so I eventually tracked this down to my system sqlite3 also being compiled without this option. I wonder if this is a sign of a slightly deeper issue, that Datasette can silently behave differently based on the version and compilation of sqlite3 it is being used with. On my own system I fixed the test suite by running `pip install pysqlite3-binary`, so that this would be picked up instead of the `sqlite` package, as this seems to be compiled using this option, . Maybe using `pysqlite3-binary` could be installed/recommended by default so a more deterministic version of sqlite is used? Or there could be some feature detection done on the available sqlite version, to know what features are … | 2021-02-12T03:38:05Z | 2021-03-07T12:01:12Z | 2021-03-07T07:41:17Z | 2021-03-07T07:41:17Z | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | 0 | d1cd1f259c699fab3af01c4aa90035ed0242471a | 9603d893b9b72653895318c9104d754229fdb146 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1223 | ||||
575187457 | MDExOlB1bGxSZXF1ZXN0NTc1MTg3NDU3 | 1229 | closed | 0 | ensure immutable databses when starting in configuration directory mode with | 295329 | fixes #1224 This PR ensures all databases found in a configuration directory that match the files in `inspect-data.json` will be set to `immutable` as outlined in https://docs.datasette.io/en/latest/settings.html#configuration-directory-mode specifically on building the `datasette` instance it checks: - if `immutables` is an empty tuple - as passed by the cli code - if `immutables` is the default function value `None` - when it's not explicitly set And correctly builds the immutable database list from the `inspect-data[file]` keys. Note for this to work the `inspect-data.json` file must contain `file` paths which are relative to the configuration directory otherwise the file paths won't match and the dbs won't be set to immutable. I couldn't find an easy way to test this due to the way `make_app_client` works, happy to take directions on adding a test for this. I've updated the relevant docs as well, i.e. use the `inspect` cli cmd from the config directory path to create the relevant file ``` cd $config_dir datasette inspect *.db --inspect-file=inspect-data.json ``` https://docs.datasette.io/en/latest/performance.html#using-datasette-inspect | 2021-02-17T20:18:26Z | 2022-04-22T13:16:36Z | 2021-03-29T00:17:32Z | 2021-03-29T00:17:31Z | f92d823766872a6fd7e76c5249a6b2de1ab0f447 | 0 | a095248ad18c9c5272dbd52f4c97ea8a36cf91f3 | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1229 | ||||
575940193 | MDExOlB1bGxSZXF1ZXN0NTc1OTQwMTkz | 1232 | closed | 0 | --crossdb option for joining across databases | 9599 | Refs #283. Still needs: - [x] Unit test for --crossdb queries - [x] Show warning on console if it truncates at ten databases (or on web interface) - [x] Show connected databases on the `/_memory` database page - [x] Documentation - [x] https://latest.datasette.io/ demo should demonstrate this feature | 2021-02-18T19:48:50Z | 2021-02-18T22:09:13Z | 2021-02-18T22:09:12Z | 2021-02-18T22:09:12Z | 6f41c8a2bef309a66588b2875c3e24d26adb4850 | 0 | 887649942b02d70a0fe4e205e1e5eff4e745b016 | 4df548e7668b5b21d64a267964951e67894f4712 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1232 | ||||
579697833 | MDExOlB1bGxSZXF1ZXN0NTc5Njk3ODMz | 1243 | closed | 0 | fix small typo | 306240 | 2021-02-25T00:22:34Z | 2021-03-04T05:46:10Z | 2021-03-04T05:46:10Z | 2021-03-04T05:46:10Z | 4f9a2f1f47dcf7e8561d68a8a07f5009a13cfdb3 | 0 | 32652d9847f9b32c5d923823001c75d76e2791d2 | 726f781c50e88f557437f6490b8479c3d6fabfc2 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1243 | |||||
587332473 | MDExOlB1bGxSZXF1ZXN0NTg3MzMyNDcz | 1252 | closed | 0 | Add back styling to lists within table cells (fixes #1141) | 7476523 | This overrides the Datasette reset - see https://github.com/simonw/datasette/blob/d0fd833b8cdd97e1b91d0f97a69b494895d82bee/datasette/static/app.css#L35-L38 - to add back the default styling of list items displayed within Datasette table cells. Following this change, the same content as in the original issue looks like this: ![2021-03-09_02:57:32](https://user-images.githubusercontent.com/7476523/110411982-63e5ae80-8083-11eb-9b5c-e5dc825073e2.png) | 2021-03-09T03:00:57Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | e72397d65b06b019521b6411243687464ac8d8ca | 0 | d22aa32cd9c0f798bcab917cc2024a371b4c0069 | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1252 | ||||
588601627 | MDExOlB1bGxSZXF1ZXN0NTg4NjAxNjI3 | 1254 | closed | 0 | Update Docker Spatialite version to 5.0.1 + add support for Spatialite topology functions | 3200608 | This requires adding the RT Topology library (Spatialite changed to RT Topology from LWGEOM between 4.4 and 5.0), as well as upgrading the GEOS version (which is the reason for switching to `python:3.7.10-slim-buster` as the base image.) `autoconf` and `libtool` are added to build RT Topology, and Spatialite is now built with `--disable-minizip` (minizip wasn't an option in 4.4 and I didn't want to add another dependency) and `--disable-dependency-tracking` which, according to Spatialite, "speeds up one-time builds" | 2021-03-09T20:49:08Z | 2021-03-10T18:27:45Z | 2021-03-09T22:04:23Z | bc09c84d6af4721b32f01f4d9186a6fbf9863081 | 0 | b103204155c2396d353fa195a320cee6aca258cf | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | NONE | 107914493 | https://github.com/simonw/datasette/pull/1254 | |||||
589263297 | MDExOlB1bGxSZXF1ZXN0NTg5MjYzMjk3 | 1256 | closed | 0 | Minor type in IP adress | 6371750 | 127.0.01 replaced by 127.0.0.1 | 2021-03-10T08:28:22Z | 2021-03-10T18:26:46Z | 2021-03-10T18:26:40Z | 2021-03-10T18:26:39Z | a1bcd2fbe5e47bb431045f65eeceb5eb3a6718d5 | 0 | 4eef524e44ff79c617728aad98b14c1c1e586ce3 | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1256 | ||||
592548103 | MDExOlB1bGxSZXF1ZXN0NTkyNTQ4MTAz | 1260 | closed | 0 | Fix: code quality issues | 25361949 | ### Description Hi :wave: I work at [DeepSource](https://deepsource.io), I ran DeepSource analysis on the forked copy of this repo and found some interesting [code quality issues](https://deepsource.io/gh/withshubh/datasette/issues/?category=recommended) in the codebase, opening this PR so you can assess if our platform is right and helpful for you. ### Summary of changes - Replaced ternary syntax with if expression - Removed redundant `None` default - Used `is` to compare type of objects - Iterated dictionary directly - Removed unnecessary lambda expression - Refactored unnecessary `else` / `elif` when `if` block has a `return` statement - Refactored unnecessary `else` / `elif` when `if` block has a `raise` statement - Added .deepsource.toml to continuously analyze and detect code quality issues | 2021-03-14T13:56:10Z | 2021-03-29T00:22:41Z | 2021-03-29T00:22:41Z | bc868ae8c8152a25bcab7adb490c5b89411bdf3a | 0 | 90f5fb6d2fb36ddffc49acee924d042f2d5d1d58 | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | NONE | 107914493 | https://github.com/simonw/datasette/pull/1260 | |||||
598213565 | MDExOlB1bGxSZXF1ZXN0NTk4MjEzNTY1 | 1271 | open | 0 | Use SQLite conn.interrupt() instead of sqlite_timelimit() | 9599 | Refs #1270, #1268, #1249 Before merging this I need to do some more testing (to make sure that expensive queries really are properly cancelled). I also need to delete a bunch of code relating to the old mechanism of cancelling queries. [See comment below: this doesn't actually cancel the query due to a thread-local confusion] | 2021-03-22T17:34:20Z | 2021-03-22T21:49:27Z | a4fd7e5a761523881c031b4fee266a366e1c97bd | 1 | fb2ad7ada0b86a7fe4a576fe23236757c41eb05e | c4f1ec7f33fd7d5b93f0f895dafb5351cc3bfc5b | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1271 | ||||||
602107935 | MDExOlB1bGxSZXF1ZXN0NjAyMTA3OTM1 | 1279 | closed | 0 | Minor Docs Update. Added `--app` to fly install command. | 1019791 | Without this flag, there's an error locally. ``` > datasette publish fly bigmac.db Usage: datasette publish fly [OPTIONS] [FILES]... Try 'datasette publish fly --help' for help. Error: Missing option '-a' / '--app'. ``` I also got an error message which later turned out to be because I hadn't added my credit card information yet to `fly`. I wasn't sure if I should add that mention to the docs here, or to submit a bug-report over at https://github.com/simonw/datasette-publish-fly. | 2021-03-27T16:58:08Z | 2021-03-29T00:11:55Z | 2021-03-29T00:11:55Z | 2021-03-29T00:11:55Z | c96a3826cf50cb347f6a415b56d8105ba6d8dcb0 | 0 | 14d8977e158d1d3193c6afb50aae482547ec9d8d | 3fcfc8513465339ac5f055296cbb67f5262af02b | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1279 | ||||
603082280 | MDExOlB1bGxSZXF1ZXN0NjAzMDgyMjgw | 1282 | closed | 0 | Fix little typo | 192568 | 2021-03-29T19:45:28Z | 2021-03-29T19:57:34Z | 2021-03-29T19:57:34Z | 2021-03-29T19:57:34Z | 7b1a9a1999eb9326ce8ec830d75ac200e5279c46 | 0 | 08f7427afcff69fa93ebaf5916588b5ad8bd4e0f | 0486303b60ce2784fd2e2ecdbecf304b7d6e6659 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1282 | |||||
608323028 | MDExOlB1bGxSZXF1ZXN0NjA4MzIzMDI4 | 1290 | closed | 0 | Use pytest-xdist to speed up tests | 9599 | Closes #1289, refs #1212. | 2021-04-03T03:34:36Z | 2021-04-03T03:42:29Z | 2021-04-03T03:42:28Z | 2021-04-03T03:42:28Z | 0a7621f96f8ad14da17e7172e8a7bce24ef78966 | 0 | 2fb1e4284f1f0f6aaba7e889a6713c0f96e802e1 | 59ef4a20cba1533bc347378415f4ffcd025f32c8 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1290 | ||||
608334096 | MDExOlB1bGxSZXF1ZXN0NjA4MzM0MDk2 | 1291 | closed | 0 | Update docs: explain allow_download setting | 5413548 | This fixes one possible source of confusion seen in #502 and clarifies when database downloads will be shown and allowed. | 2021-04-03T05:28:33Z | 2021-06-05T19:48:51Z | 2021-06-05T19:48:51Z | 2021-06-05T19:48:51Z | 368aa5f1b16ca35f82d90ff747023b9a2bfa27c1 | 0 | 9bf089faded74c96aced22332008126324a37f7a | 0a7621f96f8ad14da17e7172e8a7bce24ef78966 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1291 | ||||
613178968 | MDExOlB1bGxSZXF1ZXN0NjEzMTc4OTY4 | 1296 | open | 0 | Dockerfile: use Ubuntu 20.10 as base | 82332573 | This PR changes the main Dockerfile to use ubuntu:20.10 as base image instead of python:3.9.2-slim-buster (itself based on debian:buster-slim). The Dockerfile is essentially the one from https://github.com/simonw/datasette/issues/1249#issuecomment-803698983 with some additional cleanups to slim it down. This fixes a couple of issues: 1. The SQLite version in Debian Buster (2.6.0) doesn't support generated columns 2. Installing SpatiaLite from the Debian sid repositories has the side effect of also installing updates to libc and libstdc++ from sid. As a bonus, the Docker image becomes smaller: ``` $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE datasette 0.56-ubuntu f7aca255140a 5 hours ago 212MB datasetteproject/datasette 0.56 efb3b282f390 13 days ago 258MB ``` ### Reproduction of the first issue ``` $ curl -O https://latest.datasette.io/fixtures.db % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 260k 0 260k 0 0 489k 0 --:--:-- --:--:-- --:--:-- 489k $ docker run -v `pwd`:/mnt datasetteproject/datasette:0.56 datasette /mnt/fixtures.db Traceback (most recent call last): File "/usr/local/bin/datasette", line 8, in <module> sys.exit(cli()) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke return callback(*args, … | 2021-04-12T00:23:32Z | 2021-07-20T08:52:13Z | 2ba522dbd7168a104a33621598c5a2460aae3e74 | 0 | 8f00c312f6b8ab5cecbb8a698ab4ad659aabf4ef | c73af5dd72305f6a01ea94a2c76d52e5e26de38b | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1296 | ||||||
618011977 | MDExOlB1bGxSZXF1ZXN0NjE4MDExOTc3 | 1303 | closed | 0 | Update pytest-asyncio requirement from <0.15,>=0.10 to >=0.10,<0.16 | 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/7aa574af1830665be23b983407fdff8f5fcf3ccc"><code>7aa574a</code></a> 0.15.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/dadff91937e03c9cc08b290d14c8bc72aa793f20"><code>dadff91</code></a> Remove poetry</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d4b79ea6481cb498a2fd3feb8a05f48249559d55"><code>d4b79ea</code></a> Lint</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/22d91b2a6df1b3557cfc0370736d7cad4ba8bef4"><code>22d91b2</code></a> Black linting</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/5c47b78ebfab7a42a9450b88e4a13bf5b135e228"><code>5c47b78</code></a> Covecov</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/22e338a4dbf67a08146757cc3a2320b7e88c7eae"><code>22e338a</code></a> Fix CI</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/70cbdeff9f9b04635714b2347ebdbea71acd93a6"><code>70cbdef</code></a> Travis -> GitHub Actions</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/740af1843f1dafb47ba6db236c1e354731993949"><code>740af18</code></a> Close event loops when replacing them</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/a5161343442fb64b7fcb91dfc5841b9f79698989"><code>a516134</code></a> plugin: Set unused_tcp_port_factory scope to 'session'</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1bb7f300f4f5c31d47675ed018e9a46ecd4d8496"><code>1bb7f30</code></a> refactor: Removed the "_35" and "_36" suffixes from test modules.</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.10.0...v0.15.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… | 2021-04-19T13:49:12Z | 2021-04-19T18:18:17Z | 2021-04-19T18:18:17Z | 2021-04-19T18:18:17Z | 6ed9238178a56da5fb019f37fb1e1e15886be1d1 | 0 | c348ff1ecee0d831a75b17e3f48bcf0a8a558566 | 0a7621f96f8ad14da17e7172e8a7bce24ef78966 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1303 | ||||
621117978 | MDExOlB1bGxSZXF1ZXN0NjIxMTE3OTc4 | 1306 | closed | 0 | Avoid error sorting by relationships if related tables are not allowed | 416374 | Refs #1305 | 2021-04-22T13:53:17Z | 2021-06-02T04:27:00Z | 2021-06-02T04:25:28Z | 2021-06-02T04:25:28Z | 0f41db1ba8a8a49a4adc1046a25ccf32790e863f | 0 | 115332ce76c0e867d9936406aaf4bcee6b1ef3cb | 6ed9238178a56da5fb019f37fb1e1e15886be1d1 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1306 | ||||
624635440 | MDExOlB1bGxSZXF1ZXN0NjI0NjM1NDQw | 1309 | closed | 0 | Bump black from 20.8b1 to 21.4b0 | 27856297 | Bumps [black](https://github.com/psf/black) from 20.8b1 to 21.4b0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>21.4b0</h2> <h4><em>Black</em></h4> <ul> <li> <p>Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by <code>Black</code> and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue <a href="https://github-redirect.dependabot.com/psf/black/issues/1629">#1629</a> and all of its many many duplicates. (<a href="https://github-redirect.dependabot.com/psf/black/issues/2126">#2126</a>)</p> </li> <li> <p><code>Black</code> now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (<a href="https://github-redirect.dependabot.com/psf/black/issues/1740">#1740</a>)</p> </li> <li> <p><code>Black</code> now cleans up leading non-breaking spaces in comments (<a href="https://github-redirect.dependabot.com/psf/black/issues/2092">#2092</a>)</p> </li> <li> <p><code>Black</code> now respects <code>--skip-string-normalization</code> when normalizing multiline docstring quotes (<a href="https://github-redirect.dependabot.com/psf/black/issues/1637">#1637</a>)</p> </li> <li> <p><code>Black</code> no longer removes all empty lines between non-function code and decorators when formatting typing stubs. Now <code>Black</code> enforces a single empty line. (<a href="https://github-redirect.dependabot.com/psf/black/issues/1646">#1646</a>)</p> </li> <li> <p><code>Black</code> no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (<a href="https://github-redirect.dependabot.com/psf/black/issues/1655">#1655</a>)</p> </li> <li> <p>Added <code>--skip-magic-trailing-comma</code> / <code>-C</code> to avoid using trailing commas as a reason to split lines (<a href="https://github-redire… | 2021-04-27T20:28:11Z | 2021-04-28T18:26:06Z | 2021-04-28T18:26:04Z | 1220c60d8a6bb8e621543ef78d669a2bccc2a3c8 | 0 | 20fc3fe2797b81a23cd464c1450d13086d53ea7f | a4bb2abce0764d49d255e5379f9e9c70981834ca | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1309 |