pull_requests
436 rows where repo = 107914493 sorted by title descending
This data as json, CSV (advanced)
Suggested facets: state, milestone, draft, author_association, created_at (date), updated_at (date), closed_at (date), merged_at (date)
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1216059840 | PR_kwDOBm6k_c5Ie5nA | 2004 | open | 0 | use single quotes for string literals, fixes #2001 | cldellow 193185 | This modernizes some uses of double quotes for string literals to use only single quotes, fixes simonw/datasette#2001 While developing it, I manually enabled the stricter mode by using the code snippet at https://gist.github.com/cldellow/85bba507c314b127f85563869cd94820 I think that code snippet isn't generally safe/portable, so I haven't tried to automate it in the tests. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2004.org.readthedocs.build/en/2004/ <!-- readthedocs-preview datasette end --> | 2023-01-25T05:08:45Z | 2023-02-01T06:37:18Z | f678bfc05913a4b5ecf0c4cebe9ca8329c7d4a21 | 0 | dca7634c274e71fae0d95ea4ff1dfd987b9af63c | e4ebef082de90db4e1b8527abc0d582b7ae0bc9d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2004 | ||||||
1079437524 | PR_kwDOBm6k_c5AVujU | 1835 | closed | 0 | use inspect data for hash and file size | fgregg 536941 | `inspect_data` should already include the hash and the db file size, so this PR takes advantage of using those instead of always recalculating. should help a lot on startup with large DBs. closes #1834 | 2022-10-06T18:25:24Z | 2022-10-27T20:51:30Z | 2022-10-06T20:06:07Z | 2022-10-06T20:06:07Z | eff112498ecc499323c26612d707908831446d25 | 0 | b4b92df38c8ca8a6faeec4daaf803cee80e0dbed | bbf33a763537a1d913180b22bd3b5fe4a5e5b252 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1835 | ||||
235194286 | MDExOlB1bGxSZXF1ZXN0MjM1MTk0Mjg2 | 390 | closed | 0 | tiny typo in customization docs | jaywgraves 418191 | was looking to add some custom templates to my use of datasette and saw this small typo. | 2018-12-01T13:44:42Z | 2019-12-19T02:30:35Z | 2018-12-16T21:32:56Z | 2018-12-16T21:32:56Z | ed78922ae38b51513319b60ac39990b7c2aca810 | 0 | f8c01373dad3b8dcd10577a2e541f88ef34c77bc | 3de8fac1d322cbab6c8c55899e0e8511b36337d0 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/390 | ||||
1081550456 | PR_kwDOBm6k_c5AdyZ4 | 1840 | closed | 0 | test commit | 7lingyuan 102635518 | lalalalalalala <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1840.org.readthedocs.build/en/1840/ <!-- readthedocs-preview datasette end --> | 2022-10-10T05:15:26Z | 2022-10-10T09:11:50Z | 2022-10-10T09:11:50Z | 0 | 304ce7a516a0b361ae9f5f0059ce02eb675f69aa | b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1840 | ||||||
1349830554 | PR_kwDOBm6k_c5QdMea | 2074 | open | 0 | sort files by mtime | abbbi 3919561 | serving multiple database files and getting tired by the default sort, changes so the sort order puts the latest changed databases to be on top of the list so don't have to scroll down, lazy as i am ;) <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2074.org.readthedocs.build/en/2074/ <!-- readthedocs-preview datasette end --> | 2023-05-14T15:25:15Z | 2023-05-14T15:25:29Z | 4fe4822c999a3003a9e3093814274190ea05e522 | 0 | 689e3b0155612c766607feea10bc2e67e1c2a6da | 49184c569cd70efbda4f3f062afef3a34401d8d5 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2074 | ||||||
410469272 | MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy | 746 | closed | 0 | shutil.Error, not OSError | simonw 9599 | Refs #744 | 2020-04-29T03:30:51Z | 2020-04-29T07:07:24Z | 2020-04-29T07:07:23Z | e4e8b51b50e51b2515c6d8874d16c4607f79b80a | 0 | af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/746 | |||||
277524072 | MDExOlB1bGxSZXF1ZXN0Mjc3NTI0MDcy | 458 | closed | 0 | setup: add tests to package exclusion | hellerve 7725188 | This PR fixes #456 by adding `tests` to the package exclusion list. Cheers | 2019-05-09T19:47:21Z | 2020-07-21T01:14:42Z | 2019-05-10T01:54:51Z | 2019-05-10T01:54:51Z | 9f8d9fe262866ff3463f8e61214dcc6897bd5a9c | 0 | 9c65ff1ba8c855e4ade5bc7ae29a69215b3979d0 | f825e2012109247fa246e2b938f8174069e574f1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/458 | ||||
204851511 | MDExOlB1bGxSZXF1ZXN0MjA0ODUxNTEx | 353 | closed | 0 | render_cell(value) plugin hook | simonw 9599 | Closes #352. | 2018-07-30T15:57:08Z | 2018-08-05T00:14:57Z | 2018-08-05T00:14:57Z | 2018-08-05T00:14:57Z | 4ac913224061f2dc4f673efab1a5ac6bc748854f | 0 | 2e538d924f3b17f82e94e8e8b5a05abcf9e1e697 | 295d005ca48747faf046ed30c3c61e7563c61ed2 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/353 | ||||
1266742462 | PR_kwDOBm6k_c5LgPS- | 2034 | open | 0 | remove an unused `app` var in cli.py | wenhoujx 4370201 | this var `app` isn't actually used? unless init it does some side-effect outside of the event loop, idon't think it's necessary. Feel free to ignore this PR if the deleted line actually does something. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2034.org.readthedocs.build/en/2034/ <!-- readthedocs-preview datasette end --> | 2023-03-07T18:19:05Z | 2023-03-29T20:56:20Z | 9bd2128399e6dff33f97b3aa7adbd8f3a36daad7 | 0 | 28239c5bed362f2b9ee9e780bf23e5f31b680b5d | 1ad92a1d87d79084ebe524ed186c900ff042328c | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2034 | ||||||
431478724 | MDExOlB1bGxSZXF1ZXN0NDMxNDc4NzI0 | 819 | closed | 0 | register_routes() plugin hook | simonw 9599 | Refs #215 | 2020-06-09T01:20:44Z | 2020-06-09T03:12:08Z | 2020-06-09T03:12:07Z | 2020-06-09T03:12:07Z | f5e79adf26d0daa3831e3fba022f1b749a9efdee | Datasette 0.44 5512395 | 0 | 18127f074efc1b0148d1098da063e51ccea7797c | 647c5ff0f3e8140f40d7f41f0874ce4e1f4df65c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/819 | |||
1155365505 | PR_kwDOBm6k_c5E3XqB | 1940 | closed | 0 | register_permissions() plugin hook | simonw 9599 | Refs #1939 From this comment: https://github.com/simonw/datasette/issues/1939#issuecomment-1343872168 - [x] Unit test for the registration plugin hook itself - [x] Use them in `check_permission_actions_are_documented` test in `conftest.py` - [x] Add description field to `Permissions` (and update tests and docs) - [x] Documentation for `datasette.permissions` dictionary - [x] If no `default=` provided in call to `permission_allowed()` then use default from `datasette.permissions` list - [x] Remove `default=` from a bunch of places - [x] Throw an error if two permissions are registered with the same name or abbreviation (but other attributes differ) - [x] Update authentication and permissions documentation to explain that permissions are now registered and have a registered default <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1940.org.readthedocs.build/en/1940/ <!-- readthedocs-preview datasette end --> | 2022-12-09T05:09:28Z | 2022-12-13T02:05:55Z | 2022-12-13T02:05:54Z | 2022-12-13T02:05:54Z | 8bf06a76b51bc9ace7cf72cf0cca8f1da7704ea7 | Datasette 1.0a2 8711695 | 0 | 94e5c75397a96b86a3349123808cd02cb20f7440 | e539c1c024bc62d88df91d9107cbe37e7f0fe55f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1940 | |||
204029142 | MDExOlB1bGxSZXF1ZXN0MjA0MDI5MTQy | 349 | closed | 0 | publish_subcommand hook + default plugins mechanism, used for publish heroku/now | simonw 9599 | This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the "datasette publish" command family. I've used this new hook to refactor out the "publish now" and "publish heroku" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new "default_plugins" list inside datasette/app.py Closes #217 (Plugin support for "datasette publish") Closes #348 (Unit tests for "datasette publish") Refs #14, #59, #102, #103, #146, #236, #347 | 2018-07-26T05:03:22Z | 2018-07-26T05:28:54Z | 2018-07-26T05:16:00Z | 2018-07-26T05:16:00Z | dbbe707841973b50a76d2703003ae2c40e7ad1fd | 0 | 7abdfd55daa9c617da02fd768b8e7476e89f0f94 | 3ac21c749881d0fb1c35b0f9b7a819e29f61c5c1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/349 | ||||
163523976 | MDExOlB1bGxSZXF1ZXN0MTYzNTIzOTc2 | 180 | closed | 0 | make html title more readable in query template | ryanpitts 56477 | tiny tweak to make this easier to visually parse—I think it matches your style in other templates | 2018-01-17T18:56:03Z | 2018-04-03T16:03:38Z | 2018-04-03T15:24:05Z | 2018-04-03T15:24:05Z | 446d47fdb005b3776bc06ad8d1f44b01fc2e938b | 0 | dc900b2f587c839e97389aaca70140fb06b4d40b | 56623e48da5412b25fb39cc26b9c743b684dd968 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/180 | ||||
513106026 | MDExOlB1bGxSZXF1ZXN0NTEzMTA2MDI2 | 1069 | closed | 0 | load_template() plugin hook | simonw 9599 | Refs #1042 | 2020-10-30T15:59:45Z | 2020-10-30T17:47:20Z | 2020-10-30T17:47:19Z | 2020-10-30T17:47:19Z | 81dea4b07ab2b6f4eaaf248307d2b588472054a1 | 0.51 6026070 | 0 | 92f3840882a24da29d0d4073e5ed9d77fce438fc | fcf43589eb6a1f1d0432772a639fd35711c48e0c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1069 | |||
806136219 | PR_kwDOBm6k_c4wDKmb | 1574 | closed | 0 | introduce new option for datasette package to use a slim base image | fs111 33631 | The official python images on docker hub come with a slim variant that is significantly smaller than the default. The diff does not change the default, but allows to switch to the `slim` variant with commandline switch (`--slim-base-image`) Size comparison: ``` $ datasette package some.db -t fat --install "datasette-basemap datasette-cluster-map" $ datasette package some.db -t slim --slim-base-image --install "datasette-basemap datasette-cluster-map" $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE fat latest 807b393ace0d 9 seconds ago 978MB slim latest 31bc5e63505c 8 minutes ago 191MB ``` | 2021-12-19T21:18:19Z | 2022-08-15T08:49:31Z | 2022-08-15T08:49:31Z | 92ca4a2a9fb44e4cffc71444196753ad4a75a5c8 | 0 | 8561f0343b2b4213416ca84c8071a5a290f15a42 | 8c401ee0f054de2f568c3a8302c9223555146407 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1574 | |||||
440735814 | MDExOlB1bGxSZXF1ZXN0NDQwNzM1ODE0 | 868 | open | 0 | initial windows ci setup | joshmgrant 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/868 | ||||||
529887861 | MDExOlB1bGxSZXF1ZXN0NTI5ODg3ODYx | 1120 | closed | 0 | generated_columns table in fixtures.py | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1120 | ||||
365218391 | MDExOlB1bGxSZXF1ZXN0MzY1MjE4Mzkx | 660 | closed | 0 | gcloud run is now GA, s/beta// | glasnt 813732 | 2020-01-21T10:08:38Z | 2020-01-22T03:41:09Z | 2020-01-21T23:28:12Z | 2020-01-21T23:28:12Z | 34d77d780f68b778fd9d6ebbaf69f250436f055f | 0 | 894e96026b838288f926f62914123a1f86139793 | 3c861f363df02a59a67c59036278338e4760d2ed | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/660 | |||||
505339515 | MDExOlB1bGxSZXF1ZXN0NTA1MzM5NTE1 | 1029 | closed | 0 | fix(docs): broken link | jthodge 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1029 | ||||
1038547954 | PR_kwDOBm6k_c495vvy | 1794 | closed | 0 | fix word break in facets by adding ul.tight-bullets li word-break: break-all | dmr 128286 | I noticed that long words break the layout of facets: ![image](https://user-images.githubusercontent.com/128286/187013146-fb2bbb60-a225-441b-ba8e-b9e74fb04f93.png) So I added CSS to add a line break. This is how the result looks now: ![image](https://user-images.githubusercontent.com/128286/187013175-a706fc72-9e69-4a75-9bdf-bdaa34a0cf51.png) I don't know enough about facet edge cases to decide if this change might break other things but it looks better for me so maybe this is helpful. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1794.org.readthedocs.build/en/1794/ <!-- readthedocs-preview datasette end --> | 2022-08-27T03:47:25Z | 2022-09-06T00:45:41Z | 2022-09-06T00:45:41Z | 2022-09-06T00:45:41Z | c9d1943aede436fa3413fd49bc56335cbda4ad07 | 0 | 3b8e005a5cf15e0639b460f7d2ab71790c9b4ef5 | ba35105eee2d3ba620e4f230028a02b2e2571df2 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1794 | ||||
579697833 | MDExOlB1bGxSZXF1ZXN0NTc5Njk3ODMz | 1243 | closed | 0 | fix small typo | UtahDave 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1243 | |||||
216651317 | MDExOlB1bGxSZXF1ZXN0MjE2NjUxMzE3 | 365 | closed | 0 | fix small doc typo | jaywgraves 418191 | 2018-09-19T14:02:02Z | 2019-12-19T02:30:33Z | 2018-09-19T17:15:43Z | 2018-09-19T17:15:43Z | 1bcd54a834a2f9730d21095df855f6708c85c200 | 0 | d3fb6a80c5878c73befa2a35e11a9ce28a6e1ab6 | b7257a21bf3dfa7353980f343c83a616da44daa7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/365 | |||||
373775788 | MDExOlB1bGxSZXF1ZXN0MzczNzc1Nzg4 | 669 | closed | 0 | fix db-to-sqlite command in ecosystem doc page | adipasquale 883348 | the `--connection` parameter has become positional | 2020-02-11T17:05:41Z | 2020-02-22T02:32:18Z | 2020-02-22T02:32:17Z | 2020-02-22T02:32:17Z | be2265b0e811d0ac2875c2f748125c17b0f9289e | 0 | 6eb0e8cd90be82eff0a5152b0985c2a3cb7a44a8 | 30b6f71b306a43605c99bef79302ed5cb22d1924 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/669 | ||||
804924636 | PR_kwDOBm6k_c4v-izc | 1559 | closed | 0 | filters_from_request plugin hook, now used in TableView | simonw 9599 | New plugin hook, refs #473 Used it to extract the logic from TableView that handles _search and _through and _where - refs #1518 | 2021-12-16T23:59:33Z | 2021-12-17T23:09:41Z | 2021-12-17T19:02:15Z | 2021-12-17T19:02:15Z | aa7f0037a46eb76ae6fe9bf2a1f616c58738ecdf | 0 | 71af58d9392d42f45506cbc2370c1e9994126f63 | 0663d5525cc41e9260ac7d1f6386d3a6eb5ad2a9 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1559 | ||||
737690951 | PR_kwDOBm6k_c4r-EVH | 1475 | open | 0 | feat: allow joins using _through in both directions | bram2000 5268174 | Currently the `_through` clause can only work if the FK relationship is defined in a specific direction. I don't think there is any reason for this limitation, as an FK allows joining in both directions. This is an admittedly hacky change to implement bidirectional joins using `_through`. It does work for our use-case, but I don't know if there are other implications that I haven't thought of. Also if this change is desirable we probably want to make the code a little nicer. | 2021-09-20T15:28:20Z | 2021-09-20T15:28:20Z | aa2f1c103730c0ede4ab67978288d91bbe1e00a6 | 0 | edf3c4c3271c8f13ab4c28ad88b817e115477e41 | b28b6cd2fe97f7e193a235877abeec2c8eb0a821 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1475 | ||||||
964640654 | PR_kwDOBm6k_c45fz-O | 1757 | open | 0 | feat: add a wildcard for _json columns | ytjohn 163156 | This allows _json to accept a wildcard for when there are many JSON columns that the user wants to convert. I hope this is useful. I've tested it on our datasette and haven't ran into any issues. I imagine on a large set of results, there could be some performance issues, but it will probably be negligible for most use cases. On a side note, I ran into an issue where I had to upgrade black on my system beyond the pinned version in setup.py. Here is the upstream issue <<https://github.com/psf/black/issues/2964> . I didn't include this in the PR yet since I didn't look into the issue too far, but I can if you would like. | 2022-06-11T01:01:17Z | 2022-09-06T00:51:21Z | f302b919cb78f1e353fc14cb449cab4a93dcedc6 | 0 | 1cdcd8894ce2bb76cf29f8ffcdadedbb6fa0dac1 | 2e9751672d4fe329b3c359d5b7b1992283185820 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1757 | ||||||
1299206303 | PR_kwDOBm6k_c5NcFCf | 2052 | closed | 0 | feat: Javascript Plugin API (Custom panels, column menu items with JS actions) | hydrosquall 9020979 | ## Motivation - Allow plugins that add data visualizations [`datasette-vega`](https://github.com/simonw/datasette-vega), [`datasette-leaflet`](https://github.com/simonw/datasette-leaflet), and [`datasette-nteract-data-explorer`](https://github.com/hydrosquall/datasette-nteract-data-explorer) to co-exist safely - Standardize APIs / hooks to ease development for new JS plugin developers (better compat with datasette-lite) through standardized DOM selectors, methods for extending the existing Table UI. This has come up as a feature request several times (see research notes for examples) - Discussion w/ @simonw about a general-purpose Datasette JS API ## Changes Summary: Provide 2 new surface areas for Datasette JS plugin developers. See alpha [documentation](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423051) 1. Custom column header items: <https://a.cl.ly/Kou97wJr> 2. Basic "panels" controlled by buttons: <https://a.cl.ly/rRugWobd> ### User Facing Changes - Allow creating menu items under table header that triggers JS (instead of opening hrefs per the existing [menu_link](https://docs.datasette.io/en/stable/plugin_hooks.html#menu-links-datasette-actor-request) hook). Items can respond to any column metadata provided by the column header (e.g. label). The proof of concept plugins log data to the console, or copy the column name to clipboard. - Allow plugins to register UI elements in a panel controller. The parent component handles switching the visibility of active plugins. - Because native button elements are used, the panel is keyboard-accessible - use tab / shift-tab to cycle through tab options, and `enter` to select. - There's room to improve the styling, but the focus of this PR is on the API rather than the UX. ### (plugin) Developer Facing Changes - Dispatch a `datasette_init` [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent) when the `datasetteManager` is finished loading. - Provide `manager.registerPlugin` API for … | 2023-04-02T20:23:44Z | 2023-10-14T17:49:03Z | 2023-10-13T00:00:27Z | 2023-10-13T00:00:27Z | 452a587e236ef642cbc6ae345b58767ea8420cb5 | simonw 9599 | 0 | 8ae479c4775125f59f2367626fd32f3229c1135d | 0f7192b6154edb576c41b55bd3f2a3f53e5f436a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2052 | |||
294992578 | MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4 | 542 | closed | 0 | extra_template_vars plugin hook | simonw 9599 | Refs #541 | 2019-07-05T22:19:17Z | 2019-07-06T00:05:57Z | 2019-07-06T00:05:56Z | 2019-07-06T00:05:56Z | fcfcae21e67cc15090942b1d2a47b5f016279337 | 0 | e81c7abb40c8ecf8d9d23cbcdde045e0a3b4ab14 | a18e0964ecd04593f227616538a80dee08768057 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/542 | ||||
575187457 | MDExOlB1bGxSZXF1ZXN0NTc1MTg3NDU3 | 1229 | closed | 0 | ensure immutable databses when starting in configuration directory mode with | camallen 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1229 | ||||
1102353255 | PR_kwDOBm6k_c5BtJNn | 1870 | open | 0 | don't use immutable=1, only mode=ro | fgregg 536941 | Opening db files in immutable mode sometimes leads to the file being mutated, which causes duplication in the docker image layers: see #1836, #1480 That this happens in "immutable" mode is surprising, because the sqlite docs say that setting this should open the database as read only. https://www.sqlite.org/c3ref/open.html > immutable: The immutable parameter is a boolean query parameter that indicates that the database file is stored on read-only media. When immutable is set, SQLite assumes that the database file cannot be changed, even by a process with higher privilege, and so the database is opened read-only and all locking and change detection is disabled. Caution: Setting the immutable property on a database file that does in fact change can result in incorrect query results and/or [SQLITE_CORRUPT](https://www.sqlite.org/rescode.html#corrupt) errors. See also: [SQLITE_IOCAP_IMMUTABLE](https://www.sqlite.org/c3ref/c_iocap_atomic.html). Perhaps this is a bug in sqlite? <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1870.org.readthedocs.build/en/1870/ <!-- readthedocs-preview datasette end --> | 2022-10-27T23:33:04Z | 2023-10-03T19:12:37Z | fc2d316f9e22593d48036e9d81fe972bb5973016 | 0 | 4faa4fd3b3e7f5eae758b713d0a121b960e2e261 | bf00b0b59b6692bdec597ac9db4e0b497c5a47b4 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1870 | ||||||
811088967 | PR_kwDOBm6k_c4wWDxH | 1582 | closed | 0 | don't set far expiry if hash is '000' | fgregg 536941 | This will close #1581. I couldn't find any unit tests related to the testing hashed urls, and I know that you want to break that code out of the core application (#1561), so I'm not quite sure what you would like me to for testing. | 2021-12-28T18:16:13Z | 2022-03-24T04:07:58Z | 2022-03-24T04:07:58Z | e7249b52558b4ddcd92e68a13bd02fb54a2b92f8 | 0 | 216f3b32b88d85b33e45937ed89ac919d82c23b4 | 8c401ee0f054de2f568c3a8302c9223555146407 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1582 | |||||
280204276 | MDExOlB1bGxSZXF1ZXN0MjgwMjA0Mjc2 | 479 | closed | 0 | doc typo fix | IgnoredAmbience 98555 | Fix typo in performance doc page | 2019-05-19T22:54:25Z | 2019-05-20T16:42:29Z | 2019-05-20T16:42:29Z | 2019-05-20T16:42:29Z | 70d2858067d3c4da0e17c1d39e03de89190e94b6 | 0 | 708e13ab87f8c8620796c3e8f2b0aa1b2fc26875 | e513a80afba30bca9eeebd71c5e6aa6d8a811f33 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/479 | ||||
313384926 | MDExOlB1bGxSZXF1ZXN0MzEzMzg0OTI2 | 571 | closed | 0 | detect_fts now works with alternative table escaping | simonw 9599 | Fixes #570 | 2019-09-03T00:23:39Z | 2019-09-03T00:32:28Z | 2019-09-03T00:32:28Z | 2019-09-03T00:32:28Z | 2dc5c8dc259a0606162673d394ba8cc1c6f54428 | 0 | a85239f69261c10f1a9f90514c8b5d113cb94585 | f04deebec4f3842f7bd610cd5859de529f77d50e | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/571 | ||||
500256485 | MDExOlB1bGxSZXF1ZXN0NTAwMjU2NDg1 | 1000 | closed | 0 | datasette.client internal requests mechanism | simonw 9599 | Refs #943 | 2020-10-08T23:58:25Z | 2020-10-09T16:11:26Z | 2020-10-09T16:11:25Z | 2020-10-09T16:11:25Z | 8f97b9b58e77f82fef1f10e9c9f6754b993544b6 | simonw 9599 | Datasette 0.50 5971510 | 0 | 8a80c79deb640bc1a1864132a3564ccca59e8858 | 7249ac5ca04b5ddc6517750326ee7e522cc49145 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1000 | ||
1503774871 | PR_kwDOBm6k_c5ZociX | 2173 | closed | 0 | click-default-group>=1.2.3 | simonw 9599 | Now available as a wheel: - https://github.com/click-contrib/click-default-group/issues/21 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2173.org.readthedocs.build/en/2173/ <!-- readthedocs-preview datasette end --> | 2023-09-06T02:33:28Z | 2023-09-06T02:50:10Z | 2023-09-06T02:50:10Z | 2023-09-06T02:50:10Z | 05707aa16b5c6c39fbe48b3176b85a8ffe493938 | 0 | a481ebd495d0f87ebd6dcf360a9cff25a6e148d7 | fd083e37ec53e7e625111168d324a572344a3b19 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2173 | ||||
928210171 | PR_kwDOBm6k_c43U1z7 | 1740 | closed | 0 | chore: Set permissions for GitHub actions | naveensrinivasan 172697 | Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com> | 2022-05-05T01:03:08Z | 2022-05-31T19:28:41Z | 2022-05-31T19:28:40Z | 2022-05-31T19:28:40Z | 2e9751672d4fe329b3c359d5b7b1992283185820 | 0 | f76fce5fd2bacadf2f46656e32093c6d639270c9 | 280ff372ab30df244f6c54f6f3002da57334b3d7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1740 | ||||
1086765659 | PR_kwDOBm6k_c5Axrpb | 1842 | closed | 0 | check_visibility can now take multiple permissions into account | simonw 9599 | Refs #1829 - [x] Fix table page - [x] Fix database page - [x] Fix query page - [x] Fix row page - [x] Tests - [x] Updated documentation for `check_visibility` method, to cover the new `permissions=` keyword argument Also this fix is currently only applied on the table page - needs to be applied on database, row and query pages too. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1842.org.readthedocs.build/en/1842/ <!-- readthedocs-preview datasette end --> | 2022-10-14T00:06:04Z | 2022-10-24T02:11:36Z | 2022-10-24T02:11:36Z | 2022-10-24T02:11:34Z | 78dad236df730212aa7172f885fd8ec575f0d3ad | 0 | 362347574e3283d637243906af7d5e028e100180 | 79aa0de083d38a9975915d5a4cc68ca6c74fbe3d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1842 | ||||
327541046 | MDExOlB1bGxSZXF1ZXN0MzI3NTQxMDQ2 | 595 | closed | 0 | bump uvicorn to 0.9.0 to be Python-3.8 friendly | stonebig 4312421 | as uvicorn-0.9 is needed to get websockets-8.0.2, which is needed to have Python-3.8 compatibility | 2019-10-13T10:00:04Z | 2019-11-12T04:46:48Z | 2019-11-12T04:46:48Z | 5a7185bcd15aab28e86338b3771c25af13a94a4c | 0 | e1d92ea94ca8f14879ef280cb7dadab7eed76e9c | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/595 | |||||
340211149 | MDExOlB1bGxSZXF1ZXN0MzQwMjExMTQ5 | 631 | closed | 0 | bugfix issue 572 | qwo 3683993 | closes bugfix issue #572 | 2019-11-13T02:46:50Z | 2019-11-13T04:28:43Z | 2019-11-13T04:28:42Z | 2019-11-13T04:28:42Z | 848dec4deb0d3c140a4e0394cac45fbb2593349b | 0 | ca43966e5aa832a377e4db5d411b6cc8b1c5b3ac | bbd00e903cdd49067ecdbdb60a4d225833a44b05 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/631 | ||||
393274433 | MDExOlB1bGxSZXF1ZXN0MzkzMjc0NDMz | 708 | closed | 0 | base_url configuration setting, refs #394 | simonw 9599 | Pull request implementing #394 | 2020-03-24T21:52:00Z | 2020-03-25T00:18:44Z | 2020-03-25T00:18:44Z | 2020-03-25T00:18:44Z | 7656fd64d8b6a32ebc34d89c1b8711cc5ea240f7 | Datasette 0.39 5234079 | 0 | b1f953b5de1bef239ddb1d133f9b2e19f8e3438a | a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/708 | |||
399166433 | MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz | 719 | closed | 0 | asgi: check raw_path is not None | cldellow 193185 | The ASGI spec (https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to imply that `None` is a valid value, so we need to check the value itself, not just whether the key is present. In particular, the [mangum](https://github.com/erm/mangum) adapter passes `None` for this key's value. This change permits mangum to be used to front datasette in Amazon API Gateway + AWS Lambda deployments. | 2020-04-05T16:53:58Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | dbd2d70b3819a7041bb36a527033d77c85683c05 | 0 | 161f61d73800a605354b4ac44a3c989e19bbc77a | e0e7a0facfc935a835cd73c720bc46661462f0b1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/719 | ||||
1220379312 | PR_kwDOBm6k_c5IvYKw | 2008 | open | 0 | array facet: don't materialize unnecessary columns | cldellow 193185 | The presence of `inner.*` causes SQLite to materialize a row with all the columns. Those columns will be discarded later. Instead, we can select only the column we'll use. This lets SQLite's optimizer realize that the other columns in the CTE definition aren't needed. On a test table with 278K rows, 98K of which had an array, this speeds up the facet calculation from 4 sec to 1 sec. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2008.org.readthedocs.build/en/2008/ <!-- readthedocs-preview datasette end --> | 2023-01-28T19:33:40Z | 2023-01-29T18:17:40Z | 0eda5a57ead9bda8be4c9e5cd2fdb9f22e69222e | 0 | f529a3001d35a114d2e622dcc7913c4c25a95ed8 | 0b4a28691468b5c758df74fa1d72a823813c96bf | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2008 | ||||||
330129358 | MDExOlB1bGxSZXF1ZXN0MzMwMTI5MzU4 | 603 | closed | 0 | always pop as_format off args dict | chris48s 6025893 | closes #563 | 2019-10-20T15:44:22Z | 2019-10-30T19:12:22Z | 2019-10-21T02:03:09Z | 2019-10-21T02:03:09Z | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | 0 | 39d044502590224e4f07c05e02fc8a4d312255c1 | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/603 | ||||
356004242 | MDExOlB1bGxSZXF1ZXN0MzU2MDA0MjQy | 653 | closed | 0 | allow leading comments in SQL input field | jaywgraves 418191 | this changes the SQL validation to allow for lines that are commented out my main use case for this is that I like to write a succession of queries when trying to solve a problem. In most native SQL clients there is a key binding that will run just the current highlighted query or the program is smart enough to run just the query that the cursor is in if it's properly delimited with a ';'. Typically my workflow will start with a single simple query and I'll copy/paste it to a new query below when I want to make big changes while debugging. This makes it easy to go back to a working version above when the query doesn't work. Since datasette sends the whole query to the DB I have to comment out the older queries by prefixing each line with `--`. This gets caught by the validators when I use my typical strategy of copy/pasting each successive query below the last one. so this is just a simple fix to allow for a query to be sent to the DB with leading comments. | 2019-12-21T14:19:52Z | 2020-02-05T02:35:41Z | 2020-02-05T02:13:25Z | 2020-02-05T02:13:25Z | 33a12c8ae526afb40a7819c9ca411c9d3c41219b | 0 | 3a4cb551b9a217d5798e3e9ad5d4b06234a81885 | d6b6c9171f3fd945c4e5e4144923ac831c43c208 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/653 | ||||
152914480 | MDExOlB1bGxSZXF1ZXN0MTUyOTE0NDgw | 107 | closed | 0 | add support for ?field__isnull=1 | raynae 3433657 | Is this what you had in mind for [this issue](https://github.com/simonw/datasette/issues/64)? | 2017-11-15T23:36:36Z | 2017-11-17T15:12:29Z | 2017-11-17T13:29:22Z | 2017-11-17T13:29:22Z | ed2b3f25beac720f14869350baacc5f62b065194 | 0 | 14d5bb572fadbd45973580bd9ad2a16c2bf12909 | b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/107 | ||||
729704537 | MDExOlB1bGxSZXF1ZXN0NzI5NzA0NTM3 | 1465 | open | 0 | add support for -o --get /path | ctb 51016 | Fixes https://github.com/simonw/datasette/issues/1459 Adds support for `--open --get /path` to be used in combination. If `--open` is provided alone, datasette will open a web page to a default URL. If `--get <url>` is provided alone, datasette will output the result of doing a GET to that URL and then exit. If `--open --get <url>` are provided together, datasette will open a web page to that URL. TODO items: - [ ] update documentation - [ ] print out error message when `--root --open --get <url>` is used - [ ] adjust code to require that `<url>` start with a `/` when `-o --get <url>` is used - [ ] add test(s) note, '@CTB' is used in this PR to flag code that needs revisiting. | 2021-09-08T14:30:42Z | 2021-09-08T14:31:45Z | 064e9511923fc4e50566bf9430b4a5b26f169357 | 1 | 9b66a7d9ba55bad8a3b409ede8855f4b4fff1f88 | d57ab156b35ec642549fb69d08279850065027d2 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1465 | ||||||
1488782498 | PR_kwDOBm6k_c5YvQSi | 2158 | open | 0 | add brand option to metadata.json. | publicmatt 52261150 | This adds a brand link to the top navbar if 'brand' key is populated in metadata.json. The link will be either '#' or use the contents of 'brand_url' in metadata.json for href. I was able to get this done on my own site by replacing `templates/_crumbs.html` with a custom version, but I thought it would be nice to incorporate this in the tool directly. ![image](https://github.com/simonw/datasette/assets/52261150/fdfe9bb5-fee4-466c-8074-6132071d94e6) <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2158.org.readthedocs.build/en/2158/ <!-- readthedocs-preview datasette end --> | 2023-08-24T22:37:41Z | 2023-08-24T22:37:57Z | 20fad9361ea7173a3543fa16e4b6913a3a0f4b9e | 0 | 0d89c4bd19732487232ab2637cf5e8632f48986b | 527cec66b0403e689c8fb71fc8b381a1d7a46516 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2158 | ||||||
1246416723 | PR_kwDOBm6k_c5KSs9T | 2028 | closed | 0 | add Python 3.11 classifier | dtrodrigues 614233 | Python 3.11 is tested in CI and is used in the docker image, so add the Python 3.11 Trove classifier. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2028.org.readthedocs.build/en/2028/ <!-- readthedocs-preview datasette end --> | 2023-02-19T20:16:03Z | 2023-03-06T21:01:20Z | 2023-03-06T21:01:19Z | 2023-03-06T21:01:19Z | a53b893c46453f35decc8c145c138671cee6140c | 0 | a8dde133f996099be9bc927c013d853dd10cd54f | 0b4a28691468b5c758df74fa1d72a823813c96bf | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2028 | ||||
163561830 | MDExOlB1bGxSZXF1ZXN0MTYzNTYxODMw | 181 | closed | 0 | add "format sql" button to query page, uses sql-formatter | bsmithgall 1957344 | Cool project! This fixes #136 using the suggested [sql formatter](https://github.com/zeroturnaround/sql-formatter) library. I included the minified version in the bundle and added the relevant scripts to the codemirror includes instead of adding new files, though I could also add new files. I wanted to keep it all together, since the result of the format needs access to the editor in order to properly update the codemirror instance. | 2018-01-17T21:50:04Z | 2019-11-11T03:08:25Z | 2019-11-11T03:08:25Z | a9ac208088e536043890e0f7ff8a182398576a51 | 0 | 86ac746cfcbf2fa86863f8fab528494600eac1ae | a290f28caae61b47e76e825c06984f22fc41a694 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/181 | |||||
1507122571 | PR_kwDOBm6k_c5Z1N2L | 2181 | closed | 0 | actors_from_ids plugin hook and datasette.actors_from_ids() method | simonw 9599 | Refs: - #2180 This plugin hook is feature complete - including documentation and tests. I'm not going to land it in Datasette `main` until we've used it at least once though, which should happen promptly in development for [Datasette Cloud](https://www.datasette.cloud/). <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2181.org.readthedocs.build/en/2181/ <!-- readthedocs-preview datasette end --> | 2023-09-08T01:51:07Z | 2023-09-08T04:24:00Z | 2023-09-08T04:23:59Z | 2023-09-08T04:23:59Z | b645174271aa08e8ca83b27ff83ce078ecd15da2 | 0 | e1c5a9d92b7677eaf9eff58d05badb39d078d1bd | c26370485a4fd4bf130da051be9163d92c57f24f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2181 | ||||
1510964674 | PR_kwDOBm6k_c5aD33C | 2183 | closed | 0 | `datasette.yaml` plugin support | asg017 15178711 | Part of #2093 In #2149 , we ported over `"settings.json"` into the new `datasette.yaml` config file, with a top-level `"settings"` key. This PR ports over plugin configuration into top-level `"plugins"` key, as well as nested database/table plugin config. From now on, no plugin-related configuration is allowed in `metadata.yaml`, and must be in `datasette.yaml` in this new format. This is a pretty significant breaking change. Thankfully, you should be able to copy-paste your legacy plugin key/values into the new `datasette.yaml` format. An example of what `datasette.yaml` would look like with this new plugin config: ```yaml plugins: datasette-my-plugin: config_key: value databases: fixtures: plugins: datasette-my-plugin: config_key: fixtures-db-value tables: students: plugins: datasette-my-plugin: config_key: fixtures-students-table-value ``` As an additional benefit, this now works with the new `-s` flag: ```bash datasette --memory -s 'plugins.datasette-my-plugin.config_key' new_value ``` Marked as a "Draft" right now until I add better documentation. We also should have a plan for the next alpha release to document and publicize this change, especially for plugin authors (since their docs will have to change to say `datasette.yaml` instead of `metadata.yaml` <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2183.org.readthedocs.build/en/2183/ <!-- readthedocs-preview datasette end --> | 2023-09-11T20:26:04Z | 2023-09-13T21:06:25Z | 2023-09-13T21:06:25Z | 2023-09-13T21:06:25Z | b2ec8717c3619260a1b535eea20e618bf95aa30b | 0 | acca3387a18a64439d8ae8f535c856c97605a8a5 | a4c96d01b27ce7cd06662a024da3547132a7c412 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2183 | ||||
180188397 | MDExOlB1bGxSZXF1ZXN0MTgwMTg4Mzk3 | 196 | closed | 0 | _sort= and _sort_desc= parameters to table view | simonw 9599 | See #189 | 2018-04-09T00:07:21Z | 2018-04-09T05:10:29Z | 2018-04-09T05:10:23Z | 2018-04-09T05:10:23Z | c1d37fdf2be84fb07155bb1b1f61057444b03300 | 0 | fdd6b71e40c8aa9a93e95802a8b6291099d4db2c | b2188f044265c95f7e54860e28107c17d2a6ed2e | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/196 | ||||
152870030 | MDExOlB1bGxSZXF1ZXN0MTUyODcwMDMw | 104 | closed | 0 | [WIP] Add publish to heroku support | jacobian 21148 | Refs #90 | 2017-11-15T19:56:22Z | 2017-11-21T20:55:05Z | 2017-11-21T20:55:05Z | 2017-11-21T20:55:05Z | e47117ce1d15f11246a3120aa49de70205713d05 | 0 | de42240afd1e3829fd21cbe77a89ab0eaab20d78 | 0331666e346c68b86de4aa19fbb37f3a408d37ca | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/104 | ||||
274313625 | MDExOlB1bGxSZXF1ZXN0Mjc0MzEzNjI1 | 439 | closed | 0 | [WIP] Add primary key to the extra_body_script hook arguments | russss 45057 | This allows the row to be identified on row pages. The context here is that I want to access the row's data to plot it on a map. I considered passing the entire template context through to the hook function. This would expose the actual row data and potentially avoid a further fetch request in JS, but it does make the plugin API a lot more leaky. (At any rate, using the selected row data is tricky in my case because of Spatialite's infuriating custom binary representation...) | 2019-04-29T10:08:23Z | 2019-05-01T09:58:32Z | 2019-05-01T09:58:30Z | b3cbcfef4d11d2741cf00861734d726a4730afe5 | 0 | 76b2c8fa406063b436155a7d8995e07b7e718c13 | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/439 | |||||
1067479608 | PR_kwDOBm6k_c4_oHI4 | 1820 | closed | 0 | [SPIKE] Don't truncate query CSVs | fgregg 536941 | Relates to #526 This is a minimal set of changes needed for having *query* CSVs attempt to download all the rows. What's good about it is the minimalism. What's bad about it: 1. We are abusing the `_size` argument to indicate we don't want truncation, which isn't the most obvious thing. Additionally, there are various checks that make sure the "_size" URL parameter is a positive integer, which we are relying on to prevent overloading. 2. The default CSV on a table page will use the max_returned_rows argument. Changing this could be a breaking change, since that's currently a place that has some facilities for pagination. Additionally, i think there's a limit under the hood somewhere which if we removed could lead to sql timeouts 3. There are similar reasons for leaving the current streaming method alone, as the current methods could allow for downloading very large files that could have a sql timeout if we tried to get them in one go. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1820.org.readthedocs.build/en/1820/ <!-- readthedocs-preview datasette end --> | 2022-09-26T17:27:01Z | 2022-10-07T16:12:17Z | 2022-10-07T16:12:17Z | bd62037d5cdf72c06fd4d78da162cbc1526c1ab6 | 1 | 9bead2a95b74f3a2e0be2a9f1cb1f624aec22c2f | eff112498ecc499323c26612d707908831446d25 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1820 | |||||
1046943107 | PR_kwDOBm6k_c4-ZxWD | 1803 | closed | 0 | Workaround for test failure: RuntimeError: There is no current event loop | simonw 9599 | Closes #1802 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/ <!-- readthedocs-preview datasette end --> | 2022-09-06T00:31:06Z | 2022-09-06T00:40:19Z | 2022-09-06T00:40:19Z | 2022-09-06T00:40:19Z | 64288d827f7ff97f825e10f714da3f781ecf9345 | 0 | 7b6a2b48408697905bd93504b7f5554f4a7627ef | 1c29b925d300d1ee17047504473f2517767aa05b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1803 | ||||
560760145 | MDExOlB1bGxSZXF1ZXN0NTYwNzYwMTQ1 | 1204 | open | 0 | WIP: Plugin includes | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1204 | ||||||
1303909190 | PR_kwDOBm6k_c5NuBNG | 2053 | closed | 0 | WIP new JSON for queries | simonw 9599 | Refs: - #2049 TODO: - [x] Read queries JSON - Implement error display with `"ok": false` and an errors key - Read queries HTML - Read queries other formats (plugins) - Canned read queries (dispatched to from table) - Write queries (a canned query thing) - Implement different shapes, refactoring to share code with table - Implement a sensible subset of extras, also refactoring to share code with table - Get all tests passing <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/ <!-- readthedocs-preview datasette end --> | 2023-04-05T23:26:15Z | 2023-07-26T18:28:59Z | 2023-07-26T18:26:45Z | c69f7961e42c1103e281ca061edbe041e212cbb0 | 1 | ee24ea94525ace221f1b4d141d01cf56410c2c6d | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2053 | |||||
391924509 | MDExOlB1bGxSZXF1ZXN0MzkxOTI0NTA5 | 703 | closed | 0 | WIP implementation of writable canned queries | simonw 9599 | Refs #698. | 2020-03-21T22:23:51Z | 2020-06-03T00:08:14Z | 2020-06-02T23:57:35Z | 80c5a74a947e63673389604de12e80fa27305454 | 1 | 61e40e917efc43a8aea5298a22badbb6eaea3fa1 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/703 | |||||
347179081 | MDExOlB1bGxSZXF1ZXN0MzQ3MTc5MDgx | 644 | closed | 0 | Validate metadata json on startup | chris48s 6025893 | This PR adds a sanity check which builds up a marshmallow schema on-the-fly based on the structure of the database(s) on startup and then validates the metadata json against it. In case of invalid data, this will raise with a descriptive error e.g: ``` marshmallow.exceptions.ValidationError: {'databases': {'fixtures': {'tables': {'not_a_table': ['Unknown field.']}}}} ``` Closes #260 --- This was intended to be fairly self-contained, but then while I was working on it, I hit some problems getting the tests to pass in the context of the test suite as a whole. My tests passed in isolation, but then failed while doing a full test suite run. That's when the worms started coming out of the can :bug: After some sleuthing, it turned out this was essentially the result of several issues intersecting: * There are certain events in the application lifecycle where the metadata schema can be modified after it is loaded e.g: https://github.com/simonw/datasette/blob/a562f2965552fb2dbbbd74df245c9965ee23d886/datasette/app.py#L299-L320 This means that sometimes what goes in isn't always exactly what comes out when you call `/-/metadata`. * Because the test fixtures use session scope for performance reasons if one unit test performs an action which mutates the metadata, that can impact on other unit tests which run after it using the same fixture. * Because the `self._metadata` property was being set with a simple assignment `self._metadata = metadata`, that created an object reference to the test fixture data, so operating on `self._metadata` was actually modifying the test fixture `METADATA` meaning that depending on when it was loaded in the test suite lifecycle, `METADATA` had different content, which was somewhat unexpected. As such, I've added some band-aids in 3552024 and 6859fd8: * Switching the metadata object to a `deepcopy` of the input prevents us directly mutating the input fixture. * I've switched some of the tests to use a fixture with function scope instead of session scope so we're workin… | 2019-11-30T00:32:15Z | 2021-07-28T17:58:45Z | 2021-07-28T17:58:45Z | e71b642474d54f986bc8857346103d8a10d84e6d | 0 | 6859fd8c5eef26f397aa949dc4edf3747e8ab0a5 | a562f2965552fb2dbbbd74df245c9965ee23d886 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/644 | |||||
339742432 | MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy | 630 | closed | 0 | Use python:3.8 base Docker image | simonw 9599 | Closes #629 | 2019-11-12T06:02:37Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | d977fbadf70a96bf2eea1407d01f99d98e092dec | 0 | 53180ec09483bd4eef00346a39b302aeb3039e7d | f554be39fc14ddc18921ca29d3920d55aad03d46 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/630 | ||||
608323028 | MDExOlB1bGxSZXF1ZXN0NjA4MzIzMDI4 | 1290 | closed | 0 | Use pytest-xdist to speed up tests | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1290 | ||||
291534596 | MDExOlB1bGxSZXF1ZXN0MjkxNTM0NTk2 | 529 | closed | 0 | Use keyed rows - fixes #521 | nathancahill 1383872 | Supports template syntax like this: ``` {% for row in display_rows %} <h2 class="scientist">{{ row["First_Name"] }} {{ row["Last_Name"] }}</h2> ... ``` | 2019-06-25T12:33:48Z | 2019-06-25T12:35:07Z | 2019-06-25T12:35:07Z | 3be9759418fdfe4a8ae8aec46fc2a937d45332d2 | 0 | 312e3394bd9f3eaef606fbe37eb409ec7462baaf | 9e97b725f11be3f4dca077fe5569078a62ec2761 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/529 | |||||
372763906 | MDExOlB1bGxSZXF1ZXN0MzcyNzYzOTA2 | 666 | closed | 0 | Use inspect-file, if possible, for total row count | kevindkeogh 13896256 | For large tables, counting the number of rows in the table can take a signficant amount of time. Instead, where an inspect-file is provided for an immutable database, look up the row-count for a plain count(*). | 2020-02-08T22:10:35Z | 2020-03-09T02:47:15Z | 2020-02-25T20:19:29Z | 2020-02-25T20:19:29Z | 3041c6b6412bbe317f8b9afd6529a15954f2c47e | 0 | 8947a60404b8242a03f9ebabc5f957d75f4dfe04 | b031fe97636b80b05fec409ee1dffb7d044fd4e9 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/666 | ||||
521276296 | MDExOlB1bGxSZXF1ZXN0NTIxMjc2Mjk2 | 1097 | closed | 0 | Use f-strings | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1097 | ||||
275801463 | MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz | 447 | closed | 0 | Use dist: xenial and python: 3.7 on Travis | simonw 9599 | 2019-05-03T18:07:07Z | 2019-05-03T18:17:05Z | 2019-05-03T18:16:53Z | 2019-05-03T18:16:53Z | 553314dcd699a84aa7cc806377150ca0d57a6024 | 0 | cd22e389d09b4fd5ed28205ba38a20faf1ed14f1 | 01b3de5b66742f0f661183e9e2ef66be3600e831 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/447 | |||||
421491810 | MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw | 768 | closed | 0 | Use dirs_exist_ok=True | simonw 9599 | Refs #744 | 2020-05-21T17:53:44Z | 2020-05-27T20:21:56Z | 2020-05-21T17:53:51Z | 2020-05-21T17:53:51Z | cee671a58f417f827d1735b1abaa40716534ea67 | Datasette 0.43 5471110 | 0 | f2e0a558238a34dc482803762de2509474a178c6 | faea5093b865031f650da7da6539430f732f511a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/768 | |||
872324754 | PR_kwDOBm6k_c4z_p6S | 1648 | closed | 0 | Use dash encoding for table names and row primary keys in URLs | simonw 9599 | Refs #1439. - [x] Build `dash_encode` / `dash_decode` functions - [x] Use dash encoding for row primary keys - [x] Use dash encoding for `?_next=` pagination tokens - [x] Use dash encoding for table names in URLs - [x] Use dash encoding for database name - ~~Implement redirects from previous `%` URLs that replace those with `-`~~ - separate issue: #1650 | 2022-03-05T19:50:45Z | 2022-03-07T15:38:30Z | 2022-03-07T15:38:30Z | 2022-03-07T15:38:29Z | 1baa030eca375f839f3471237547ab403523e643 | 0 | 32548b88fdb413429d960966decba8f6b3889190 | 5010d1359b9e9db90a5a69a3ca22d12862893e00 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1648 | ||||
564608264 | MDExOlB1bGxSZXF1ZXN0NTY0NjA4MjY0 | 1211 | closed | 0 | Use context manager instead of plain open | kbaikov 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1211 | ||||
1167644140 | PR_kwDOBm6k_c5FmNXs | 1961 | closed | 0 | Use click.echo() instead of print() for --root option | simonw 9599 | This ensures the URL is output correctly when running under Docker. Closes #1958 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1961.org.readthedocs.build/en/1961/ <!-- readthedocs-preview datasette end --> | 2022-12-16T00:54:56Z | 2022-12-16T00:55:19Z | 2022-12-16T00:55:18Z | 2022-12-16T00:55:18Z | 013496862f4d4b441ab61255242b838b24287607 | 0 | 06d20c792f8c872118edd84973308fb3e5137b5e | 0b68996cc511b3a801f0cd0157bd66332d75f46f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1961 | ||||
598213565 | MDExOlB1bGxSZXF1ZXN0NTk4MjEzNTY1 | 1271 | open | 0 | Use SQLite conn.interrupt() instead of sqlite_timelimit() | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1271 | ||||||
1022524090 | PR_kwDOBm6k_c488nq6 | 1778 | closed | 0 | Use Read the Docs action v1 | humitos 244656 | Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1` <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1778.org.readthedocs.build/en/1778/ <!-- readthedocs-preview datasette end --> | 2022-08-10T10:30:50Z | 2022-08-20T00:04:17Z | 2022-08-20T00:04:17Z | 2022-08-20T00:04:17Z | 663ac431fe7202c85967568d82b2034f92b9aa43 | 0 | 003ac653b0bbd9dd30f0f7855e6ecfc9a045d486 | 8cfc72336878dd846d149658e99cc598e835b661 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1778 | ||||
453890292 | MDExOlB1bGxSZXF1ZXN0NDUzODkwMjky | 901 | closed | 0 | Use None as a default arg | Alyetama 56323389 | When passing a mutable value as a default argument in a function, the default argument is mutated anytime that value is mutated. This poses a bug risk. Instead, use None as a default and assign the mutable value inside the function. | 2020-07-20T22:18:38Z | 2020-07-31T18:42:39Z | 2020-07-31T18:42:39Z | 2020-07-31T18:42:39Z | 2d7fa8b9058dfbf9c7c371cdeec115d32a177dc9 | 0 | 1285f28d82d9ca97e7543bb87fc6ff462855debe | d9a5ef1c32a4390e398653ebfd570f8e1a03d93e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/901 | ||||
340743220 | MDExOlB1bGxSZXF1ZXN0MzQwNzQzMjIw | 635 | closed | 0 | Use Jinja async mode | simonw 9599 | Refs #628. Still needs documentation. | 2019-11-14T01:20:57Z | 2019-11-14T23:14:23Z | 2019-11-14T23:14:23Z | 2019-11-14T23:14:22Z | 8c642f04e0608bf537fdd1f76d64c2367fb04d57 | 0 | 0e8f8be1dbf89a6f689a5eea4a0534199a0028f6 | b51f258d00bb3c3b401f15d46a1fbd50394dbe1c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/635 | ||||
518988879 | MDExOlB1bGxSZXF1ZXN0NTE4OTg4ODc5 | 1085 | closed | 0 | Use FTS4 in fixtures | simonw 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 | datasette 107914493 | https://github.com/simonw/datasette/pull/1085 | ||||
1125261188 | PR_kwDOBm6k_c5DEh-E | 1898 | closed | 0 | Use DOMContentLoaded instead of load event for CodeMirror initialization | bgrins 95570 | Closes #1894 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1898.org.readthedocs.build/en/1898/ <!-- readthedocs-preview datasette end --> | 2022-11-17T00:19:21Z | 2022-11-18T07:29:01Z | 2022-11-18T07:29:01Z | 2022-11-18T07:29:01Z | 3ecd131e57add427d847b614c920c9624bb2e66b | 0 | 5eb4ea45ce6cdc7003fc7c5175977b025b0f111e | 00e233d7a7f6443cb95fb5227c23580c48551cad | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1898 | ||||
1504915653 | PR_kwDOBm6k_c5ZszDF | 2174 | open | 0 | Use $DATASETTE_INTERNAL in absence of --internal | asg017 15178711 | #refs 2157, specifically [this comment](https://github.com/simonw/datasette/issues/2157#issuecomment-1700291967) Passing in `--internal my_internal.db` over and over again can get repetitive. This PR adds a new configurable env variable `DATASETTE_INTERNAL_DB_PATH`. If it's defined, then it takes place as the path to the internal database. Users can still overwrite this behavior by passing in their own `--internal internal.db` flag. In draft mode for now, needs tests and documentation. Side note: Maybe we can have a sections in the docs that lists all the "configuration environment variables" that Datasette respects? I did a quick grep and found: - `DATASETTE_LOAD_PLUGINS` - `DATASETTE_SECRETS` <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2174.org.readthedocs.build/en/2174/ <!-- readthedocs-preview datasette end --> | 2023-09-06T16:07:15Z | 2023-09-08T00:46:13Z | 0fc2896ffc5b49adba967a3d0ab8ac9ca119ba0e | 0 | d75b51950f6836d6e5a58accb48b1d7687dbdd1c | 05707aa16b5c6c39fbe48b3176b85a8ffe493938 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2174 | ||||||
758569502 | PR_kwDOBm6k_c4tNtoe | 1490 | closed | 0 | Upgrade to httpx 0.20 | simonw 9599 | Refs #1488 | 2021-10-14T17:51:05Z | 2021-10-14T18:03:45Z | 2021-10-14T18:03:44Z | 2021-10-14T18:03:44Z | b267b5775436577a91a9f9655143908aecff05da | 0 | e0332d1f4788a561492965a09ef83fe122fd3d8c | 2a8c6690399ee832ee62aafdede1794f5945d911 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1490 | ||||
157365811 | MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx | 168 | closed | 0 | Upgrade to Sanic 0.7.0 | simonw 9599 | 2017-12-09T01:25:08Z | 2017-12-09T03:00:34Z | 2017-12-09T03:00:34Z | 2017-12-09T03:00:34Z | 446f4b832272b2286f6f65af19714eb64afb7aa6 | 0 | d9e13a5cc2b77637a6cdd8bd21b9b8fc1350051a | 61e3c5a1e904a6e1cbee86ba1494b5cb4b5820cf | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/168 | |||||
269364924 | MDExOlB1bGxSZXF1ZXN0MjY5MzY0OTI0 | 426 | closed | 0 | Upgrade to Jinja2==2.10.1 | simonw 9599 | https://nvd.nist.gov/vuln/detail/CVE-2019-10906 This is only a security issue of concern if evaluating templates from untrusted sources, which isn't something I would ever expect a Datasette user to do. | 2019-04-10T23:03:08Z | 2019-04-22T21:23:22Z | 2019-04-10T23:13:31Z | 2019-04-10T23:13:31Z | 9cd3b44277e6a8ea9273bf659379ff0414e0b8ae | 0 | 629453383c7f911eddfc891f22c39b7d6e9661aa | 78e45ead4d771007c57b307edf8fc920101f8733 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/426 | ||||
626222676 | MDExOlB1bGxSZXF1ZXN0NjI2MjIyNjc2 | 1314 | closed | 0 | Upgrade to GitHub-native Dependabot | dependabot-preview[bot] 27856297 | _Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then._ Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the [new syntax][new_syntax]. When merged, we'll swap out `dependabot-preview` (me) for a new `dependabot` app, and you'll be all set! With this change, you'll now use the [Dependabot page in GitHub][dependabot_page], rather than the [Dependabot dashboard][dashboard], to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI. If you've got any questions or feedback for us, please let us know by creating an issue in the [dependabot/dependabot-core][issues] repository. [Learn more about migrating to GitHub-native Dependabot][learn] Please note that regular `@dependabot` commands do not work on this pull request. [dashboard]: https://app.dependabot.com/ [dependabot_page]: https://github.com/simonw/datasette/network/updates [issues]: https://github.com/dependabot/dependabot-core/issues/new?assignees=%40dependabot%2Fpreview-migration-reviewers&labels=E%3A+preview-migration&template=migration-issue.md [learn]: http://docs.github.com/code-security/supply-chain-security/upgrading-from-dependabotcom-to-github-native-dependabot [new_syntax]: https://help.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates [org_secrets_url]: https://github.com/settings/secrets/dependabot [repo_secrets_url]: https://github.com/simonw/datasette/settings/secrets/dependabot | 2021-04-29T15:36:41Z | 2021-04-29T15:47:22Z | 2021-04-29T15:47:21Z | 2021-04-29T15:47:21Z | 5e60bad40460f68122006ce704cfc163d6076f34 | 0 | 98eea0b67f4ac658869052f1cfe31bcc44fe2a7a | a4bb2abce0764d49d255e5379f9e9c70981834ca | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1314 | ||||
1123392399 | PR_kwDOBm6k_c5C9ZuP | 1893 | closed | 0 | Upgrade to CodeMirror 6, add SQL autocomplete | bgrins 95570 | In an effort to get closer to table / column autocomplete I took a shot at https://github.com/simonw/datasette/issues/1796. I haven't done a lot of testing but would be curious if this fixes some of the concerns raised in https://github.com/simonw/datasette/issues/1796#issue-1355148385 for example. Done: * Changed to bundling using rollup as per https://codemirror.net/examples/bundle/ * Restored a fromTextArea-like function from https://codemirror.net/docs/migration/ * Removed old JS and CSS files (no external CSS needed anymore as per https://codemirror.net/examples/styling/) * Updated instructions for building the bundle Not done: * cmResize had an error, so commented out the resize handle * Add extraKeys option for shift+enter and tab <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1893.org.readthedocs.build/en/1893/ <!-- readthedocs-preview datasette end --> | 2022-11-15T20:52:35Z | 2022-11-16T23:54:02Z | 2022-11-16T23:49:06Z | 2022-11-16T23:49:06Z | ae11fa5887e03376704c22e5d0969c1e0642d8d8 | 0 | f254be4b38936e95e7a7f25866e7c6b0520db96f | 6f610e1d94b7b8ec605b5b7fcb01537f6adf9c5b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1893 | ||||
284390197 | MDExOlB1bGxSZXF1ZXN0Mjg0MzkwMTk3 | 497 | closed | 0 | Upgrade pytest to 4.6.1 | simonw 9599 | 2019-06-03T01:45:34Z | 2019-06-03T02:06:32Z | 2019-06-03T02:06:27Z | 2019-06-03T02:06:27Z | 5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945 | 0 | bf2ab0306e6d3ce7524fecf015e2cec7ae45e994 | 803f750309bf0cd5b7501228c1efcf9a35686d74 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/497 | |||||
1191716406 | PR_kwDOBm6k_c5HCCY2 | 1984 | closed | 0 | Upgrade Sphinx | simonw 9599 | Refs #1971 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1984.org.readthedocs.build/en/1984/ <!-- readthedocs-preview datasette end --> | 2023-01-10T02:00:40Z | 2023-01-10T02:02:33Z | 2023-01-10T02:02:33Z | 2023-01-10T02:02:32Z | 8e7073404379d79a2d269167a12bbb58439edd39 | 0 | 0c8b3f5ca1385c804c696f1fa61c24de29ae4755 | 4880638f13c3a1abc53f395cde39ac848daf416d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1984 | ||||
712346199 | MDExOlB1bGxSZXF1ZXN0NzEyMzQ2MTk5 | 1433 | closed | 0 | Update trustme requirement from <0.9,>=0.7 to >=0.7,<0.10 | dependabot[bot] 49699333 | Updates the requirements on [trustme](https://github.com/python-trio/trustme) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-trio/trustme/commit/8fc5bf9c5afaf40843287e6eccca344713eddb50"><code>8fc5bf9</code></a> Bump version to 0.9.0</li> <li><a href="https://github.com/python-trio/trustme/commit/913e21dd94fc16a8b41742cc60338dcf638ae792"><code>913e21d</code></a> Bump types-cryptography from 3.3.3 to 3.3.5 (<a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/342">#342</a>)</li> <li><a href="https://github.com/python-trio/trustme/commit/c66709d48bffc0d3a70d260313b752037ea71f8d"><code>c66709d</code></a> Bump types-pyopenssl from 20.0.4 to 20.0.5 (<a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/343">#343</a>)</li> <li><a href="https://github.com/python-trio/trustme/commit/5131f79e9b7d73d993f901d8e48e6d744b0606ef"><code>5131f79</code></a> Add type annotations (<a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/341">#341</a>)</li> <li><a href="https://github.com/python-trio/trustme/commit/a411dad9614f3fc2e746324d9a226e4947d55835"><code>a411dad</code></a> Bump charset-normalizer from 2.0.3 to 2.0.4 (<a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/340">#340</a>)</li> <li><a href="https://github.com/python-trio/trustme/commit/be5ec8a3892ea218291ac93da8b382229b07f044"><code>be5ec8a</code></a> Bump sphinx from 4.1.1 to 4.1.2</li> <li><a href="https://github.com/python-trio/trustme/commit/d3b8865576a82189e06c735c64685fbad7ad02d0"><code>d3b8865</code></a> Bump charset-normalizer from 2.0.2 to 2.0.3</li> <li><a href="https://github.com/python-trio/trustme/commit/4503bef325bf0b23f4a0289654ee4c72d0c79fd1"><code>4503bef</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/334">#334</a> from python-trio/dependabot/pip/charset-normalizer-2.0.2</li> <li><a href="https://github.com/python-trio/trustme/commit/ce8099d9e2b5… | 2021-08-13T13:10:24Z | 2021-08-25T01:29:27Z | 2021-08-25T01:29:26Z | 2021-08-25T01:29:26Z | 5161422b7fa249c6b7d6dc47ec6f483d3fdbd170 | 0 | ddba6cc0f74a6cda31e621889f5055fe8687d446 | 2883098770fc66e50183b2b231edbde20848d4d6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1433 | ||||
665892313 | MDExOlB1bGxSZXF1ZXN0NjY1ODkyMzEz | 1373 | closed | 0 | Update trustme requirement from <0.8,>=0.7 to >=0.7,<0.9 | dependabot[bot] 49699333 | Updates the requirements on [trustme](https://github.com/python-trio/trustme) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python-trio/trustme/commit/f9e13e03963260b32cab03f4e4c25cc515ddfad3"><code>f9e13e0</code></a> Release 0.8.0</li> <li><a href="https://github.com/python-trio/trustme/commit/4ae4435f4477dc8433f8f6d51cdb891652a5a228"><code>4ae4435</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/304">#304</a> from python-trio/dependabot/add-v2-config-file</li> <li><a href="https://github.com/python-trio/trustme/commit/87679026732cc441ac87c4415cf1a2bd6547116c"><code>8767902</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/327">#327</a> from graingert/test-on-py310</li> <li><a href="https://github.com/python-trio/trustme/commit/6abfddd5f3139bde9ee4ba0f848fb7c84c9ac54c"><code>6abfddd</code></a> Merge branch 'master' of github.com:python-trio/trustme into test-on-py310</li> <li><a href="https://github.com/python-trio/trustme/commit/51d3bdfb0d874ba52d59a84e10f2c12741de1046"><code>51d3bdf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/python-trio/trustme/issues/328">#328</a> from tiran/correct_ku_eku</li> <li><a href="https://github.com/python-trio/trustme/commit/034fb3aad7890ac6e4cb24d821413bd790a84b35"><code>034fb3a</code></a> retry codecov more</li> <li><a href="https://github.com/python-trio/trustme/commit/53e121d4f2746333cedb412cabd510549e677ba6"><code>53e121d</code></a> try codecov harder</li> <li><a href="https://github.com/python-trio/trustme/commit/c1e7923784e3282aa63c28a1afe2c7960d80390f"><code>c1e7923</code></a> require codecov in ci</li> <li><a href="https://github.com/python-trio/trustme/commit/e3ac2d61a5ab902cdeac1c95dfc0a49c81c5d290"><code>e3ac2d6</code></a> Update tests/test_trustme.py</li> <li><a href="https://github.com/python-trio/trustme/commit/496dca6f2146268058b300a7fc24d4bdb90c5c33"><code>496dca6<… | 2021-06-09T13:09:44Z | 2021-06-13T15:38:47Z | 2021-06-13T15:38:47Z | 2021-06-13T15:38:47Z | 83e9c8bc7585dcc62f200e37c2daefcd669ee05e | 0 | 51ff366eba7ce218cb82fc666032ccc83f2195fe | e7975657656ce02717f03703bb8ec17f2fe9b717 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1373 | ||||
334448258 | MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4 | 609 | closed | 0 | Update to latest black | simonw 9599 | 2019-10-30T18:42:35Z | 2019-10-30T18:49:01Z | 2019-10-30T18:49:01Z | 2019-10-30T18:49:01Z | 5dd4d2b2d3abcfd507a6df47e7c2fbad3c552fd8 | 0 | 6f57e5e77bac29ac88d51271fd0c785859a820ce | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/609 | |||||
255725057 | MDExOlB1bGxSZXF1ZXN0MjU1NzI1MDU3 | 413 | closed | 0 | Update spatialite.rst | joelondon 28597217 | a line of sql added to create the idx_<table_name> in the python recipe | 2019-02-25T00:08:35Z | 2019-03-15T05:06:45Z | 2019-03-15T05:06:45Z | 2019-03-15T05:06:45Z | 9e8c36793bfbb17c2f67371cc7f9aa8b9202fdc4 | 0 | e87565604a169a34eadadfc99e96a8f503123e8c | 1f91065b20cbc691f464bccfd8eef7d1ce4b14a8 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/413 | ||||
758334037 | PR_kwDOBm6k_c4tM0JV | 1489 | closed | 0 | Update pyyaml requirement from ~=5.3 to >=5.3,<7.0 | dependabot[bot] 49699333 | Updates the requirements on [pyyaml](https://github.com/yaml/pyyaml) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/yaml/pyyaml/blob/master/CHANGES">pyyaml's changelog</a>.</em></p> <blockquote> <p>6.0 (2021-10-13)</p> <ul> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/327">yaml/pyyaml#327</a> -- Change README format to Markdown</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/483">yaml/pyyaml#483</a> -- Add a test for YAML 1.1 types</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/497">yaml/pyyaml#497</a> -- fix float resolver to ignore <code>.</code> and <code>._</code></li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/550">yaml/pyyaml#550</a> -- drop Python 2.7</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/553">yaml/pyyaml#553</a> -- Fix spelling of “hexadecimal”</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/556">yaml/pyyaml#556</a> -- fix representation of Enum subclasses</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/557">yaml/pyyaml#557</a> -- fix libyaml extension compiler warnings</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/560">yaml/pyyaml#560</a> -- fix ResourceWarning on leaked file descriptors</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/561">yaml/pyyaml#561</a> -- always require <code>Loader</code> arg to <code>yaml.load()</code></li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/564">yaml/pyyaml#564</a> -- remove remaining direct distutils usage</li> </ul> <p>5.4.1 (2021-01-20)</p> <ul> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/480">yaml/pyyaml#480</a> -- Fix stub compat with older pyyaml versions that may unwittingly load it</li> </ul> <p>5.4 (2021-01-19)</p> <ul> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/407">yaml/pyya… | 2021-10-14T13:09:33Z | 2021-10-14T18:10:43Z | 2021-10-14T18:10:42Z | 2021-10-14T18:10:42Z | 827fa823d1b919c445f3141174ecb7a82717d99c | 0 | 11c335c484e15ecbaf320fe88db797ff108e5f6a | b267b5775436577a91a9f9655143908aecff05da | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1489 | ||||
799906901 | PR_kwDOBm6k_c4vrZxV | 1548 | closed | 0 | Update pytest-xdist requirement from <2.5,>=2.2.1 to >=2.2.1,<2.6 | dependabot[bot] 49699333 | Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 2.5.0 (2021-12-10)</h1> <h2>Features</h2> <ul> <li> <p><code>[#722](https://github.com/pytest-dev/pytest-xdist/issues/722) <https://github.com/pytest-dev/pytest-xdist/issues/722></code>_: Full compatibility with pytest 7 - no deprecation warnings or use of legacy features.</p> </li> <li> <p><code>[#733](https://github.com/pytest-dev/pytest-xdist/issues/733) <https://github.com/pytest-dev/pytest-xdist/issues/733></code>_: New <code>--dist=loadgroup</code> option, which ensures all tests marked with <code>@pytest.mark.xdist_group</code> run in the same session/worker. Other tests run distributed as in <code>--dist=load</code>.</p> </li> </ul> <h2>Trivial Changes</h2> <ul> <li> <p><code>[#708](https://github.com/pytest-dev/pytest-xdist/issues/708) <https://github.com/pytest-dev/pytest-xdist/issues/708></code>_: Use <code>@pytest.hookspec</code> decorator to declare hook options in <code>newhooks.py</code> to avoid warnings in <code>pytest 7.0</code>.</p> </li> <li> <p><code>[#719](https://github.com/pytest-dev/pytest-xdist/issues/719) <https://github.com/pytest-dev/pytest-xdist/issues/719></code>_: Use up-to-date <code>setup.cfg</code>/<code>pyproject.toml</code> packaging setup.</p> </li> <li> <p><code>[#720](https://github.com/pytest-dev/pytest-xdist/issues/720) <https://github.com/pytest-dev/pytest-xdist/issues/720></code>_: Require pytest>=6.2.0.</p> </li> <li> <p><code>[#721](https://github.com/pytest-dev/pytest-xdist/issues/721) <https://github.com/pytest-dev/pytest-xdist/issues/721></code>_: Started using type annotations and mypy checking internally. The types are incomplete and not published.</p> </li> </ul> <h1>pytest-xdist 2.4.0 (2021-09-20)</h1> <h… | 2021-12-10T13:12:06Z | 2021-12-13T23:22:22Z | 2021-12-13T23:22:21Z | 2021-12-13T23:22:21Z | 8b411a6b70e93e044820d613a28607ba5d6fe416 | 0 | 68383f5c8e42a96537ae13ea6ede5cf6f0ed4d83 | 737115ea14cd51ffb55dea886e6a684c148db2c9 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1548 | ||||
738848851 | PR_kwDOBm6k_c4sCfBT | 1476 | closed | 0 | Update pytest-xdist requirement from <2.4,>=2.2.1 to >=2.2.1,<2.5 | dependabot[bot] 49699333 | Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 2.4.0 (2021-09-20)</h1> <h2>Features</h2> <ul> <li> <p><code>[#696](https://github.com/pytest-dev/pytest-xdist/issues/696) <https://github.com/pytest-dev/pytest-xdist/issues/696></code>_: On Linux, the process title now changes to indicate the current worker state (running/idle).</p> <p>Depends on the <code>setproctitle <https://pypi.org/project/setproctitle/></code>__ package, which can be installed with <code>pip install pytest-xdist[setproctitle]</code>.</p> </li> <li> <p><code>[#704](https://github.com/pytest-dev/pytest-xdist/issues/704) <https://github.com/pytest-dev/pytest-xdist/issues/704></code>_: Add support for Python 3.10.</p> </li> </ul> <h1>pytest-xdist 2.3.0 (2021-06-16)</h1> <h2>Deprecations and Removals</h2> <ul> <li><code>[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654></code>_: Python 3.5 is no longer supported.</li> </ul> <h2>Features</h2> <ul> <li> <p><code>[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646></code>_: Add <code>--numprocesses=logical</code> flag, which automatically uses the number of logical CPUs available, instead of physical CPUs with <code>auto</code>.</p> <p>This is very useful for test suites which are not CPU-bound.</p> </li> <li> <p><code>[#650](https://github.com/pytest-dev/pytest-xdist/issues/650) <https://github.com/pytest-dev/pytest-xdist/issues/650></code>_: Added new <code>pytest_handlecrashitem</code> hook to allow handling and rescheduling crashed items.</p> </li> </ul> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#421](https://github.com/pytest-dev/pytest-xdist/issues/421) <http… | 2021-09-21T13:13:01Z | 2021-10-13T21:10:03Z | 2021-10-13T21:10:03Z | 2021-10-13T21:10:03Z | 6aab0217f07bff4556cc92885a14279d5b295f84 | 0 | 2eb01ff0b76bb9fb8fcf6602606eca83dada2fb2 | b28b6cd2fe97f7e193a235877abeec2c8eb0a821 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1476 | ||||
672620180 | MDExOlB1bGxSZXF1ZXN0NjcyNjIwMTgw | 1378 | closed | 0 | Update pytest-xdist requirement from <2.3,>=2.2.1 to >=2.2.1,<2.4 | dependabot[bot] 49699333 | Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 2.3.0 (2021-06-16)</h1> <h2>Deprecations and Removals</h2> <ul> <li><code>[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654></code>_: Python 3.5 is no longer supported.</li> </ul> <h2>Features</h2> <ul> <li> <p><code>[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646></code>_: Add <code>--numprocesses=logical</code> flag, which automatically uses the number of logical CPUs available, instead of physical CPUs with <code>auto</code>.</p> <p>This is very useful for test suites which are not CPU-bound.</p> </li> <li> <p><code>[#650](https://github.com/pytest-dev/pytest-xdist/issues/650) <https://github.com/pytest-dev/pytest-xdist/issues/650></code>_: Added new <code>pytest_handlecrashitem</code> hook to allow handling and rescheduling crashed items.</p> </li> </ul> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#421](https://github.com/pytest-dev/pytest-xdist/issues/421) <https://github.com/pytest-dev/pytest-xdist/issues/421></code>_: Copy the parent process sys.path into local workers, to work around execnet's python -c adding the current directory to sys.path.</p> </li> <li> <p><code>[#638](https://github.com/pytest-dev/pytest-xdist/issues/638) <https://github.com/pytest-dev/pytest-xdist/issues/638></code>_: Fix issue caused by changing the branch name of the pytest repository.</p> </li> </ul> <h2>Trivial Changes</h2> <ul> <li> <p><code>[#592](https://github.com/pytest-dev/pytest-xdist/issues/592) <https://github.com/pytest-dev/pytest-xdist/issues/592></code>_: Replace master with controller where ever possible.</p> </li> <li> <p><code>[#6… | 2021-06-17T13:11:56Z | 2021-06-20T00:17:07Z | 2021-06-20T00:17:06Z | 2021-06-20T00:17:06Z | 5335f360f4d57d70cab3694b08f15729c4ca2fe2 | 0 | 0c132d13de2d57004a36ece36217b337478ce4f4 | 83e9c8bc7585dcc62f200e37c2daefcd669ee05e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1378 | ||||
826493849 | PR_kwDOBm6k_c4xQ0uZ | 1602 | closed | 0 | Update pytest-timeout requirement from <2.1,>=1.4.2 to >=1.4.2,<2.2 | dependabot[bot] 49699333 | Updates the requirements on [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/8e4800ecbcf149790bb8035ec37dc30f3d48a127"><code>8e4800e</code></a> Fixup readme</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/dc1efca167ef1d466ab805595528e6c64996cdeb"><code>dc1efca</code></a> 2.1.0 release</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/dd9d6080763c559de1ff5b15deb9c27559dd3431"><code>dd9d608</code></a> Add custom hooks specifications for overriding setup_timeout and teardown_tim...</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/ed8ecd6cbb8b8acccd57f6782dab94dcde0f83ea"><code>ed8ecd6</code></a> module names, they're difficult</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/3ab4319c5170bc9b9d8052019103c93c2ed74c86"><code>3ab4319</code></a> Add changelog</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/4f7ebae5789902b3097dbe618b109b8cafa3fd64"><code>4f7ebae</code></a> Replace deprecated py.io.get_terminal_width() with shutil.get_terminal_size()...</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/b8a2fa6e56330ca6510c50b59ba8ee75ec962822"><code>b8a2fa6</code></a> Prep release</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/951972da1c11ea5ca8ac76691f7c78e5deb1faaf"><code>951972d</code></a> Update changelog</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/748a9c37466b7381626a5f4152ec5dc9d2cc3907"><code>748a9c3</code></a> Making detection of whether a debugger is currently attached more flexible. (...</li> <li><a href="https://github.com/pytest-dev/pytest-timeout/commit/f8a46a194c89f1459fd97d5a8fa618e8326a2bfa"><code>f8a46a1</code></a> Github removed the git protocol (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-timeout/issues/112">#112</a>)</li> <li>Additional commits viewable in <a hr… | 2022-01-19T13:11:50Z | 2022-03-06T01:41:50Z | 2022-03-06T01:41:49Z | 2022-03-06T01:41:49Z | 7b78279b93b6e7a5fce6b53e5a85ca421a801496 | 0 | a9c69dce50a4a6b57315e5c7fe73538dc09dbe9a | 73f2d25f70d741c6b53f7312674c91f0aec83e17 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1602 | ||||
755269892 | PR_kwDOBm6k_c4tBIEE | 1485 | closed | 0 | Update pytest-timeout requirement from <1.5,>=1.4.2 to >=1.4.2,<2.1 | dependabot[bot] 49699333 | Updates the requirements on [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) to permit the latest version. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/pytest-dev/pytest-timeout/commits">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 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) </details> | 2021-10-11T13:10:51Z | 2021-10-13T21:09:23Z | 2021-10-13T21:09:23Z | 2021-10-13T21:09:23Z | 759fd97a54638c1a5e2cac65bac0ac7c07ce2305 | 0 | be9aed9f29182a075429ee518002f9c480b5d4e1 | 0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1485 | ||||
412951191 | MDExOlB1bGxSZXF1ZXN0NDEyOTUxMTkx | 753 | closed | 0 | Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.13 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b8e2a45e152a196cef7fdb6ddcf3e2d67a0f01ca"><code>b8e2a45</code></a> 0.12.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/06580c6413e905c5fddcc57c2895e9d3d2913847"><code>06580c6</code></a> Update changelog</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b45de23c0de0acc843c3f871985ba16fdfb1d5fd"><code>b45de23</code></a> Fixed failing test case, 'test_asyncio_marker_without_loop'.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/238ccedde8a196c16007a8a2b1ea1eeeb8db86a3"><code>238cced</code></a> Put event_loop first among the fixtures of asyncio tests, fixes <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/154">#154</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e5e3dc7a90685a56747a2d4c3c770d74d573c497"><code>e5e3dc7</code></a> Added unittests for issue <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/154">#154</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/a7e5795335b823b4d58bb6b38b6e653f0e0d35b0"><code>a7e5795</code></a> 0.12.0 open for business!</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1026c39495a963ff3e5fee7da2ae9f3a5d21fb83"><code>1026c39</code></a> 0.11.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab2b14048a691479fa9f8811aaa558018c6db6e3"><code>ab2b140</code></a> Test on Python 3.8, drop 3.3 and 3.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6397a2255e3e9ef858439b164018438a8106f454"><code>6397a22</code></a> plugin: Use pytest 5.4.0 new Function API</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/21a0f9476be84ca0c84af60057f0f24c5fb2fd71"><code>21a0f94</code></a> Replace yield_fixture() by fixture()</li>… | 2020-05-04T13:27:19Z | 2020-05-04T17:41:01Z | 2020-05-04T17:40:49Z | 2020-05-04T17:40:49Z | b314e088c59425122fb2b2abde8741010d9d274a | 0 | 877fb569d2ae460ce845c7c855b02e0cdac23b68 | 707fe039947b3e48f2b6dcfe8e577d76b617f2a5 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/753 | ||||
406677205 | MDExOlB1bGxSZXF1ZXN0NDA2Njc3MjA1 | 730 | closed | 0 | Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.12 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1026c39495a963ff3e5fee7da2ae9f3a5d21fb83"><code>1026c39</code></a> 0.11.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab2b14048a691479fa9f8811aaa558018c6db6e3"><code>ab2b140</code></a> Test on Python 3.8, drop 3.3 and 3.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6397a2255e3e9ef858439b164018438a8106f454"><code>6397a22</code></a> plugin: Use pytest 5.4.0 new Function API</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/21a0f9476be84ca0c84af60057f0f24c5fb2fd71"><code>21a0f94</code></a> Replace yield_fixture() by fixture()</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/964b295ba280a6e217159706279b67f8f4cbb5f4"><code>964b295</code></a> Added min hypothesis version so that bugfix for <a href="https://github.com/Hypothesis">https://github.com/Hypothesis</a>...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4a11a206fbcf88ee18cbed2d01041e61c20a9a48"><code>4a11a20</code></a> Add max supported pytest version to < 5.4.0 to prevent fails until <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/141">#141</a> is fi...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b3055940db49cc17e36b66631e3d863e15fe34e4"><code>b305594</code></a> Change event_loop to module scope in hypothesis tests, fixing <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/145">#145</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d5a0f4789e7fecb58d509409e2c537b206c4fde2"><code>d5a0f47</code></a> Enable test_subprocess to be run on win, by changing to ProactorEventLoop in ...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d07cd2d447cf313446c4e00e25a35cb2adcb2c63"><code>d07cd2d</code><… | 2020-04-21T13:32:35Z | 2020-05-04T13:27:24Z | 2020-05-04T13:27:23Z | 460708c7107a7cf15971a9aa1040635f6bc1be6d | 0 | 11c67f82cdccc6e34cbff717e673451ac6172ef4 | 15e232180427e988174fdf88440c84b91d2d98d1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/730 | |||||
997743473 | PR_kwDOBm6k_c47eFtx | 1769 | closed | 0 | Update pytest-asyncio requirement from <0.19,>=0.17 to >=0.17,<0.20 | dependabot[bot] 49699333 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.19.0</h2> <hr /> <h2>title: 'pytest-asyncio: pytest support for asyncio'</h2> <p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p> <p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p> <p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p> <p>pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.</p> <p>asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.</p> <pre lang="{.sourceCode" data-meta=".python}"><code>@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res </code></pre> <p>pytest-asyncio has been strongly influenced by <a href="https://github.com/eugeniy/pytest-tornado">pytest-tornado</a>.</p> <h1>Features</h1> <ul> <li>fixtures for creating and injecting versions of the asyncio event loop</li> <li>fixtures for injecting unused tcp/udp ports</li> <li>pytest markers for treatin… | 2022-07-15T13:10:15Z | 2022-07-18T01:06:38Z | 2022-07-18T01:06:38Z | 2022-07-18T01:06:38Z | 22354c48ce4d514d7a1b321e5651c7f1340e3f5e | 0 | bb3c6105164165432e2e72cc17d3ad71a1ba5b9b | 950cc7677f65aa2543067b3bbfc2b6acb98b62c8 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1769 | ||||
841715204 | PR_kwDOBm6k_c4yK44E | 1631 | closed | 0 | Update pytest-asyncio requirement from <0.17,>=0.10 to >=0.10,<0.19 | dependabot[bot] 49699333 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.18.0</h2> <hr /> <h2>title: 'pytest-asyncio: pytest support for asyncio'</h2> <p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p> <p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p> <p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p> <p>pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.</p> <p>asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.</p> <pre lang="{.sourceCode" data-meta=".python}"><code>@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res </code></pre> <p>pytest-asyncio has been strongly influenced by <a href="https://github.com/eugeniy/pytest-tornado">pytest-tornado</a>.</p> <h1>Features</h1> <ul> <li>fixtures for creating and injecting versions of the asyncio event loop</li> <li>fixtures for injecting unused tcp/udp ports</li> <li>pytest markers for treatin… | 2022-02-07T13:13:19Z | 2022-03-06T01:29:54Z | 2022-03-06T01:29:53Z | 2022-03-06T01:29:53Z | a22ec96c3ac555337eb49121450723a273fb52d1 | 0 | 62eed844d3514957e7578e6981c5cb49227e97f8 | 03305ea183b1534bc4cef3a721fe5f3700273b84 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1631 | ||||
820898460 | PR_kwDOBm6k_c4w7eqc | 1593 | closed | 0 | Update pytest-asyncio requirement from <0.17,>=0.10 to >=0.10,<0.18 | dependabot[bot] 49699333 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.17.0</h2> <hr /> <h2>title: 'pytest-asyncio: pytest support for asyncio'</h2> <p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p> <p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p> <p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p> <p>pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.</p> <p>asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.</p> <pre lang="{.sourceCode" data-meta=".python}"><code>@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res </code></pre> <p>pytest-asyncio has been strongly influenced by <a href="https://github.com/eugeniy/pytest-tornado">pytest-tornado</a>.</p> <h1>Features</h1> <ul> <li>fixtures for creating and injecting versions of the asyncio event loop</li> <li>fixtures for injecting unused tcp/udp ports</li> <li>pytest markers for treatin… | 2022-01-13T13:11:50Z | 2022-02-07T13:13:24Z | 2022-02-07T13:13:23Z | 750b3fa430a30ce5e44f146ffaa390937090db80 | 0 | df73ebb0c9a6e1d77ec08399608eb1422d43a779 | 8c401ee0f054de2f568c3a8302c9223555146407 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1593 | |||||
760452915 | PR_kwDOBm6k_c4tU5cz | 1494 | closed | 0 | Update pytest-asyncio requirement from <0.16,>=0.10 to >=0.10,<0.17 | dependabot[bot] 49699333 | 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/f2fe98e5cbc4a25e31c24f5932d66f9c903f0fe5"><code>f2fe98e</code></a> 0.16.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4e1df3191aee1a902c873901b35d82363e13b08c"><code>4e1df31</code></a> Remove obsolete test, add make test</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6ec76477061ea14394cadbf2cef673b04971ef4d"><code>6ec7647</code></a> feat: Add support for Python 3.10.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/42ff5d176b2be5aa77a43f586179d563ae2196b5"><code>42ff5d1</code></a> ci: Include Python 3.10 in the CI test run.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/be3b32777b32774c288b604f0d95eacb32a4d1a2"><code>be3b327</code></a> build: Include Python 3.10 in Tox test runs.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1c283bd821249ee3c695ae59bb022d31a1473ae2"><code>1c283bd</code></a> refactor: test_async_fixtures_with_finalizer no longer trigger a DeprecationW...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/2751982f3a84d55aad103ea039cc779537e90720"><code>2751982</code></a> refactor: Replaced tests asserting that the event loop is properly closed.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/70989fd7b626a86db4f75acc40057f982f2c76dd"><code>70989fd</code></a> refactor: Grouped test cases together that are related to the use of the asyn...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b27abe8d138998a75cc4eb519be810439d3ed0d9"><code>b27abe8</code></a> refactor: Removed TestUnexistingLoop.remove_loop fixture, because it has no e...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e3ec312c1d55b3688e4ce115df7791a0478582d1"><code>e3ec312</code></a> Adjusted Hypothesis integration tes… | 2021-10-18T13:14:17Z | 2021-10-24T22:22:40Z | 2021-10-24T22:22:39Z | 2021-10-24T22:22:39Z | 03cc697b6b3d0983618c29ee75b45b5e0ac91139 | 0 | 7a3e3c355695d95b002a2ec6a68b0c27c7089ed6 | ff9ccfb0310501a3b4b4ca24d73246a8eb3e7914 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1494 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [pull_requests] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [state] TEXT, [locked] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [body] TEXT, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [merged_at] TEXT, [merge_commit_sha] TEXT, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [draft] INTEGER, [head] TEXT, [base] TEXT, [author_association] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [url] TEXT, [merged_by] INTEGER REFERENCES [users]([id]) , [auto_merge] TEXT); CREATE INDEX [idx_pull_requests_merged_by] ON [pull_requests] ([merged_by]); CREATE INDEX [idx_pull_requests_repo] ON [pull_requests] ([repo]); CREATE INDEX [idx_pull_requests_milestone] ON [pull_requests] ([milestone]); CREATE INDEX [idx_pull_requests_assignee] ON [pull_requests] ([assignee]); CREATE INDEX [idx_pull_requests_user] ON [pull_requests] ([user]);