github
id | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha | assignee | milestone | draft | head | base | author_association | repo | url | merged_by | auto_merge |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
560725714 | MDExOlB1bGxSZXF1ZXN0NTYwNzI1NzE0 | 1203 | closed | 0 | Easier way to run Prettier locally | 9599 | Refs #1167 | 2021-01-25T01:39:06Z | 2021-01-25T01:41:46Z | 2021-01-25T01:41:46Z | 2021-01-25T01:41:46Z | ffff3a4c5398a9f40b61d59736f386444da19289 | 0 | 98acc8865aa7826a40a7a076ab548ba8597af734 | b6a7b58fa01af0cd5a5e94bd17d686d283a46819 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1203 | ||||
294992578 | MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4 | 542 | closed | 0 | extra_template_vars plugin hook | 9599 | Refs #541 | 2019-07-05T22:19:17Z | 2019-07-06T00:05:57Z | 2019-07-06T00:05:56Z | 2019-07-06T00:05:56Z | fcfcae21e67cc15090942b1d2a47b5f016279337 | 0 | e81c7abb40c8ecf8d9d23cbcdde045e0a3b4ab14 | a18e0964ecd04593f227616538a80dee08768057 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/542 | ||||
195413241 | MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx | 315 | closed | 0 | Streaming mode for downloading all rows as a CSV | 9599 | Refs #266 | 2018-06-18T03:06:59Z | 2018-06-18T03:29:13Z | 2018-06-18T03:21:02Z | 2018-06-18T03:21:02Z | fc3660cfad7668dbce6ead12766e048fc1f78b11 | 0 | b15f412e04ce9ff21983986e661fbe4396f97b43 | 0d7ba1ba676828dc7c8dda78ebe7921f7986fc18 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/315 | ||||
1102353255 | PR_kwDOBm6k_c5BtJNn | 1870 | open | 0 | don't use immutable=1, only mode=ro | 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 | 107914493 | https://github.com/simonw/datasette/pull/1870 | ||||||
782105066 | PR_kwDOBm6k_c4unfnq | 1512 | closed | 0 | New pattern for async view classes | 9599 | Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism. | 2021-11-16T21:55:44Z | 2021-11-17T01:39:54Z | 2021-11-17T01:39:44Z | fb57d4474cb1fdaef260e244b1b6f470f1992e40 | 1 | 8f757da0750fe7f27b4ed3839bc3ef3650832ad9 | 0156c6b5e52d541e93f0d68e9245f20ae83bc933 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1512 | |||||
1215742203 | PR_kwDOBm6k_c5IdsD7 | 2003 | open | 0 | Show referring tables and rows when the referring foreign key is compound | 536941 | sqlite foreign keys can be compound, but that is not as well supported by datasette as single column foreign keys. in particular, 1. in a table view, there is not a link from the row to the referenced row if the foreign key is compound 2. in a row view, there is no listing of tables and rows that refer to the focal row if those referencing foreign keys are compound. Both of these issues are discussed in #1099. This PR only fixes the second one, because it's not clear what the right UX is for the first issue. ![Screenshot 2023-01-24 at 19-47-40 nlrb bargaining_unit](https://user-images.githubusercontent.com/536941/214454749-d53deead-4151-4329-a5d4-8a7a454de7d3.png) Some things that might not be desirable about this approach. 1. it changes the external API, by changing `column` => `columns` and `other_column` => `other_columns` (see inline comment for more discussion. 2. There are various places where the plural foreign keys have to be checked for length and discarded or transformed to singular. | 2023-01-24T21:31:31Z | 2023-01-25T18:44:42Z | fb3abeceb2785a582d2c120c7c1bf7dc3cd1de05 | 0 | 1e5b42f9d6490926300953837cbaa571ef81d772 | e4ebef082de90db4e1b8527abc0d582b7ae0bc9d | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2003 | ||||||
154246816 | MDExOlB1bGxSZXF1ZXN0MTU0MjQ2ODE2 | 145 | closed | 0 | Fix pytest version conflict | 9599 | https://travis-ci.org/simonw/datasette/jobs/305929426 pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages), Requirement.parse('pytest==3.2.3')) | 2017-11-22T20:15:34Z | 2017-11-22T20:17:54Z | 2017-11-22T20:17:52Z | 2017-11-22T20:17:52Z | f96e55bce55d26c4d5b198edc536e1b8e9bbea43 | 0 | e319478c4a34fb5afbff2b2a8c3b9ef9f859bb10 | fa8eb0bf1b113ab17ede9cd107b7c3bd5cde39c3 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/145 | ||||
575187457 | MDExOlB1bGxSZXF1ZXN0NTc1MTg3NDU3 | 1229 | closed | 0 | ensure immutable databses when starting in configuration directory mode with | 295329 | fixes #1224 This PR ensures all databases found in a configuration directory that match the files in `inspect-data.json` will be set to `immutable` as outlined in https://docs.datasette.io/en/latest/settings.html#configuration-directory-mode specifically on building the `datasette` instance it checks: - if `immutables` is an empty tuple - as passed by the cli code - if `immutables` is the default function value `None` - when it's not explicitly set And correctly builds the immutable database list from the `inspect-data[file]` keys. Note for this to work the `inspect-data.json` file must contain `file` paths which are relative to the configuration directory otherwise the file paths won't match and the dbs won't be set to immutable. I couldn't find an easy way to test this due to the way `make_app_client` works, happy to take directions on adding a test for this. I've updated the relevant docs as well, i.e. use the `inspect` cli cmd from the config directory path to create the relevant file ``` cd $config_dir datasette inspect *.db --inspect-file=inspect-data.json ``` https://docs.datasette.io/en/latest/performance.html#using-datasette-inspect | 2021-02-17T20:18:26Z | 2022-04-22T13:16:36Z | 2021-03-29T00:17:32Z | 2021-03-29T00:17:31Z | f92d823766872a6fd7e76c5249a6b2de1ab0f447 | 0 | a095248ad18c9c5272dbd52f4c97ea8a36cf91f3 | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1229 | ||||
226315513 | MDExOlB1bGxSZXF1ZXN0MjI2MzE1NTEz | 368 | closed | 0 | Update installation instructions | 48517 | I was writing this as a response to your tweet, but decided I might just make it a pull request. I feel like it might be confusing to those unfamiliar with Python's `-m` flag and the built-in `venv` module to omit the space between the flag and its argument. By adding a space and prefixing the second occurrence of `venv` with a `./` it's maybe a bit clearer what the arguments are and what they do. By also using `python3 -m pip` it becomes even clearer that `-m` is a special flag that makes the python executable do neat things. | 2018-10-27T18:52:31Z | 2019-05-03T18:18:43Z | 2019-05-03T18:18:42Z | 2019-05-03T18:18:42Z | f853d5592ec7f901a50381de22a26a9ab098f885 | 0 | 8f8d6072820a13e2c698d9c326998b63810779c6 | 553314dcd699a84aa7cc806377150ca0d57a6024 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/368 | ||||
679035847 | MDExOlB1bGxSZXF1ZXN0Njc5MDM1ODQ3 | 1386 | closed | 0 | Update asgiref requirement from <3.4.0,>=3.2.10 to >=3.2.10,<3.5.0 | 49699333 | Updates the requirements on [asgiref](https://github.com/django/asgiref) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/django/asgiref/blob/main/CHANGELOG.txt">asgiref's changelog</a>.</em></p> <blockquote> <h2>3.4.0 (2021-06-27)</h2> <ul> <li> <p>Calling sync_to_async directly from inside itself (which causes a deadlock when in the default, thread-sensitive mode) now has deadlock detection.</p> </li> <li> <p>asyncio usage has been updated to use the new versions of get_event_loop, ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10. Python 3.6 installs continue to use the old versions; this is only for 3.7+</p> </li> <li> <p>sync_to_async and async_to_sync now have improved type hints that pass through the underlying function type correctly.</p> </li> <li> <p>All Websocket* types are now spelled WebSocket, to match our specs and the official spelling. The old names will work until release 3.5.0, but will raise deprecation warnings.</p> </li> <li> <p>The typing for WebSocketScope and HTTPScope's <code>extensions</code> key has been fixed.</p> </li> </ul> <h2>3.3.4 (2021-04-06)</h2> <ul> <li>The async_to_sync type error is now a warning due the high false negative rate when trying to detect coroutine-returning callables in Python.</li> </ul> <h2>3.3.3 (2021-04-06)</h2> <ul> <li>The sync conversion functions now correctly detect functools.partial and other wrappers around async functions on earlier Python releases.</li> </ul> <h2>3.3.2 (2021-04-05)</h2> <ul> <li> <p>SyncToAsync now takes an optional "executor" argument if you want to supply your own executor rather than using the built-in one.</p> </li> <li> <p>async_to_sync and sync_to_async now check their arguments are functions of the correct type.</p> </li> <li> <p>Raising CancelledError inside a SyncToAsync function no longer stops a future call from functioning.</p> </li> <li> <p>ThreadSensitive now provides context hooks/override options so it can be mad… | 2021-06-28T13:13:07Z | 2021-07-11T01:36:19Z | 2021-07-11T01:36:18Z | 2021-07-11T01:36:18Z | f83c84fd51d144036924ae77d99f12b0a69e7e6f | 0 | e974ed19b09500aecb62252fe7001234d4424ff9 | ea627baccf980d7d8ebc9e1ffff1fe34d556e56f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1386 | ||||
1216059840 | PR_kwDOBm6k_c5Ie5nA | 2004 | open | 0 | use single quotes for string literals, fixes #2001 | 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 | 107914493 | https://github.com/simonw/datasette/pull/2004 | ||||||
431478724 | MDExOlB1bGxSZXF1ZXN0NDMxNDc4NzI0 | 819 | closed | 0 | register_routes() plugin hook | 9599 | Refs #215 | 2020-06-09T01:20:44Z | 2020-06-09T03:12:08Z | 2020-06-09T03:12:07Z | 2020-06-09T03:12:07Z | f5e79adf26d0daa3831e3fba022f1b749a9efdee | 5512395 | 0 | 18127f074efc1b0148d1098da063e51ccea7797c | 647c5ff0f3e8140f40d7f41f0874ce4e1f4df65c | OWNER | 107914493 | https://github.com/simonw/datasette/pull/819 | |||
795869144 | PR_kwDOBm6k_c4vb__Y | 1543 | closed | 0 | Bump black from 21.11b1 to 21.12b0 | 49699333 | Bumps [black](https://github.com/psf/black) from 21.11b1 to 21.12b0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>21.12b0</h2> <h3><em>Black</em></h3> <ul> <li>Fix determination of f-string expression spans (<a href="https://github-redirect.dependabot.com/psf/black/issues/2654">#2654</a>)</li> <li>Fix bad formatting of error messages about EOF in multi-line statements (<a href="https://github-redirect.dependabot.com/psf/black/issues/2343">#2343</a>)</li> <li>Functions and classes in blocks now have more consistent surrounding spacing (<a href="https://github-redirect.dependabot.com/psf/black/issues/2472">#2472</a>)</li> </ul> <h4>Jupyter Notebook support</h4> <ul> <li>Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with <code>%%writefile</code>. (<a href="https://github-redirect.dependabot.com/psf/black/issues/2630">#2630</a>)</li> <li>Fix assignment to environment variables in Jupyter Notebooks (<a href="https://github-redirect.dependabot.com/psf/black/issues/2642">#2642</a>)</li> </ul> <h4>Python 3.10 support</h4> <ul> <li>Point users to using <code>--target-version py310</code> if we detect 3.10-only syntax (<a href="https://github-redirect.dependabot.com/psf/black/issues/2668">#2668</a>)</li> <li>Fix <code>match</code> statements with open sequence subjects, like <code>match a, b:</code> or <code>match a, *b:</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2639">#2639</a>) (<a href="https://github-redirect.dependabot.com/psf/black/issues/2659">#2659</a>)</li> <li>Fix <code>match</code>/<code>case</code> statements that contain <code>match</code>/<code>case</code> soft keywords multiple times, like <code>match re.match()</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2661">#2661</a>)</li> <li>Fix <code>case</code> statements with an inline … | 2021-12-06T13:11:16Z | 2021-12-13T23:22:29Z | 2021-12-13T23:22:29Z | 2021-12-13T23:22:29Z | f5538e7161cce92a4dfaa7c5b71fcb6755d96c05 | 0 | 353a85199595c687946460bfc6f059c17f68d3b8 | 7c02be2ee94cc64b120cc58b7a72cd387031f287 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1543 | ||||
330129358 | MDExOlB1bGxSZXF1ZXN0MzMwMTI5MzU4 | 603 | closed | 0 | always pop as_format off args dict | 6025893 | closes #563 | 2019-10-20T15:44:22Z | 2019-10-30T19:12:22Z | 2019-10-21T02:03:09Z | 2019-10-21T02:03:09Z | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | 0 | 39d044502590224e4f07c05e02fc8a4d312255c1 | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/603 | ||||
1427574243 | PR_kwDOBm6k_c5VFw3j | 2098 | closed | 0 | Bump blacken-docs from 1.14.0 to 1.15.0 | 49699333 | Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.14.0 to 1.15.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/adamchainz/blacken-docs/blob/main/CHANGELOG.rst">blacken-docs's changelog</a>.</em></p> <blockquote> <h2>1.15.0 (2023-07-09)</h2> <ul> <li>Drop Python 3.7 support.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/adamchainz/blacken-docs/commit/2e74dc4c30c336176e76e0426c66f09a4e79df9c"><code>2e74dc4</code></a> Version 1.15.0</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/8ddb2f1269b7652a9b668faa92c9d63d764696c0"><code>8ddb2f1</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/257">#257</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/64fbca6cad36db1822528ece7f97a8152d29e05f"><code>64fbca6</code></a> Drop Python 3.7 support (<a href="https://redirect.github.com/asottile/blacken-docs/issues/256">#256</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/f6a0817dbb7957f96ea6cc251edf3a50bf1c3c08"><code>f6a0817</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/255">#255</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/cbdcb50b125b4f2fdb470122b2ba5e3c15de241a"><code>cbdcb50</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/254">#254</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/37fc70ee00c7063777ed7343c1bd26fceb5422a6"><code>37fc70e</code></a> Upgrade requirements (<a href="https://redirect.github.com/asottile/blacken-docs/issues/253">#253</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/7bbe434415ce9f590cb057010590a648e7bea072"><code>7bbe434</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/250"… | 2023-07-10T13:49:12Z | 2023-08-07T16:20:22Z | 2023-08-07T16:20:20Z | f32cf40f16a5477b01069a5774909e06a6b3451d | 0 | 3d45262c1cd243a4d8848fa171c5d1a66514ac97 | 3a51ca901427ac93b0ed0638fd1f82fb647a299a | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2098 | |||||
964640654 | PR_kwDOBm6k_c45fz-O | 1757 | open | 0 | feat: add a wildcard for _json columns | 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 | 107914493 | https://github.com/simonw/datasette/pull/1757 | ||||||
181647717 | MDExOlB1bGxSZXF1ZXN0MTgxNjQ3NzE3 | 207 | closed | 0 | Link foreign keys which don't have labels | 45057 | This renders unlabeled FKs as simple links. I can't see why this would cause any major problems. ![image](https://user-images.githubusercontent.com/45057/38768722-ea15a000-3fef-11e8-8664-ffd7aa4894ea.png) Also includes bonus fixes for two minor issues: * In foreign key link hrefs the primary key was escaped using HTML escaping rather than URL escaping. This broke some non-integer PKs. * Print tracebacks to console when handling 500 errors. | 2018-04-14T13:27:14Z | 2018-04-14T15:00:00Z | 2018-04-14T15:00:00Z | 2018-04-14T15:00:00Z | f2b940d6026677f6859d46a4f16fa402745d261d | 0 | d9858672da8f74e5530deead140e2e633e1c2627 | ec6abc81e433c9bac1b9f085111785fc227e9e34 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/207 | ||||
651492888 | MDExOlB1bGxSZXF1ZXN0NjUxNDkyODg4 | 1339 | closed | 0 | ?_col=/?_nocol= to show/hide columns on the table page | 9599 | See #615. Still to do: - [x] Allow combination of `?_col=` and `?_nocol=` (`_nocol` wins) - [x] Deduplicate same column if passed in `?_col=` multiple times - [x] Validate that user did not try to remove a primary key - [x] Add tests - [x] Ensure this works correctly for SQL views - [x] Add documentation | 2021-05-24T17:15:20Z | 2021-05-27T04:17:44Z | 2021-05-27T04:17:43Z | 2021-05-27T04:17:43Z | f1c29fd6a184254aa68efadf096bcf21e848f921 | 0 | 387c8379b92e559180098f73017a1bf2e6370205 | 2bd9d54b2762c991e11950c22c88c0336158d49b | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1339 | ||||
293994443 | MDExOlB1bGxSZXF1ZXN0MjkzOTk0NDQz | 536 | closed | 0 | Switch to ~= dependencies, closes #532 | 9599 | 2019-07-03T04:12:16Z | 2019-07-03T04:32:55Z | 2019-07-03T04:32:55Z | 2019-07-03T04:32:55Z | f0d32da0a9af87bcb15e34e35424f0c0053be83a | 0 | 391d109dc3f9230dc4ee4afd20041e480e90e739 | 4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/536 | |||||
1079437524 | PR_kwDOBm6k_c5AVujU | 1835 | closed | 0 | use inspect data for hash and file size | 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 | 107914493 | https://github.com/simonw/datasette/pull/1835 | ||||
181654839 | MDExOlB1bGxSZXF1ZXN0MTgxNjU0ODM5 | 208 | closed | 0 | Return HTTP 405 on InvalidUsage rather than 500 | 45057 | This also stops it filling up the logs. This happens for HEAD requests at the moment - which perhaps should be handled better, but that's a different issue. | 2018-04-14T16:12:50Z | 2018-04-14T18:00:39Z | 2018-04-14T18:00:39Z | 2018-04-14T18:00:39Z | efbb4e83374a2c795e436c72fa79f70da72309b8 | 0 | 20e5fcf827046adf76968d0e58f47e0b7d9271c3 | 8d394586f55bc4b8ab70476968d08fb6ec8339e5 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/208 | ||||
655741428 | MDExOlB1bGxSZXF1ZXN0NjU1NzQxNDI4 | 1348 | open | 0 | DRAFT: add test and scan for docker images | 10801138 | **NOTE: I don't think this PR is ready, since the arm/v6 and arm/v7 images are failing pytest due to missing dependencies (gcc and friends). But it's pretty close.** Closes https://github.com/simonw/datasette/issues/1344 . Using a build-matrix for the platforms and [this test](https://github.com/simonw/datasette/issues/1344#issuecomment-849820019), we test all the platforms in parallel. I also threw in container scanning. ### Switch `pip install` to use either tags or commit shas Notably! This also [changes the Dockerfile](https://github.com/blairdrummond/datasette/blob/7fe5315d68e04fce64b5bebf4e2d7feec44f8546/Dockerfile#L20) so that it accepts tags or commit-shas. ``` # It's backwards compatible with tags, but also lets you use shas root@712071df17af:/# pip install git+git://github.com/simonw/datasette.git@0.56 Collecting git+git://github.com/simonw/datasette.git@0.56 Cloning git://github.com/simonw/datasette.git (to revision 0.56) to /tmp/pip-req-build-u6dhm945 Running command git clone -q git://github.com/simonw/datasette.git /tmp/pip-req-build-u6dhm945 Running command git checkout -q af5a7f1c09f6a902bb2a25e8edf39c7034d2e5de Collecting Jinja2<2.12.0,>=2.10.3 Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB) ``` This le… | 2021-05-28T03:02:12Z | 2021-05-28T03:06:16Z | eeea7cb835be0f0319cafccf50dffa6ad26826c5 | 0 | 56cba8fb837cd938c2f9d7423ee43d62a81c8f7c | 7b106e106000713bbee31b34d694b3dadbd4818c | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1348 | ||||||
1259276997 | PR_kwDOBm6k_c5LDwrF | 2031 | open | 0 | Expand foreign key references in row view as well | 82332573 | Unlike the table view, the single row view does not resolve foreign key references into labels. This patch extracts the foreign key reference expansion code from TableView.data() into a standalone function that is then called by both TableView.data() and RowView.data(). <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2031.org.readthedocs.build/en/2031/ <!-- readthedocs-preview datasette end --> | 2023-03-01T18:43:09Z | 2023-03-24T18:35:25Z | ee7aec6175d0934c0420002529d21a767d2a527d | 0 | ef25867492ce6eb69492aa37fcde98936a95365c | 3feed1f66e2b746f349ee56970a62246a18bb164 | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2031 | ||||||
330076263 | MDExOlB1bGxSZXF1ZXN0MzMwMDc2MjYz | 602 | closed | 0 | Offer to format readonly SQL | 2657547 | Following discussion in #601, this PR adds a "Format SQL" button to read-only SQL (if the SQL actually differs from the formatting result). It also removes a console error on readonly SQL queries. | 2019-10-20T02:29:32Z | 2019-11-04T07:29:33Z | 2019-11-04T02:39:56Z | 2019-11-04T02:39:56Z | ee330222f4c3ee66c2fe41ebc76fed56b9cb9a00 | 0 | 266c3dafb9bf3b12204b6152d7b48e94a131584a | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/602 | ||||
1392480869 | PR_kwDOBm6k_c5S_5Jl | 2083 | closed | 0 | Bump blacken-docs from 1.13.0 to 1.14.0 | 49699333 | Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.13.0 to 1.14.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/adamchainz/blacken-docs/blob/main/CHANGELOG.rst">blacken-docs's changelog</a>.</em></p> <blockquote> <h2>1.14.0 (2023-06-13)</h2> <ul> <li>Support Python 3.12.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/adamchainz/blacken-docs/commit/4b94add9bc83d772ae5e31a679a18609c1750513"><code>4b94add</code></a> Version 1.14.0</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/292cb18828c73dfa5273c88ce261b453fb9fdf43"><code>292cb18</code></a> Support Python 3.12 (<a href="https://redirect.github.com/asottile/blacken-docs/issues/251">#251</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/72ecf2c719027fd464f5561d4ab119f736e8a4ad"><code>72ecf2c</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/249">#249</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/ea8f1ca88f2f0a58371bb07dab9c647d56d5b3ed"><code>ea8f1ca</code></a> Upgrade requirements (<a href="https://redirect.github.com/asottile/blacken-docs/issues/248">#248</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/9979d7a78be5b7749ebb000f10f4515e5dc9a574"><code>9979d7a</code></a> Upgrade requirements (<a href="https://redirect.github.com/asottile/blacken-docs/issues/247">#247</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/7b71075ceb458be255e24da587c0275818b51faa"><code>7b71075</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/245">#245</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/6280868a8b944193e72436bb467749a21b790d7c"><code>6280868</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/244">#244</a>)</li> <li><a hr… | 2023-06-14T13:57:52Z | 2023-06-29T14:31:55Z | 2023-06-29T14:31:54Z | 2023-06-29T14:31:54Z | ede62036180993dbd9d4e5d280fc21c183cda1c3 | 0 | caee23e9ca8cbd4d189070188f90eabf97008b59 | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2083 | ||||
153306882 | MDExOlB1bGxSZXF1ZXN0MTUzMzA2ODgy | 115 | closed | 0 | Add keyboard shortcut to execute SQL query | 198537 | Very cool tool, thanks a lot! This PR adds a `Shift-Enter` short cut to execute the SQL query. I used CodeMirrors keyboard handling. | 2017-11-17T14:13:33Z | 2017-11-17T15:16:34Z | 2017-11-17T14:22:56Z | 2017-11-17T14:22:56Z | eda848b37f8452dba7913583ef101f39d9b130ba | 0 | bb514164e69400fc0be4e033c27f45f90b1ef651 | ed2b3f25beac720f14869350baacc5f62b065194 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/115 | ||||
572209243 | MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz | 1222 | closed | 0 | --ssl-keyfile and --ssl-certfile, refs #1221 | 9599 | 2021-02-12T00:45:58Z | 2021-02-12T00:52:18Z | 2021-02-12T00:52:17Z | 2021-02-12T00:52:17Z | eda652cf6ee28a0babfb30ce3834512e9e33fb8e | 0 | 8ec72ea3e3e0a9876d5e61e4a2260224f16db2e3 | aa1fe0692c2abb901216738bfb35f9fcc5090e7d | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1222 | |||||
235194286 | MDExOlB1bGxSZXF1ZXN0MjM1MTk0Mjg2 | 390 | closed | 0 | tiny typo in customization docs | 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 | 107914493 | https://github.com/simonw/datasette/pull/390 | ||||
152914480 | MDExOlB1bGxSZXF1ZXN0MTUyOTE0NDgw | 107 | closed | 0 | add support for ?field__isnull=1 | 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 | 107914493 | https://github.com/simonw/datasette/pull/107 | ||||
181642114 | MDExOlB1bGxSZXF1ZXN0MTgxNjQyMTE0 | 205 | closed | 0 | Support filtering with units and more | 45057 | The first commit: * Adds units to exported JSON * Adds units key to metadata skeleton * Adds some docs for units The second commit adds filtering by units by the first method I mentioned in #203: ![image](https://user-images.githubusercontent.com/45057/38767463-7193be16-3fd9-11e8-8a5f-ac4159415c6d.png) [Try it here](https://wtr-api.herokuapp.com/wtr-663ea99/license_frequency?frequency__gt=50GHz&height__lt=50ft). I think it integrates pretty neatly. The third commit adds support for registering custom units with Pint from metadata.json. Probably pretty niche, but I need decibels! | 2018-04-14T10:47:51Z | 2018-04-14T15:24:04Z | 2018-04-14T15:24:04Z | ed059c70e87a2930206652621e23a55167aa57c1 | 0 | eb3a37c34813ecbbfdae015305fec1f2a4ec27a5 | 6b15a53cd3cd40880a5e2d38827d5fac10e4bb5f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/205 | |||||
181600926 | MDExOlB1bGxSZXF1ZXN0MTgxNjAwOTI2 | 204 | closed | 0 | Initial units support | 45057 | Add support for specifying units for a column in metadata.json and rendering them on display using [pint](https://pint.readthedocs.io/en/latest/). Example table metadata: ```json "license_frequency": { "units": { "frequency": "Hz", "channel_width": "Hz", "height": "m", "antenna_height": "m", "azimuth": "degrees" } } ``` [Example result](https://wtr-api.herokuapp.com/wtr-663ea99/license_frequency/1) This works surprisingly well! I'd like to add support for using units when querying but this is PR is pretty usable as-is. (Pint doesn't seem to support decibels though - it thinks they're decibytes - which is an annoying omission.) (ref ticket #203) | 2018-04-13T21:32:49Z | 2018-04-14T09:44:33Z | 2018-04-14T03:32:54Z | 2018-04-14T03:32:54Z | ec6abc81e433c9bac1b9f085111785fc227e9e34 | 0 | 67c20a98a0cbb59a10247a49320c2feb7d0b1b41 | fb988ace7c7e2bee5ac142a0eab22431d0675a77 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/204 | ||||
1289104584 | PR_kwDOBm6k_c5M1izI | 2043 | closed | 0 | Bump furo from 2022.12.7 to 2023.3.23 | 49699333 | Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2023.03.23 -- Sassy Saffron</h2> <ul> <li>Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.</li> <li>Update Python version classifiers.</li> <li>Increase the icon size in mobile header.</li> <li>Increase admonition title bg opacity.</li> <li>Change the default API background to transparent.</li> <li>Transition the API background change.</li> <li>Remove the "indent" of API entries which have a background.</li> <li>Break long inline code literals.</li> </ul> <h2>2022.12.07 -- Reverent Raspberry</h2> <ul> <li>✨ Add support for Sphinx 6.</li> <li>✨ Improve footnote presentation with docutils 0.18+.</li> <li>Drop support for Sphinx 4.</li> <li>Improve documentation about what the edit button does.</li> <li>Improve handling of empty-flexboxes for better print experience on Chrome.</li> <li>Improve styling for inline signatures.</li> <li>Replace the <code>meta</code> generator tag with a comment.</li> <li>Tweak labels with icons to prevent users selecting icons as text on touch.</li> </ul> <h2>2022.09.29 -- Quaint Quartz</h2> <ul> <li>Add ability to set arbitrary URLs for edit button.</li> <li>Add support for aligning text in MyST-parser generated tables.</li> </ul> <h2>2022.09.15 -- Pragmatic Pistachio</h2> <ul> <li>Add a minimum version constraint on pygments.</li> <li>Add an explicit dependency on <code>sass</code>.</li> <li>Change right sidebar title from "Contents" to "On this page".</li> <li>Correctly position sidebars on small screens.</li> <li>Correctly select only Furo's own <code>svg</code> in related pages <code>nav</code>.</li> <li>Make numpy-style documentation headers consistent.</li> <li>Retitle the reference section.</li> <li>Update npm dependencies.</l… | 2023-03-24T13:58:08Z | 2023-03-28T13:58:24Z | 2023-03-28T13:58:21Z | eb0601c965ebb12162c76259d89fb9fe6549bcc0 | 0 | 85b9e5139980b0e802b6f0bcfaa2f7c975c30970 | 3feed1f66e2b746f349ee56970a62246a18bb164 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2043 | |||||
1372714762 | PR_kwDOBm6k_c5R0fcK | 2082 | open | 0 | Catch query interrupted on facet suggest row count | 10843208 | Just like facet's `suggest()` is trapping `QueryInterrupted` for facet columns, we also need to trap `get_row_count()`, which can reach timeout if database tables are big enough. I've included `get_columns()` inside the block as that's just another query, despite it's a really cheap one and might never raise the exception. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2082.org.readthedocs.build/en/2082/ <!-- readthedocs-preview datasette end --> | 2023-05-31T18:42:46Z | 2023-05-31T18:45:26Z | eadc26004d50f38f28b032056821ba319c9f2e87 | 0 | dfe99af36c11b88ffcb5ca602d72cee1b8acd8bc | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2082 | ||||||
443823040 | MDExOlB1bGxSZXF1ZXN0NDQzODIzMDQw | 890 | closed | 0 | Load only python files from plugins-dir. | 49260 | The current behavior for `--plugins-dir` is to load every file in that folder as a python module. This can result in errors if there are non-python files in the plugins dir (such as .mypy_cache). This PR restricts the module loading to only python files. | 2020-07-03T02:47:32Z | 2020-07-03T03:08:33Z | 2020-07-03T03:08:33Z | 2020-07-03T03:08:33Z | ea99a4431ce5bc2d65a3496da5b38e1986550a96 | 0 | 745af3b72d95d91f3ccd703f4fab819bc9f4b6a4 | 57879dc8b346a435804a9e45ffaacbf2a0228bc6 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/890 | ||||
275558612 | MDExOlB1bGxSZXF1ZXN0Mjc1NTU4NjEy | 445 | closed | 0 | Extract facet code out into a new plugin hook, closes #427 | 9599 | Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI. | 2019-05-03T00:02:41Z | 2019-05-03T18:17:18Z | 2019-05-03T00:11:27Z | 2019-05-03T00:11:27Z | ea66c45df96479ef66a89caa71fff1a97a862646 | 0 | 1b47d4d8736627c260eb4e8303e552b0e9620a01 | efc93b8ab5a21e3802f75f08d5e41409f5684b5d | OWNER | 107914493 | https://github.com/simonw/datasette/pull/445 | ||||
975096803 | PR_kwDOBm6k_c46Hsvj | 1760 | closed | 0 | Bump furo from 2022.4.7 to 2022.6.21 | 49699333 | Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.21. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2022.06.21 -- Opulent Opal</h2> <ul> <li>Fix <code>docutils <= 0.17.x</code> compatibility</li> <li>Bump to the latest Node.js LTS</li> </ul> <h2>2022.06.04.1 -- Naughty Nickel bugfix</h2> <ul> <li>Fix the URL used in the "Edit this page" for Read the Docs builds.</li> </ul> <h2>2022.06.04 -- Naughty Nickel</h2> <ul> <li>✨ Advertise Sphinx 5 compatibility.</li> <li>✨ Change to <code>basic-ng</code> as the base theme (from {pypi}<code>sphinx-basic-ng</code>).</li> <li>Document site-wide announcement banners.</li> <li>Drop the pin on pygments.</li> <li>Improve edit button, using <code>basic-ng</code>'s <code>edit-this-page</code> component.</li> <li>Tweak headings to better match what users expect.</li> <li>Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).</li> <li>When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.</li> </ul> <h2>2022.04.07 -- Magical Mauve</h2> <ul> <li>✨ Make sphinx-copybutton look better.</li> <li>Add margin to indentations in line blocks.</li> <li>Add styling for non-arabic list styles</li> <li>Add support for <code>html_baseurl</code>.</li> <li>Improve "Edit this page" icon to be more accessible.</li> <li>Improve <code>html_sidebars</code> example.</li> <li>Tweak positioning of back to top on desktop.</li> </ul> <h2>2022.03.04 -- Lucent Lilac</h2> <ul> <li>Improve support for print media.</li> <li>Reduce heading sizes for h3 and below.</li> <li>Don't allow selecting headerlink content.</li> <li>Improve how overflow wrapping is handled.</li> <li>Add a reference from the configuration variables to the color customisation page.</li> </ul> <h2>2022.02… | 2022-06-22T13:22:31Z | 2022-07-18T01:06:27Z | 2022-07-18T01:06:27Z | 2022-07-18T01:06:27Z | ea6161f8475d9fa41c4879049511c58f692cce04 | 0 | 69951eedb7ca7f1284ba29f3890bef917d59a655 | 00e59ec461dc0150772b999c7cc15fcb9b507d58 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1760 | ||||
518988879 | MDExOlB1bGxSZXF1ZXN0NTE4OTg4ODc5 | 1085 | closed | 0 | Use FTS4 in fixtures | 9599 | Refs #1081 | 2020-11-11T06:44:30Z | 2020-11-12T00:02:59Z | 2020-11-12T00:02:58Z | 2020-11-12T00:02:58Z | e8e0a6f284ca953b2980186c4356594c07bd1929 | 0 | 51e7651c66aaf1804274ce68a6b5218bbba76338 | 2a981e2ac1d13125973904b777d00ea75e8df4e6 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1085 | ||||
329947180 | MDExOlB1bGxSZXF1ZXN0MzI5OTQ3MTgw | 601 | closed | 0 | Don't auto-format SQL on page load | 9599 | Refs #600 | 2019-10-18T22:37:39Z | 2019-10-20T02:29:49Z | 2019-10-18T23:56:45Z | 2019-10-18T23:56:45Z | e877b1cb12076946fdbec7ca2fbfbfc75c1c2a28 | 0 | 3a963734590caa3ad69bfe64c31690f3e4de61a4 | b6ad1fdc7068cb8248787843e7438d1f19fa2e3a | OWNER | 107914493 | https://github.com/simonw/datasette/pull/601 | ||||
1504918180 | PR_kwDOBm6k_c5Zszqk | 2175 | closed | 0 | Test against Python 3.12 preview | 9599 | https://dev.to/hugovk/help-test-python-312-beta-1508/ <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2175.org.readthedocs.build/en/2175/ <!-- readthedocs-preview datasette end --> | 2023-09-06T16:09:05Z | 2023-09-06T16:16:28Z | 2023-09-06T16:16:27Z | 2023-09-06T16:16:27Z | e86eaaa4f371512689e973c18879298dab51f80a | 0 | 21e77c3ff9e4aacaa9442a7b3b36aafd87025115 | 05707aa16b5c6c39fbe48b3176b85a8ffe493938 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/2175 | ||||
630578735 | MDExOlB1bGxSZXF1ZXN0NjMwNTc4NzM1 | 1318 | closed | 0 | Bump black from 21.4b2 to 21.5b0 | 49699333 | Bumps [black](https://github.com/psf/black) from 21.4b2 to 21.5b0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>21.5b0</h2> <h4><em>Black</em></h4> <ul> <li>Set <code>--pyi</code> mode if <code>--stdin-filename</code> ends in <code>.pyi</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2169">#2169</a>)</li> <li>Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (<a href="https://github-redirect.dependabot.com/psf/black/issues/2182">#2182</a>)</li> </ul> <h4><em>Black-Primer</em></h4> <ul> <li>Add <code>--no-diff</code> to black-primer to suppress formatting changes (<a href="https://github-redirect.dependabot.com/psf/black/issues/2187">#2187</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/master/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h3>21.5b0</h3> <h4><em>Black</em></h4> <ul> <li>Set <code>--pyi</code> mode if <code>--stdin-filename</code> ends in <code>.pyi</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2169">#2169</a>)</li> <li>Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (<a href="https://github-redirect.dependabot.com/psf/black/issues/2182">#2182</a>)</li> </ul> <h4><em>Black-Primer</em></h4> <ul> <li>Add <code>--no-diff</code> to black-primer to suppress formatting changes (<a href="https://github-redirect.dependabot.com/psf/black/issues/2187">#2187</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/psf/black/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-versi… | 2021-05-05T13:07:51Z | 2021-05-11T13:12:32Z | 2021-05-11T13:12:31Z | e864f5420abb7a5d135f8fe470183786b577ce9a | 0 | e06c09911be52202940808d7a08df2e9b71b3af2 | 1b697539f5b53cec3fe13c0f4ada13ba655c88c7 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1318 | |||||
711783616 | MDExOlB1bGxSZXF1ZXN0NzExNzgzNjE2 | 1430 | closed | 0 | Column metadata | 9599 | Refs #942 Still needs: - [x] Tests - [x] Documentation | 2021-08-12T23:34:39Z | 2021-08-12T23:53:23Z | 2021-08-12T23:53:23Z | 2021-08-12T23:53:23Z | e837095ef35ae155b4c78cc9a8b7133a48c94f03 | 0 | 941994725dd41deb6f839c5063cff5d15d4abb1c | b1fed48a95516ae84c0f020582303ab50ab817e2 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1430 | ||||
668129441 | MDExOlB1bGxSZXF1ZXN0NjY4MTI5NDQx | 1374 | closed | 0 | Bump black from 21.5b2 to 21.6b0 | 49699333 | Bumps [black](https://github.com/psf/black) from 21.5b2 to 21.6b0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>21.6b0</h2> <h2><em>Black</em></h2> <ul> <li>Fix failure caused by <code>fmt: skip</code> and indentation (<a href="https://github-redirect.dependabot.com/psf/black/issues/2281">#2281</a>)</li> <li>Account for += assignment when deciding whether to split string (<a href="https://github-redirect.dependabot.com/psf/black/issues/2312">#2312</a>)</li> <li>Correct max string length calculation when there are string operators (<a href="https://github-redirect.dependabot.com/psf/black/issues/2292">#2292</a>)</li> <li>Fixed option usage when using the <code>--code</code> flag (<a href="https://github-redirect.dependabot.com/psf/black/issues/2259">#2259</a>)</li> <li>Do not call <code>uvloop.install()</code> when <em>Black</em> is used as a library (<a href="https://github-redirect.dependabot.com/psf/black/issues/2303">#2303</a>)</li> <li>Added <code>--required-version</code> option to require a specific version to be running (<a href="https://github-redirect.dependabot.com/psf/black/issues/2300">#2300</a>)</li> <li>Fix incorrect custom breakpoint indices when string group contains fake f-strings (<a href="https://github-redirect.dependabot.com/psf/black/issues/2311">#2311</a>)</li> <li>Fix regression where <code>R</code> prefixes would be lowercased for docstrings (<a href="https://github-redirect.dependabot.com/psf/black/issues/2285">#2285</a>)</li> <li>Fix handling of named escapes (<code>\N{...}</code>) when <code>--experimental-string-processing</code> is used (<a href="https://github-redirect.dependabot.com/psf/black/issues/2319">#2319</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/main/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h2>21.6b0</h2> <h3><em>Black</em></h3> <ul> <li>Fix failu… | 2021-06-11T13:07:39Z | 2021-06-13T15:33:23Z | 2021-06-13T15:33:22Z | 2021-06-13T15:33:22Z | e7975657656ce02717f03703bb8ec17f2fe9b717 | 0 | 0ef0dd5874ed39527ab12098a6c3da7ff8115c54 | cd7678fde65319d7b6955ce9f4678ba4b9e64b66 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1374 | ||||
1319390463 | PR_kwDOBm6k_c5OpEz_ | 2061 | open | 0 | Add "Packaging a plugin using Poetry" section in docs | 1238873 | This PR adds a new section about packaging a plugin using `poetry` within the "Writing plugins" page of the documentation. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2061.org.readthedocs.build/en/2061/ <!-- readthedocs-preview datasette end --> | 2023-04-19T07:23:28Z | 2023-04-19T07:27:18Z | e777f394dc770714055e48c952e04c1620454e3e | 0 | 2650e3ca2c5ae4f21efe216f9959be31d9e58eed | 5890a20c374fb0812d88c9b0ef26a838bfa06c76 | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2061 | ||||||
655726387 | MDExOlB1bGxSZXF1ZXN0NjU1NzI2Mzg3 | 1347 | closed | 0 | Test docker platform blair only | 10801138 | 2021-05-28T02:47:09Z | 2021-05-28T02:47:28Z | 2021-05-28T02:47:28Z | e755dd8c8cf7149046a8b5fd44aec07c4b2416d3 | 0 | f730725fd260ba6578c472c344269d5d5df4e650 | 7b106e106000713bbee31b34d694b3dadbd4818c | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1347 | ||||||
811088967 | PR_kwDOBm6k_c4wWDxH | 1582 | closed | 0 | don't set far expiry if hash is '000' | 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 | 107914493 | https://github.com/simonw/datasette/pull/1582 | |||||
587332473 | MDExOlB1bGxSZXF1ZXN0NTg3MzMyNDcz | 1252 | closed | 0 | Add back styling to lists within table cells (fixes #1141) | 7476523 | This overrides the Datasette reset - see https://github.com/simonw/datasette/blob/d0fd833b8cdd97e1b91d0f97a69b494895d82bee/datasette/static/app.css#L35-L38 - to add back the default styling of list items displayed within Datasette table cells. Following this change, the same content as in the original issue looks like this: ![2021-03-09_02:57:32](https://user-images.githubusercontent.com/7476523/110411982-63e5ae80-8083-11eb-9b5c-e5dc825073e2.png) | 2021-03-09T03:00:57Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | e72397d65b06b019521b6411243687464ac8d8ca | 0 | d22aa32cd9c0f798bcab917cc2024a371b4c0069 | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1252 | ||||
347179081 | MDExOlB1bGxSZXF1ZXN0MzQ3MTc5MDgx | 644 | closed | 0 | Validate metadata json on startup | 6025893 | This PR adds a sanity check which builds up a marshmallow schema on-the-fly based on the structure of the database(s) on startup and then validates the metadata json against it. In case of invalid data, this will raise with a descriptive error e.g: ``` marshmallow.exceptions.ValidationError: {'databases': {'fixtures': {'tables': {'not_a_table': ['Unknown field.']}}}} ``` Closes #260 --- This was intended to be fairly self-contained, but then while I was working on it, I hit some problems getting the tests to pass in the context of the test suite as a whole. My tests passed in isolation, but then failed while doing a full test suite run. That's when the worms started coming out of the can :bug: After some sleuthing, it turned out this was essentially the result of several issues intersecting: * There are certain events in the application lifecycle where the metadata schema can be modified after it is loaded e.g: https://github.com/simonw/datasette/blob/a562f2965552fb2dbbbd74df245c9965ee23d886/datasette/app.py#L299-L320 This means that sometimes what goes in isn't always exactly what comes out when you call `/-/metadata`. * Because the test fixtures use session scope for performance reasons if one unit test performs an action which mutates the metadata, that can impact on other unit tests which run after it using the same fixture. * Because the `self._metadata` property was being set with a simple assignment `self._metadata = metadata`, that created an object reference to the test fixture data, so operating on `self._metadata` was actually modifying the test fixture `METADATA` meaning that depending on when it was loaded in the test suite lifecycle, `METADATA` had different content, which was somewhat unexpected. As such, I've added some band-aids in 3552024 and 6859fd8: * Switching the metadata object to a `deepcopy` of the input prevents us directly mutating the input fixture. * I've switched some of the tests to use a fixture with function scope instead of session scope so we're workin… | 2019-11-30T00:32:15Z | 2021-07-28T17:58:45Z | 2021-07-28T17:58:45Z | e71b642474d54f986bc8857346103d8a10d84e6d | 0 | 6859fd8c5eef26f397aa949dc4edf3747e8ab0a5 | a562f2965552fb2dbbbd74df245c9965ee23d886 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/644 | |||||
1325515181 | PR_kwDOBm6k_c5PAcGt | 2063 | closed | 0 | Bump sphinx from 6.1.3 to 6.2.0 | 49699333 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.2.0 (released Apr 23, 2023)</h1> <h2>Dependencies</h2> <ul> <li>Require Docutils 0.18.1 or greater.</li> </ul> <h2>Incompatible changes</h2> <ul> <li>LaTeX: removal of some internal TeX <code>\dimen</code> registers (not previously publicly documented) as per 5.1.0 code comments in <code>sphinx.sty</code>: <code>\sphinxverbatimsep</code>, <code>\sphinxverbatimborder</code>, <code>\sphinxshadowsep</code>, <code>\sphinxshadowsize</code>, and <code>\sphinxshadowrule</code>. (refs: <a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11105">#11105</a>)</li> <li>Remove <code>.egg</code> support from pycode <code>ModuleAnalyser</code>; Python eggs are a now-obsolete binary distribution format</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11089">#11089</a>: Remove deprecated code in <code>sphinx.builders.linkcheck</code>. Patch by Daniel Eades</li> <li>Remove internal-only <code>sphinx.locale.setlocale</code></li> </ul> <h2>Deprecated</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11247">#11247</a>: Deprecate the legacy <code>intersphinx_mapping</code> format</li> <li><code>sphinx.util.osutil.cd</code> is deprecated in favour of <code>contextlib.chdir</code>.</li> </ul> <h2>Features added</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11277">#11277</a>: :rst:dir:<code>autoproperty</code> allows the return type to be specified as a type comment … | 2023-04-24T13:58:21Z | 2023-04-25T13:57:55Z | 2023-04-25T13:57:53Z | e621c970bc64b2c90b801a9fc1e300b9452f6a5f | 0 | 9838c5839d591332dc9a8ffd6255918e0ac78f05 | 5890a20c374fb0812d88c9b0ef26a838bfa06c76 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2063 | |||||
511005542 | MDExOlB1bGxSZXF1ZXN0NTExMDA1NTQy | 1056 | closed | 0 | Radical new colour scheme and base styles, courtesy of @natbat | 9599 | 2020-10-27T19:31:48Z | 2020-10-27T19:39:57Z | 2020-10-27T19:39:56Z | 2020-10-27T19:39:56Z | e5f5034bcdc71e4bc62a6a155ca60eb41910c335 | 6026070 | 0 | a7b2aabd5148c0ee382b583de68a4f0538f7dfb1 | 26bb4a268127da2c38f4241abe45444b2a6f7874 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1056 | ||||
1453826540 | PR_kwDOBm6k_c5Wp6Hs | 2124 | closed | 0 | Bump sphinx from 6.1.3 to 7.1.1 | 49699333 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>Sphinx 7.1.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.1.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v7.0.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v7.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v7.0.0rc1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 7.1.1 (released Jul 27, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11514">#11514</a>: Fix <code>SOURCE_DATE_EPOCH</code> in multi-line copyright footer. Patch by Bénédikt Tran.</li> </ul> <h1>Release 7.1.0 (released Jul 24, 2023)</h1> <h2>Incompatible changes</h2> <ul> <li> <p>Releases are no longer signed, given the <code>change in PyPI policy</code>_.</p> <p>.. _change in PyPI policy: <a href="https://blog.pypi.org/posts/2023-05-23-removing-pgp/">https://blog.pypi.org/posts/2023-05-23… | 2023-07-28T13:23:11Z | 2023-08-02T13:28:47Z | 2023-08-02T13:28:44Z | e5b1bd91510894ff22786ab901a0ef710617a866 | 0 | 9388102394e7786368ea71b17cac12cf5b80b695 | 08181823990a71ffa5a1b57b37259198eaa43e06 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2124 | |||||
1143946542 | PR_kwDOBm6k_c5ELz0u | 1930 | closed | 0 | Typo in JSON API `Updating a row` documentation | 3556 | <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1930.org.readthedocs.build/en/1930/ <!-- readthedocs-preview datasette end --> | 2022-12-03T02:22:31Z | 2022-12-08T21:12:35Z | 2022-12-08T21:12:35Z | 2022-12-08T21:12:35Z | e539c1c024bc62d88df91d9107cbe37e7f0fe55f | 0 | 9928ff17b47443f6b51e570ae6116fd472756096 | cab5b60e09e94aca820dbec5308446a88c99ea3d | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1930 | ||||
410469272 | MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy | 746 | closed | 0 | shutil.Error, not OSError | 9599 | Refs #744 | 2020-04-29T03:30:51Z | 2020-04-29T07:07:24Z | 2020-04-29T07:07:23Z | e4e8b51b50e51b2515c6d8874d16c4607f79b80a | 0 | af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/746 | |||||
1497165426 | PR_kwDOBm6k_c5ZPO5y | 2166 | closed | 0 | Bump the python-packages group with 1 update | 49699333 | Bumps the python-packages group with 1 update: [sphinx](https://github.com/sphinx-doc/sphinx). <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>Sphinx 7.2.5</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 7.2.5 (released Aug 30, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11645">#11645</a>: Fix a regression preventing autodoc from importing modules within packages that make use of <code>if typing.TYPE_CHECKING:</code> to guard circular imports needed by type checkers. Patch by Matt Wozniski.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11634">#11634</a>: Fixed inheritance diagram relative link resolution for sibling files in a subdirectory. Patch by Albert Shih.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11659">#11659</a>: Allow <code>?config=...</code> in :confval:<code>mathjax_path</code>.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11654">#11654</a>: autodoc: Fail with a more descriptive error message when an object claims to be an instance of <code>type</code>, but is not a class. Patch by James Braza.</li> <li>11620: Cease emitting :event:<code>source-read</code> events for files read via the :dudir:<code>include</code> directive.</li> <li>11620: Add a new :event:<code>include-read</code> for observing and transforming the content of included files via the :dudir:<code>include</code> directive.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11627">#11627</a>: Restore support for copyright lines of the form <code>YYYY</code> when <code>SOU… | 2023-08-31T13:19:57Z | 2023-09-06T16:34:32Z | 2023-09-06T16:34:31Z | 2023-09-06T16:34:31Z | e4abae3fd7a828625d00c35c316852ffbaa5ef2f | 0 | 7c9df6e5499fdd06a2f5497d07052e23acd0ece7 | 05707aa16b5c6c39fbe48b3176b85a8ffe493938 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2166 | ||||
152870030 | MDExOlB1bGxSZXF1ZXN0MTUyODcwMDMw | 104 | closed | 0 | [WIP] Add publish to heroku support | 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 | 107914493 | https://github.com/simonw/datasette/pull/104 | ||||
500798091 | MDExOlB1bGxSZXF1ZXN0NTAwNzk4MDkx | 1008 | open | 0 | Add json_loads and json_dumps jinja2 filters | 649467 | 2020-10-09T20:11:34Z | 2020-12-15T02:30:28Z | e33e91ca7c9b2fdeab9d8179ce0d603918b066aa | 0 | 40858989d47043743d6b1c9108528bec6a317e43 | 1bdbc8aa7f4fd7a768d456146e44da86cb1b36d1 | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1008 | |||||||
406067019 | MDExOlB1bGxSZXF1ZXN0NDA2MDY3MDE5 | 728 | closed | 0 | Update mergedeep requirement from ~=1.1.1 to >=1.1.1,<1.4.0 | 27856297 | Updates the requirements on [mergedeep](https://github.com/clarketm/mergedeep) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clarketm/mergedeep/commit/3d6e7b4c9c25b64eba0834da6f54c8dd309767ea"><code>3d6e7b4</code></a> v1.3.0 - support additive merging of <code>Counter</code> types</li> <li><a href="https://github.com/clarketm/mergedeep/commit/56a258a0b58366aa205322476db1b3f84aac65d9"><code>56a258a</code></a> v1.2.1 - tidy docs and variable names</li> <li><a href="https://github.com/clarketm/mergedeep/commit/61ab21382ba20d7973a848c942eb36bd33bc7cd0"><code>61ab213</code></a> v1.2.0 - support both TYPESAFE_REPLACE and TYPESAFE_ADDITIVE merge strategies...</li> <li><a href="https://github.com/clarketm/mergedeep/commit/b331bb5f1580d8290dcf5c6e7690fd3b9708b5cd"><code>b331bb5</code></a> cleanup Makefile</li> <li><a href="https://github.com/clarketm/mergedeep/commit/6f577bf29750c073f6764ffbea29ab6d6759a8d3"><code>6f577bf</code></a> officially label support for python3.8</li> <li><a href="https://github.com/clarketm/mergedeep/commit/84faf37d2da81d4356a4ade4c015fc3964262585"><code>84faf37</code></a> use pipenv for managing dev dependencies</li> <li><a href="https://github.com/clarketm/mergedeep/commit/3a8761a736c8cb7a324bd9e6f4d50a58898a3ba9"><code>3a8761a</code></a> Update README.md</li> <li>See full diff in <a href="https://github.com/clarketm/mergedeep/compare/v1.1.1...v1.3.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge th… | 2020-04-20T13:33:23Z | 2020-05-04T16:45:58Z | 2020-05-04T16:45:49Z | 2020-05-04T16:45:49Z | e232f77055880b38cc0b738607cd50cde9188eaf | 0 | b584fbc4215d92df08360937916ffe128f11f72e | 985e59493e44d6fcebf7a30f693f4edecee3e90d | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/728 | ||||
206863803 | MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz | 358 | closed | 0 | Bump versions of pytest, pluggy and beautifulsoup4 | 9599 | 2018-08-08T00:44:38Z | 2018-08-08T01:11:13Z | 2018-08-08T01:11:13Z | 2018-08-08T01:11:13Z | e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5 | 0 | 848ed0e0420d2e8c95a96b4cf73082da4c65d8f6 | fe5b6ea95a973534fe8a44907c0ea2449aae7602 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/358 | |||||
466410755 | MDExOlB1bGxSZXF1ZXN0NDY2NDEwNzU1 | 927 | closed | 0 | 'datasette --get' option, refs #926 | 9599 | Refs #926, #898 | 2020-08-11T23:31:52Z | 2020-08-12T00:24:42Z | 2020-08-12T00:24:41Z | 2020-08-12T00:24:41Z | e139a7619f63d45ca2ff1ee108b933e17b5675b3 | 0 | 2111da01a03cfc62303b6a4b59ea9f96d22c0f78 | 83eda049af3f38d4289118d3576f96b2535084b1 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/927 | ||||
733665129 | PR_kwDOBm6k_c4rutdp | 1471 | closed | 0 | Bump black from 21.7b0 to 21.9b0 | 49699333 | Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.9b0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>21.9b0</h2> <h3>Packaging</h3> <ul> <li>Fix missing modules in self-contained binaries (<a href="https://github-redirect.dependabot.com/psf/black/issues/2466">#2466</a>)</li> <li>Fix missing toml extra used during installation (<a href="https://github-redirect.dependabot.com/psf/black/issues/2475">#2475</a>)</li> </ul> <h2>21.8b0</h2> <h3><em>Black</em></h3> <ul> <li>Add support for formatting Jupyter Notebook files (<a href="https://github-redirect.dependabot.com/psf/black/issues/2357">#2357</a>)</li> <li>Move from <code>appdirs</code> dependency to <code>platformdirs</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2375">#2375</a>)</li> <li>Present a more user-friendly error if .gitignore is invalid (<a href="https://github-redirect.dependabot.com/psf/black/issues/2414">#2414</a>)</li> <li>The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (<a href="https://github-redirect.dependabot.com/psf/black/issues/2437">#2437</a>)</li> <li>Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (<a href="https://github-redirect.dependabot.com/psf/black/issues/2384">#2384</a>)</li> <li>Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (<a href="https://github-redirect.dependabot.com/psf/black/issues/2447">#2447</a>).</li> <li>Pin <code>setuptools-scm</code> build-time dependency version (<a href="https://github-redirect.dependabot.com/psf/black/issues/2457">#2457</a>)</li> <li>Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (<a href="https://github-redirect.dependabot.com/psf/black/issues/2460">#2460</a>)</li> </ul> <h3><em>Blackd</em></h3> <ul> <li>Replace s… | 2021-09-14T13:10:35Z | 2021-10-13T21:47:42Z | 2021-10-13T21:47:42Z | 2021-10-13T21:47:42Z | e1012e7098056734d9c90f081493991009253390 | 0 | 847238abf194f195a4fca896cd98f6ff332b1c18 | a673a93b57e249f06b2d0265ce33f458258feeb0 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1471 | ||||
1169793638 | PR_kwDOBm6k_c5FuaJm | 1965 | closed | 0 | Detect server start/stop more reliably. | 11321 | This is useful, especially in testing, since your test hosts might not reliabliy start the server within two seconds, so we do a definite check before progressing. By the same token, after `kill $server_pid` wait for the pid to be gone from the process list. Since now the script can end prematurely, I also added a cleanup function to make sure the temporary certs are removed in any case. n.b. this could also be done with the use of `trap 'fn' ERR` but that felt like a bit too much magic for this short a script. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1965.org.readthedocs.build/en/1965/ <!-- readthedocs-preview datasette end --> | 2022-12-18T10:03:42Z | 2022-12-20T19:08:26Z | 2022-12-18T16:01:51Z | 2022-12-18T16:01:51Z | e03aed00026cc2e59c09ca41f69a247e1a85cc89 | 0 | 6a58fc71d481d27ef28a75b026b47713ca88eeec | a21c00b54dd6e0ecb17c60024fb1b55729c5d21e | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1965 | ||||
1571053445 | PR_kwDOBm6k_c5dpF-F | 2202 | closed | 0 | Bump the python-packages group with 1 update | 49699333 | Bumps the python-packages group with 1 update: [black](https://github.com/psf/black). <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>23.10.1</h2> <h3>Highlights</h3> <ul> <li>Maintanence release to get a fix out for GitHub Action edge case (<a href="https://redirect.github.com/psf/black/issues/3957">#3957</a>)</li> </ul> <h3>Preview style</h3> <ul> <li>Fix merging implicit multiline strings that have inline comments (<a href="https://redirect.github.com/psf/black/issues/3956">#3956</a>)</li> <li>Allow empty first line after block open before a comment or compound statement (<a href="https://redirect.github.com/psf/black/issues/3967">#3967</a>)</li> </ul> <h3>Packaging</h3> <ul> <li>Change Dockerfile to hatch + compile black (<a href="https://redirect.github.com/psf/black/issues/3965">#3965</a>)</li> </ul> <h3>Integrations</h3> <ul> <li>The summary output for GitHub workflows is now suppressible using the <code>summary</code> parameter. (<a href="https://redirect.github.com/psf/black/issues/3958">#3958</a>)</li> <li>Fix the action failing when Black check doesn't pass (<a href="https://redirect.github.com/psf/black/issues/3957">#3957</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>It is known Windows documentation CI is broken <a href="https://redirect.github.com/psf/black/issues/3968">psf/black#3968</a></li> </ul> <h2>23.10.0</h2> <h3>Stable style</h3> <ul> <li>Fix comments getting removed from inside parenthesized strings (<a href="https://redirect.github.com/psf/black/issues/3909">#3909</a>)</li> </ul> <h3>Preview style</h3> <ul> <li>Fix long lines with power operators getting split before the line length (<a href="https://redirect.github.com/psf/black/issues/3942">#3942</a>)</li> <li>Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (<a href="https://redirect.github.com/psf/black/issues/3899">#3899</a>)</li> <li>Magic trailing commas are now respec… | 2023-10-24T13:40:21Z | 2023-11-08T13:19:03Z | 2023-11-08T13:19:01Z | dec2db2dd566aa9aa9d9ac124328c15bb80d52c5 | 0 | be4d0f0ad1f2d113230a1ae4c394f1b3134a0324 | 452a587e236ef642cbc6ae345b58767ea8420cb5 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2202 | |||||
872509423 | PR_kwDOBm6k_c40AW_v | 1649 | closed | 0 | Add /opt/homebrew to where spatialite extension can be found | 2182 | Helps homebrew on Apple Silicon setups find spatialite without needing a full path. Similar to #1114 | 2022-03-06T18:09:35Z | 2022-03-06T22:46:00Z | 2022-03-06T19:39:15Z | 2022-03-06T19:39:15Z | de810f49cc57a4f88e4a1553d26c579253ce4531 | 0 | 59b2c16e3db10390b134673bda20045c351bdef8 | 0499f174c063283aa9b589d475a32077aaf7adc5 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1649 | ||||
1365439700 | PR_kwDOBm6k_c5RYvTU | 2080 | closed | 0 | New View base class | 9599 | Refs: - #2078 TODO: - [x] Teach router layer how to handle this - [x] Use it for something <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2080.org.readthedocs.build/en/2080/ <!-- readthedocs-preview datasette end --> | 2023-05-25T23:22:55Z | 2023-05-26T00:18:45Z | 2023-05-26T00:18:44Z | 2023-05-26T00:18:44Z | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | 0 | e990fbc00ef36c022986432e7706b3ad1c9c68a1 | b49fa446d683ddcaf6faf2944dacc0d866bf2d70 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/2080 | ||||
1510415840 | PR_kwDOBm6k_c5aBx3g | 2182 | closed | 0 | Bump the python-packages group with 2 updates | 49699333 | Bumps the python-packages group with 2 updates: [furo](https://github.com/pradyunsg/furo) and [black](https://github.com/psf/black). Updates `furo` from 2023.8.19 to 2023.9.10 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2023.09.10 -- Zesty Zaffre</h2> <ul> <li>Make asset hash injection idempotent, fixing Sphinx 6 compatibility.</li> <li>Fix the check for HTML builders, fixing non-HTML Read the Docs builds.</li> </ul> <h2>2023.08.19 -- Xenolithic Xanadu</h2> <ul> <li>Fix missing search context with Sphinx 7.2, for dirhtml builds.</li> <li>Drop support for Python 3.7.</li> <li>Present configuration errors in a better format -- thanks <a href="https://github.com/AA-Turner"><code>@AA-Turner</code></a>!</li> <li>Bump <code>require_sphinx()</code> to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine.</li> </ul> <h2>2023.08.17 -- Wonderous White</h2> <ul> <li>Fix compatiblity with Sphinx 7.2.0 and 7.2.1.</li> </ul> <h2>2023.07.26 -- Vigilant Volt</h2> <ul> <li>Fix compatiblity with Sphinx 7.1.</li> <li>Improve how content overflow is handled.</li> <li>Improve how literal blocks containing inline code are handled.</li> </ul> <h2>2023.05.20 -- Unassuming Ultramarine</h2> <ul> <li>✨ Add support for Sphinx 7.</li> <li>Drop support for Sphinx 5.</li> <li>Improve the screen-reader label for sidebar collapse.</li> <li>Make it easier to create derived themes from Furo.</li> <li>Bump all JS dependencies (NodeJS and npm packages).</li> </ul> <h2>2023.03.27 -- Tasty Tangerine</h2> <ul> <li>Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.</li> <li>Add missing class to Font Awesome examples</li> </ul> <h2>2023.03.23 -- Sassy Saffron</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pradyunsg/furo/commit/27… | 2023-09-11T14:01:25Z | 2023-09-14T13:27:30Z | 2023-09-14T13:27:28Z | dd3b8703a32faac88c94e79b429c0eb1fe86c537 | 0 | bda70bfb3f2fe4847bcaa6d1b48a721a2214a24c | a4c96d01b27ce7cd06662a024da3547132a7c412 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2182 | |||||
1477525578 | PR_kwDOBm6k_c5YEUBK | 2141 | closed | 0 | Bump the python-packages group with 1 update | 49699333 | Bumps the python-packages group with 1 update: [blacken-docs](https://github.com/asottile/blacken-docs). <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/adamchainz/blacken-docs/blob/main/CHANGELOG.rst">blacken-docs's changelog</a>.</em></p> <blockquote> <h2>1.16.0 (2023-08-16)</h2> <ul> <li> <p>Allow Markdown fence options.</p> <p>Thanks to initial work from Matthew Anderson in <code>PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246></code>__.</p> </li> <li> <p>Expand Markdown detection to all Python language names from Pygments: <code>py</code>, <code>sage</code>, <code>python3</code>, <code>py3</code>, and <code>numpy</code>.</p> </li> <li> <p>Preserve leading whitespace lines in reStructuredText code blocks.</p> <p>Thanks to Julianus Pfeuffer for the report in <code>Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217></code>__.</p> </li> <li> <p>Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for “files have been formatted”.</p> <p>Thanks to Julianus Pfeuffer for the report in <code>Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218></code>__.</p> </li> <li> <p>Support passing the <code>--preview</code> option through to Black, to select the future style.</p> </li> <li> <p>Remove <code>language_version</code> from <code>.pre-commit-hooks.yaml</code>. This change allows <code>default_language_version</code> in ``.pre-commit-config.yaml` to take precedence.</p> <p>Thanks to Aneesh Agrawal in <code>PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258></code>__.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/adamchainz/blacken-docs/commit/960ead214cd1184149d366c6d27ca6c369ce46b6"><code>960ead2</c… | 2023-08-16T13:47:35Z | 2023-08-17T13:07:48Z | 2023-08-17T13:07:45Z | dcd7926e18195d4f301a89de73711f58dcc76c95 | 0 | e2be94a4e064464e1050964bcf41807dbfd9d809 | 943df09dcca93c3b9861b8c96277a01320db8662 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2141 | |||||
1562664755 | PR_kwDOBm6k_c5dJF8z | 2200 | closed | 0 | Bump the python-packages group with 1 update | 49699333 | Bumps the python-packages group with 1 update: [black](https://github.com/psf/black). <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>23.10.0</h2> <h3>Stable style</h3> <ul> <li>Fix comments getting removed from inside parenthesized strings (<a href="https://redirect.github.com/psf/black/issues/3909">#3909</a>)</li> </ul> <h3>Preview style</h3> <ul> <li>Fix long lines with power operators getting split before the line length (<a href="https://redirect.github.com/psf/black/issues/3942">#3942</a>)</li> <li>Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (<a href="https://redirect.github.com/psf/black/issues/3899">#3899</a>)</li> <li>Magic trailing commas are now respected in return types. (<a href="https://redirect.github.com/psf/black/issues/3916">#3916</a>)</li> <li>Require one empty line after module-level docstrings. (<a href="https://redirect.github.com/psf/black/issues/3932">#3932</a>)</li> <li>Treat raw triple-quoted strings as docstrings (<a href="https://redirect.github.com/psf/black/issues/3947">#3947</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Fix cache versioning logic when <code>BLACK_CACHE_DIR</code> is set (<a href="https://redirect.github.com/psf/black/issues/3937">#3937</a>)</li> </ul> <h3>Parser</h3> <ul> <li>Fix bug where attributes named <code>type</code> were not acccepted inside <code>match</code> statements (<a href="https://redirect.github.com/psf/black/issues/3950">#3950</a>)</li> <li>Add support for PEP 695 type aliases containing lambdas and other unusual expressions (<a href="https://redirect.github.com/psf/black/issues/3949">#3949</a>)</li> </ul> <h3>Output</h3> <ul> <li>Black no longer attempts to provide special errors for attempting to format Python 2 code (<a href="https://redirect.github.com/psf/black/issues/3933">#3933</a>)</li> <li>Black will more consistently print stacktraces on internal errors in verbose mode … | 2023-10-18T13:25:55Z | 2023-10-24T13:40:29Z | 2023-10-24T13:40:26Z | dc3806dfbfbcfab2f7d75a8e91e7bd8b3dfc11f2 | 0 | 011bb920c5e8061aaf3d90d47e3e5bb684eef2ba | 452a587e236ef642cbc6ae345b58767ea8420cb5 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2200 | |||||
1480615708 | PR_kwDOBm6k_c5YQGcc | 2144 | closed | 0 | Bump the python-packages group with 3 updates | 49699333 | Bumps the python-packages group with 3 updates: [sphinx](https://github.com/sphinx-doc/sphinx), [furo](https://github.com/pradyunsg/furo) and [blacken-docs](https://github.com/asottile/blacken-docs). Updates `sphinx` from 7.1.2 to 7.2.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>Sphinx 7.2.2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.2.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 7.2.2 (released Aug 17, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li>Fix the signature of the <code>StateMachine.insert_input()</code> patch, for when calling with keyword arguments.</li> <li>Fixed membership testing (<code>in</code>) for the :py:class:<code>str</code> interface of the asset classes (<code>_CascadingStyleSheet</code> and <code>_JavaScript</code>), which several extensions relied upon.</li> <li>Fixed a type error in <code>SingleFileHTMLBuilder._get_local_toctree</code>, <code>includehidden</code> may be passed as a string or a boolean.</li> <li>Fix <code>:noindex:</code> for <code>PyModule</code> and JSModule``.</li> </ul> <h1>Release 7.2.1 (released Aug 17, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li>Restored the the :py:class:<code>str</code> interface of the asset classes (<code>_CascadingStyleSheet</code> and <code>_JavaScript</code>), which several extensions relied upon. This will be removed in Sphinx 9.</li> <li>Restored calls to <code>Builder.add… | 2023-08-18T13:49:37Z | 2023-08-21T13:48:18Z | 2023-08-21T13:48:16Z | dc265dd15d0c7f42aef86755bfea28bbb3ce557b | 0 | 3a97755e8924130e649009877a255fa9b7cc703b | 943df09dcca93c3b9861b8c96277a01320db8662 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2144 | |||||
399166433 | MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz | 719 | closed | 0 | asgi: check raw_path is not None | 193185 | The ASGI spec (https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to imply that `None` is a valid value, so we need to check the value itself, not just whether the key is present. In particular, the [mangum](https://github.com/erm/mangum) adapter passes `None` for this key's value. This change permits mangum to be used to front datasette in Amazon API Gateway + AWS Lambda deployments. | 2020-04-05T16:53:58Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | dbd2d70b3819a7041bb36a527033d77c85683c05 | 0 | 161f61d73800a605354b4ac44a3c989e19bbc77a | e0e7a0facfc935a835cd73c720bc46661462f0b1 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/719 | ||||
204029142 | MDExOlB1bGxSZXF1ZXN0MjA0MDI5MTQy | 349 | closed | 0 | publish_subcommand hook + default plugins mechanism, used for publish heroku/now | 9599 | This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the "datasette publish" command family. I've used this new hook to refactor out the "publish now" and "publish heroku" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new "default_plugins" list inside datasette/app.py Closes #217 (Plugin support for "datasette publish") Closes #348 (Unit tests for "datasette publish") Refs #14, #59, #102, #103, #146, #236, #347 | 2018-07-26T05:03:22Z | 2018-07-26T05:28:54Z | 2018-07-26T05:16:00Z | 2018-07-26T05:16:00Z | dbbe707841973b50a76d2703003ae2c40e7ad1fd | 0 | 7abdfd55daa9c617da02fd768b8e7476e89f0f94 | 3ac21c749881d0fb1c35b0f9b7a819e29f61c5c1 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/349 | ||||
530125695 | MDExOlB1bGxSZXF1ZXN0NTMwMTI1Njk1 | 1122 | closed | 0 | Fix misaligned table actions cog | 3243482 | Fixes https://github.com/simonw/datasette/issues/1121 | 2020-12-01T08:41:46Z | 2020-12-03T10:56:40Z | 2020-12-03T00:33:37Z | 2020-12-03T00:33:36Z | daae35be46ec5cb8a207aa20986a4fa62e94777e | 0 | 94ea22f7b6b6c55b490c97b385f6eb6c1ea2121c | a970276b9999687b96c5e11ea1c817d814f5d267 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1122 | ||||
424085264 | MDExOlB1bGxSZXF1ZXN0NDI0MDg1MjY0 | 772 | closed | 0 | Test that plugin hooks are unit tested | 9599 | Refs #771 | 2020-05-27T20:01:32Z | 2020-05-27T20:21:56Z | 2020-05-27T20:16:03Z | 2020-05-27T20:16:02Z | da87e963bff24e47878a5bc2025c8bfc63d4bc93 | 5471110 | 0 | 173b6947521f1c1b47a119f62f379bf4278c87c9 | 41a0cd7b6afe0397efbbf27ad822679fc574811a | OWNER | 107914493 | https://github.com/simonw/datasette/pull/772 | |||
1492599485 | PR_kwDOBm6k_c5Y90K9 | 2161 | closed | 0 | -s/--setting x y gets merged into datasette.yml, refs #2143, #2156 | 9599 | This change updates the `-s/--setting` option to `datasette serve` to allow it to be used to set arbitrarily complex nested settings in a way that is compatible with the new `-c datasette.yml` work happening in: - #2143 It will enable things like this: ``` datasette data.db --setting plugins.datasette-ripgrep.path "/home/simon/code" ``` For the moment though it just affects [settings](https://docs.datasette.io/en/1.0a4/settings.html) - so you can do this: ``` datasette data.db --setting settings.sql_time_limit_ms 3500 ``` I've also implemented a backwards compatibility mechanism, so if you use it this way (the old way): ``` datasette data.db --setting sql_time_limit_ms 3500 ``` It will notice that the setting you passed is one of Datasette's core settings, and will treat that as if you said `settings.sql_time_limit_ms` instead. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2161.org.readthedocs.build/en/2161/ <!-- readthedocs-preview datasette end --> | 2023-08-28T19:30:42Z | 2023-08-28T20:06:15Z | 2023-08-28T20:06:14Z | 2023-08-28T20:06:14Z | d9aad1fd042a25d226f2ace1f7827b4602761038 | 0 | a5cbf80d795b599697b2b873566386abb0cd8b32 | 527cec66b0403e689c8fb71fc8b381a1d7a46516 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/2161 | ||||
1212277427 | PR_kwDOBm6k_c5IQeKz | 1999 | closed | 0 | ?_extra= support (draft) | 9599 | Refs: - #262 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1999.org.readthedocs.build/en/1999/ <!-- readthedocs-preview datasette end --> | 2023-01-21T04:55:18Z | 2023-03-22T22:49:41Z | 2023-03-22T22:49:40Z | 2023-03-22T22:49:40Z | d97e82df3c8a3f2e97038d7080167be9bb74a68d | 0 | 69a31cd5b61f0b62938efdeec5972090f1a1a508 | 56b0758a5fbf85d01ff80a40c9b028469d7bb65f | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1999 | ||||
339742432 | MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy | 630 | closed | 0 | Use python:3.8 base Docker image | 9599 | Closes #629 | 2019-11-12T06:02:37Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | d977fbadf70a96bf2eea1407d01f99d98e092dec | 0 | 53180ec09483bd4eef00346a39b302aeb3039e7d | f554be39fc14ddc18921ca29d3920d55aad03d46 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/630 | ||||
280205502 | MDExOlB1bGxSZXF1ZXN0MjgwMjA1NTAy | 480 | closed | 0 | Split pypi and docker travis tasks | 813732 | Resolves #478 This *should* work, but because this is a change that'll only really be testable on a) this repo, b) master branch, this might fail fast if I didn't get the configurations right. Looking at #478 it should just be as simple as splitting out the docker and pypi processes into separate jobs, but it might end up being more complicated than that, depending on what pre-processes the pypi deployment needs, and how travisci treats deployment steps without scripts in general. | 2019-05-19T23:14:37Z | 2019-07-07T20:03:20Z | 2019-07-07T20:03:20Z | 2019-07-07T20:03:20Z | d95048031edb02bbc9892879507f55a4f29c5459 | 4471010 | 0 | 8b667898b6c2dd57fa68310c6d3c62d77b68f321 | 4246e138f9512686413e97878659ef953337e57b | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/480 | |||
214653641 | MDExOlB1bGxSZXF1ZXN0MjE0NjUzNjQx | 364 | open | 0 | Support for other types of databases using external connectors | 11912854 | This PR is related to #293, but now all commits have been merged. The purpose is to support other file formats that aren't SQLite, like files with PyTables format. I've tried to accomplish that using external connectors published with entry points. The modifications in the original datasette code are minimal and many are in a separated file. | 2018-09-11T14:31:47Z | 2018-09-11T14:31:47Z | d84f3b1f585cb52b58aed0401c34214de2e8b47b | 0 | 592fd05f685859b271f0305c2fc8cdb7da58ebfb | b7257a21bf3dfa7353980f343c83a616da44daa7 | FIRST_TIME_CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/364 | ||||||
716262829 | MDExOlB1bGxSZXF1ZXN0NzE2MjYyODI5 | 1444 | closed | 0 | Ability to deploy demos of branches | 9599 | See #1442. | 2021-08-19T21:08:04Z | 2021-08-19T21:09:44Z | 2021-08-19T21:09:39Z | 2021-08-19T21:09:39Z | d84e574e59c51ddcd6cf60a6f9b3d45182daf824 | 0 | 75f9fe6d6bc642ce5587dd74eed70064c11868be | adb5b70de5cec3c3dd37184defe606a082c232cf | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1444 | ||||
687304242 | MDExOlB1bGxSZXF1ZXN0Njg3MzA0MjQy | 1393 | closed | 0 | Update deploying.rst | 80737 | Example on how to use Unix domain socket option on Apache. Not testet. (Usually I would have used [`ProxyPassReverse`](https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse) in combination with `ProxyPass` , i.e. ```apache ProxyPass /my-datasette/ http://127.0.0.1:8009/my-datasette/ ProxyPassReverse /my-datasette/ http://127.0.0.1:8009/my-datasette/ ``` and ```apache ProxyPass /my-datasette/ unix:/tmp/datasette.sock|http://localhost/my-datasette/ ProxyPassReverse /my-datasette/ unix:/tmp/datasette.sock|http://localhost/my-datasette/ ``` ) | 2021-07-11T09:32:16Z | 2021-07-13T18:32:49Z | 2021-07-13T18:32:49Z | 2021-07-13T18:32:49Z | d71cac498138ddd86f18607b9043e70286ea884a | 0 | 1bbb577e9e10e0225ab885d72defcbf6517cc096 | f83c84fd51d144036924ae77d99f12b0a69e7e6f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1393 | ||||
1602618258 | PR_kwDOBm6k_c5fhgOS | 2209 | open | 0 | Fix query for suggested facets with column named value | 198537 | See discussion in https://github.com/simonw/datasette/issues/2208 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2209.org.readthedocs.build/en/2209/ <!-- readthedocs-preview datasette end --> | 2023-11-15T14:13:30Z | 2023-11-15T15:31:12Z | d628c1520160c030c26353792221925fdcd5cbe4 | 0 | c88414be391a2e64208e35d33a69a246170499a6 | 452a587e236ef642cbc6ae345b58767ea8420cb5 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2209 | ||||||
274478761 | MDExOlB1bGxSZXF1ZXN0Mjc0NDc4NzYx | 442 | closed | 0 | Suppress rendering of binary data | 45057 | Binary columns (including spatialite geographies) get shown as ugly binary strings in the HTML by default. Nobody wants to see that mess. Show the size of the column in bytes instead. If you want to decode the binary data, you can use a plugin to do it. | 2019-04-29T18:36:41Z | 2019-05-03T18:26:48Z | 2019-05-03T16:44:49Z | 2019-05-03T16:44:49Z | d555baf508de71a5e3dc9a9aed2c13f6f202956d | 0 | bbbd9ea5ad774f088bd963106fa5756bfd77c799 | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/442 | ||||
1193778792 | PR_kwDOBm6k_c5HJ55o | 1986 | closed | 0 | Bump sphinx from 6.1.2 to 6.1.3 | 49699333 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.2 to 6.1.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.1.3</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.1.3 (released Jan 10, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11116">#11116</a>: Reverted to previous Sphinx 5 node copying method</li> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11117">#11117</a>: Reverted changes to parallel image processing from Sphinx 6.1.0</li> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11119">#11119</a>: Supress <code>ValueError</code> in the <code>linkcheck</code> builder</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sphinx-doc/sphinx/commit/776d01eb6229f5d5384da17fc15df9d50fa8e87a"><code>776d01e</code></a> Bump to 6.1.3 final</li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/a2e922ac6c58134d8ad19888de93d52c8a1de669"><code>a2e922a</code></a> CHANGES for Sphinx 6.1.3</li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/31162a9b6335f2abce9ffb90b905a314f6bdfe6b"><code>31162a9</code></a> Handle exceptions for <code>get_node_source</code> and <code>get_node_line</code></li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/dcb4429abacda015f98875fe9489ced696155bd7"><code>dcb4429</code></a> Restore Sphinx 5 <code>nodes.Element</code> copying behaviour</li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/2a7c40d07f4b0e0fd2a4bc942e74634c2df24dee"><code>2a7c40d</code></a> Undo… | 2023-01-11T13:02:36Z | 2023-03-29T06:09:50Z | 2023-03-29T06:09:49Z | 2023-03-29T06:09:49Z | d52402447ea5eb5a3f084e4f85a45675d34eb4da | 0 | 82983b6c69c687f76e1ced0a07e0d590c3a97574 | 848a9a420de9b50a7c862db7fb34d930835bee89 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1986 | ||||
882973374 | PR_kwDOBm6k_c40oRq- | 1664 | closed | 0 | Remove hashed URL mode | 9599 | Refs #1661. | 2022-03-17T23:19:10Z | 2022-03-19T00:12:04Z | 2022-03-19T00:12:04Z | 2022-03-19T00:12:03Z | d4f60c2388c01ddce1b16f95c16d310e037c9912 | 0 | eae91fe8c2934c8674f5202b2d9f85b6f674c410 | 30e5f0e67c38054a8087a2a4eae3fc4d1779af90 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1664 | ||||
712412883 | MDExOlB1bGxSZXF1ZXN0NzEyNDEyODgz | 1434 | open | 0 | Enrich arbitrary query results with foreign key links and column descriptions | 9599 | Refs #1293, follows #942. | 2021-08-13T14:43:01Z | 2021-08-19T21:18:58Z | d4d4f5566b1d43075cb52ded5d19a9dcf4350761 | 0 | 281c0872d5b8a462c9d7b2b2d77a924da4ed25a7 | 2883098770fc66e50183b2b231edbde20848d4d6 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1434 | ||||||
1160815750 | PR_kwDOBm6k_c5FMKSG | 1944 | closed | 0 | Bump black from 22.10.0 to 22.12.0 | 49699333 | Bumps [black](https://github.com/psf/black) from 22.10.0 to 22.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>22.12.0</h2> <h3>Preview style</h3> <!-- raw HTML omitted --> <ul> <li>Enforce empty lines before classes and functions with sticky leading comments (<a href="https://github-redirect.dependabot.com/psf/black/issues/3302">#3302</a>)</li> <li>Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (<a href="https://github-redirect.dependabot.com/psf/black/issues/3348">#3348</a>)</li> <li>Implicitly concatenated strings used as function args are now wrapped inside parentheses (<a href="https://github-redirect.dependabot.com/psf/black/issues/3307">#3307</a>)</li> <li>Correctly handle trailing commas that are inside a line's leading non-nested parens (<a href="https://github-redirect.dependabot.com/psf/black/issues/3370">#3370</a>)</li> </ul> <h3>Configuration</h3> <!-- raw HTML omitted --> <ul> <li>Fix incorrectly applied <code>.gitignore</code> rules by considering the <code>.gitignore</code> location and the relative path to the target file (<a href="https://github-redirect.dependabot.com/psf/black/issues/3338">#3338</a>)</li> <li>Fix incorrectly ignoring <code>.gitignore</code> presence when more than one source directory is specified (<a href="https://github-redirect.dependabot.com/psf/black/issues/3336">#3336</a>)</li> </ul> <h3>Parser</h3> <!-- raw HTML omitted --> <ul> <li>Parsing support has been added for walruses inside generator expression that are passed as function args (for example, <code>any(match := my_re.match(text) for text in texts)</code>) (<a href="https://github-redirect.dependabot.com/psf/black/issues/3327">#3327</a>).</li> </ul> <h3>Integrations</h3> <!-- raw HTML omitted --> <ul> <li>Vim plugin: Optionally allow using the system installation of Black via <code>let g:black_use… | 2022-12-12T13:05:11Z | 2022-12-13T05:23:31Z | 2022-12-13T05:23:30Z | 2022-12-13T05:23:30Z | d4b98d3924dec625a99236e65b1b169ff957381f | 0 | ac7a52436638ae85f1db0556a382845863546b3d | e539c1c024bc62d88df91d9107cbe37e7f0fe55f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1944 | ||||
1492124532 | PR_kwDOBm6k_c5Y8AN0 | 2160 | closed | 0 | Bump sphinx, furo, blacken-docs dependencies | 49699333 | Bumps the python-packages group with 3 updates: [sphinx](https://github.com/sphinx-doc/sphinx), [furo](https://github.com/pradyunsg/furo) and [blacken-docs](https://github.com/asottile/blacken-docs). Updates `sphinx` from 7.1.2 to 7.2.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>Sphinx 7.2.4</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.2.3</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.2.2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.2.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>Sphinx 7.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 7.2.4 (released Aug 28, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11618">#11618</a>: Fix a regression in the MoveModuleTargets transform, introduced in <a href="https://redirect.github.com/sphinx-doc/sphinx/issues/10478">#10478</a> (<a href="https://redirect.github.com/sphinx-doc/sphinx/issues/9662">#9662</a>).</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11649">#11649</a>: linkcheck: Resolve hanging tests for timezones west of London and incorrect conversion from UTC to offsets from the UNIX epoch. Patch by Dmitry Shachnev and Adam Turner.</li> </ul> <h1>Release 7.2.3 (rele… | 2023-08-28T13:49:31Z | 2023-08-29T00:38:33Z | 2023-08-29T00:38:32Z | 2023-08-29T00:38:32Z | d28f12092dd795f35e9500154711d542f8931676 | 0 | 3529c9c4a6b9cdf628b8452f502014a51f650709 | 2e2825869fc2655b5fcadc743f6f9dec7a49bc65 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/2160 | ||||
678459554 | MDExOlB1bGxSZXF1ZXN0Njc4NDU5NTU0 | 1385 | closed | 0 | Fix + improve get_metadata plugin hook docs | 2670795 | This fixes documentation inaccuracies and adds a disclaimer about the signature of the `get_metadata` hook. Addresses the following comments: - https://github.com/simonw/datasette/issues/1384#issuecomment-869069926 - https://github.com/simonw/datasette/issues/1384#issuecomment-869075368 | 2021-06-27T05:43:20Z | 2021-09-13T18:53:11Z | 2021-09-13T18:53:11Z | d283ef6806aabcd749623ffe4e69011879f7bfad | 0 | 8d78c8c22ddfa10c041f7b5dd9118d4c8674729f | 67cbf0ae7243431bf13702e6e3ba466b619c4d6f | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1385 | |||||
297243073 | MDExOlB1bGxSZXF1ZXN0Mjk3MjQzMDcz | 559 | closed | 0 | Bump to uvicorn 0.8.4 | 9599 | https://github.com/encode/uvicorn/commits/0.8.4 Query strings will now be included in log files: https://github.com/encode/uvicorn/pull/384 | 2019-07-12T22:30:29Z | 2019-07-13T22:34:58Z | 2019-07-13T22:34:58Z | 2019-07-13T22:34:58Z | d224ee2c98ac39c2c6e21a0ac0c62e5c3e1ccd11 | 0 | 029e3d53634cc38690d5b56427a3c87851a61b09 | f2006cca80040871439055ae6ccbc14e589bdf4b | OWNER | 107914493 | https://github.com/simonw/datasette/pull/559 | ||||
572254103 | MDExOlB1bGxSZXF1ZXN0NTcyMjU0MTAz | 1223 | closed | 0 | Add compile option to Dockerfile to fix failing test (fixes #696) | 7476523 | This test was failing when run inside the Docker container: `test_searchable[/fixtures/searchable.json?_search=te*+AND+do*&_searchmode=raw-expected_rows3]`, with this error: ``` def test_searchable(app_client, path, expected_rows): response = app_client.get(path) > assert expected_rows == response.json["rows"] E AssertionError: assert [[1, 'barry c...sel', 'puma']] == [] E Left contains 2 more items, first extra item: [1, 'barry cat', 'terry dog', 'panther'] E Full diff: E + [] E - [[1, 'barry cat', 'terry dog', 'panther'], E - [2, 'terry dog', 'sara weasel', 'puma']] ``` The issue was that the version of sqlite3 built inside the Docker container was built with FTS3 and FTS4 enabled, but without the `SQLITE_ENABLE_FTS3_PARENTHESIS` compile option passed, which adds support for using `AND` and `NOT` within `match` expressions (see https://sqlite.org/fts3.html#compiling_and_enabling_fts3_and_fts4 and https://www.sqlite.org/compile.html). Without this, the `AND` used in the search in this test was being interpreted as a literal string, and so no matches were found. Adding this compile option fixes this. --- I actually ran into this issue because the same test was failing when I ran the test suite on my own machine, outside of Docker, and so I eventually tracked this down to my system sqlite3 also being compiled without this option. I wonder if this is a sign of a slightly deeper issue, that Datasette can silently behave differently based on the version and compilation of sqlite3 it is being used with. On my own system I fixed the test suite by running `pip install pysqlite3-binary`, so that this would be picked up instead of the `sqlite` package, as this seems to be compiled using this option, . Maybe using `pysqlite3-binary` could be installed/recommended by default so a more deterministic version of sqlite is used? Or there could be some feature detection done on the available sqlite version, to know what features are … | 2021-02-12T03:38:05Z | 2021-03-07T12:01:12Z | 2021-03-07T07:41:17Z | 2021-03-07T07:41:17Z | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | 0 | d1cd1f259c699fab3af01c4aa90035ed0242471a | 9603d893b9b72653895318c9104d754229fdb146 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1223 | ||||
181033024 | MDExOlB1bGxSZXF1ZXN0MTgxMDMzMDI0 | 200 | closed | 0 | Hide Spatialite system tables | 45057 | They were getting on my nerves. | 2018-04-11T21:26:58Z | 2018-04-12T21:34:48Z | 2018-04-12T21:34:48Z | 2018-04-12T21:34:48Z | d08a13314081ae2ce0313a17d3c07c1a7f2d94d5 | 0 | 765b5d677154c633b91e3e826dfffc53b7c4b5d3 | bfb4e45a7bcb880758dbc18f66258de26c1d1904 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/200 | ||||
434055752 | MDExOlB1bGxSZXF1ZXN0NDM0MDU1NzUy | 844 | closed | 0 | Action to run tests and upload coverage report | 9599 | Refs #843 | 2020-06-13T20:52:47Z | 2020-06-13T21:36:52Z | 2020-06-13T21:36:50Z | 2020-06-13T21:36:50Z | cf7a2bdb404734910ec07abc7571351a2d934828 | 0 | 1210d9f41841bdca450f85a2342cdb0ff339c1b4 | 80c18a18fc444b89cc12b73599d56e091f3a3c87 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/844 | ||||
339722790 | MDExOlB1bGxSZXF1ZXN0MzM5NzIyNzkw | 627 | closed | 0 | Support Python 3.8, stop supporting Python 3.5 | 9599 | Refs #622 | 2019-11-12T04:36:33Z | 2020-04-05T10:23:58Z | 2019-11-12T05:09:12Z | 2019-11-12T05:09:12Z | cf7776d36fbacefa874cbd6e5fcdc9fff7661203 | 0 | 18cc795b5c6ec9223a5cbc4f30b19710c17f7eaa | 42ee3e16a9ba7cc513b8da944cc1609a5407cf42 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/627 | ||||
274468836 | MDExOlB1bGxSZXF1ZXN0Mjc0NDY4ODM2 | 441 | closed | 0 | Add register_output_renderer hook | 45057 | This changeset refactors out the JSON renderer and then adds a hook and dispatcher system to allow custom output renderers to be registered. The CSV output renderer is untouched because supporting streaming renderers through this system would be significantly more complex, and probably not worthwhile. We can't simply allow hooks to be called at request time because we need a list of supported file extensions when the request is being routed in order to resolve ambiguous database/table names. So, renderers need to be registered at startup. I've tried to make this API independent of Sanic's request/response objects so that this can remain stable during the switch to ASGI. I'm using dictionaries to keep it simple and to make adding additional options in the future easy. Fixes #440 | 2019-04-29T18:03:21Z | 2019-05-01T23:01:57Z | 2019-05-01T23:01:57Z | 2019-05-01T23:01:57Z | cf406c075433882b656e340870adf7757976fa4c | 0 | c9f941f06eb0268841de49407725917c74a8a2dc | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/441 | ||||
511868153 | MDExOlB1bGxSZXF1ZXN0NTExODY4MTUz | 1060 | closed | 0 | New explicit versioning mechanism | 9599 | - Remove all references to versioneer - Re-implement versioning to use a static string baked into the repo - Ensure that string is output by `datasette --version` and `/-/versions` Refs #1054 | 2020-10-28T22:14:55Z | 2020-10-29T03:38:17Z | 2020-10-29T03:38:16Z | 2020-10-29T03:38:16Z | cefd058c1c216a184bb63c79abba66893977c18e | 6026070 | 0 | 4725d46780783e9875bde5957f053ba19cf92ff0 | abcf0222496d8148b2e585ffa0ff192270a04b06 | OWNER | 107914493 | https://github.com/simonw/datasette/pull/1060 | |||
421491810 | MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw | 768 | closed | 0 | Use dirs_exist_ok=True | 9599 | Refs #744 | 2020-05-21T17:53:44Z | 2020-05-27T20:21:56Z | 2020-05-21T17:53:51Z | 2020-05-21T17:53:51Z | cee671a58f417f827d1735b1abaa40716534ea67 | 5471110 | 0 | f2e0a558238a34dc482803762de2509474a178c6 | faea5093b865031f650da7da6539430f732f511a | OWNER | 107914493 | https://github.com/simonw/datasette/pull/768 | |||
296735320 | MDExOlB1bGxSZXF1ZXN0Mjk2NzM1MzIw | 557 | closed | 0 | Get tests running on Windows using Travis CI | 9599 | Refs #511 | 2019-07-11T16:36:57Z | 2021-07-10T23:39:48Z | 2021-07-10T23:39:48Z | cddb9a9fecfa25147d80df05f1a6d6e1686ca30d | 0 | 47b5ab43be87217c4e40ad93b8aa2e9639fa371f | f2006cca80040871439055ae6ccbc14e589bdf4b | OWNER | 107914493 | https://github.com/simonw/datasette/pull/557 | |||||
783729324 | PR_kwDOBm6k_c4utsKs | 1516 | closed | 0 | Bump black from 21.9b0 to 21.11b1 | 49699333 | Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>21.11b1</h2> <h3><em>Black</em></h3> <ul> <li>Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (<a href="https://github-redirect.dependabot.com/psf/black/issues/2621">#2621</a>)</li> </ul> <h2>21.11b0</h2> <h3><em>Black</em></h3> <ul> <li>Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (<a href="https://github-redirect.dependabot.com/psf/black/issues/2592">#2592</a>)</li> <li>Add experimental PyPy support (<a href="https://github-redirect.dependabot.com/psf/black/issues/2559">#2559</a>)</li> <li>Add partial support for the match statement. As it's experimental, it's only enabled when <code>--target-version py310</code> is explicitly specified (<a href="https://github-redirect.dependabot.com/psf/black/issues/2586">#2586</a>)</li> <li>Add support for parenthesized with (<a href="https://github-redirect.dependabot.com/psf/black/issues/2586">#2586</a>)</li> <li>Declare support for Python 3.10 for running Black (<a href="https://github-redirect.dependabot.com/psf/black/issues/2562">#2562</a>)</li> </ul> <h3>Integrations</h3> <ul> <li>Fixed vim plugin with Python 3.10 by removing deprecated distutils import (<a href="https://github-redirect.dependabot.com/psf/black/issues/2610">#2610</a>)</li> <li>The vim plugin now parses <code>skip_magic_trailing_comma</code> from pyproject.toml (<a href="https://github-redirect.dependabot.com/psf/black/issues/2613">#2613</a>)</li> </ul> <h2>21.10b0</h2> <h3><em>Black</em></h3> <ul> <li>Document stability policy, that will apply for non-beta releases (<a href="https://github-redirect.dependabot.com/psf/black/issues/2529">#2529</a>)</li> <li>Add new <code>--workers</code> parameter (<a href="https://github-redirect.dependabot.com/psf/black/issues/2514">#2514</a>)</li> <li>Fixed feature detection for po… | 2021-11-18T13:11:12Z | 2021-11-30T02:35:29Z | 2021-11-30T02:35:29Z | 2021-11-30T02:35:29Z | cc4c70b3670ce2a85bb883b8d5626574590efe14 | 0 | a82c620b7a463a5dd4d585140ee955141ab96ca3 | 0156c6b5e52d541e93f0d68e9245f20ae83bc933 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1516 | ||||
508720660 | MDExOlB1bGxSZXF1ZXN0NTA4NzIwNjYw | 1044 | closed | 0 | Add minimum supported python | 45380 | Thanks for `datasette`! This PR adds `python_requires` to formally signal the [minimum supported python version](https://packaging.python.org/guides/dropping-older-python-versions/#specify-the-version-ranges-for-supported-python-distributions) (which is pointed out with classifiers, so seems pretty straightforward). | 2020-10-23T05:08:03Z | 2020-10-23T20:53:08Z | 2020-10-23T20:53:08Z | 2020-10-23T20:53:08Z | cab8e65261b117b493af6a0b21aa2e1ae4564419 | 0 | 6453ab18e56b36bc912b6f24c4a43002c6084ade | d0cc6f4c32e1f89238ddec782086b3122f445bd4 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1044 | ||||
498630708 | MDExOlB1bGxSZXF1ZXN0NDk4NjMwNzA4 | 995 | closed | 0 | Document setting Google Cloud SDK properties | 110420 | Document setting Google Cloud SDK properties to avoid having to respond to interactive prompts when running `datasette publish cloudrun`. | 2020-10-06T15:18:01Z | 2020-10-08T23:55:30Z | 2020-10-06T16:25:38Z | 2020-10-06T16:25:38Z | ca5ba6b77b4c973fa7ba91008a2e99debfa306b4 | 5971510 | 0 | aed2cf9f470bdc0b704ee62032fe0dcb1e557e43 | 5a184a5d211d3226e0417ee5cf8476cd887cd35e | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/995 | |||
1038547954 | PR_kwDOBm6k_c495vvy | 1794 | closed | 0 | fix word break in facets by adding ul.tight-bullets li word-break: break-all | 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 | 107914493 | https://github.com/simonw/datasette/pull/1794 | ||||
602107935 | MDExOlB1bGxSZXF1ZXN0NjAyMTA3OTM1 | 1279 | closed | 0 | Minor Docs Update. Added `--app` to fly install command. | 1019791 | Without this flag, there's an error locally. ``` > datasette publish fly bigmac.db Usage: datasette publish fly [OPTIONS] [FILES]... Try 'datasette publish fly --help' for help. Error: Missing option '-a' / '--app'. ``` I also got an error message which later turned out to be because I hadn't added my credit card information yet to `fly`. I wasn't sure if I should add that mention to the docs here, or to submit a bug-report over at https://github.com/simonw/datasette-publish-fly. | 2021-03-27T16:58:08Z | 2021-03-29T00:11:55Z | 2021-03-29T00:11:55Z | 2021-03-29T00:11:55Z | c96a3826cf50cb347f6a415b56d8105ba6d8dcb0 | 0 | 14d8977e158d1d3193c6afb50aae482547ec9d8d | 3fcfc8513465339ac5f055296cbb67f5262af02b | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1279 | ||||
1072698114 | PR_kwDOBm6k_c4_8BMC | 1827 | closed | 0 | Bump furo from 2022.9.15 to 2022.9.29 | 49699333 | Bumps [furo](https://github.com/pradyunsg/furo) from 2022.9.15 to 2022.9.29. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2022.09.29 -- Quaint Quartz</h2> <ul> <li>Add ability to set arbitrary URLs for edit button.</li> <li>Add support for aligning text in MyST-parser generated tables.</li> </ul> <h2>2022.09.15 -- Pragmatic Pistachio</h2> <ul> <li>Add a minimum version constraint on pygments.</li> <li>Add an explicit dependency on <code>sass</code>.</li> <li>Change right sidebar title from "Contents" to "On this page".</li> <li>Correctly position sidebars on small screens.</li> <li>Correctly select only Furo's own <code>svg</code> in related pages <code>nav</code>.</li> <li>Make numpy-style documentation headers consistent.</li> <li>Retitle the reference section.</li> <li>Update npm dependencies.</li> </ul> <h2>2022.06.21 -- Opulent Opal</h2> <ul> <li>Fix <code>docutils <= 0.17.x</code> compatibility.</li> <li>Bump to the latest Node.js LTS.</li> </ul> <h2>2022.06.04.1 -- Naughty Nickel bugfix</h2> <ul> <li>Fix the URL used in the "Edit this page" for Read the Docs builds.</li> </ul> <h2>2022.06.04 -- Naughty Nickel</h2> <ul> <li>✨ Advertise Sphinx 5 compatibility.</li> <li>✨ Change to <code>basic-ng</code> as the base theme (from {pypi}<code>sphinx-basic-ng</code>).</li> <li>Document site-wide announcement banners.</li> <li>Drop the pin on pygments.</li> <li>Improve edit button, using <code>basic-ng</code>'s <code>edit-this-page</code> component.</li> <li>Tweak headings to better match what users expect.</li> <li>Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).</li> <li>When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.</li> </ul> <h2>2022.04.07 -- Magical Mauve</h2> <!-- r… | 2022-09-30T13:15:35Z | 2022-09-30T17:55:42Z | 2022-09-30T17:55:41Z | 2022-09-30T17:55:41Z | c92c4318e9892101f75fa158410c0a12c1d80b6e | 0 | 1f0c557ef96d3e2e7a41598af8f9dece2d3fbcfc | 34defdc10aa293294ca01cfab70780755447e1d7 | CONTRIBUTOR | 107914493 | https://github.com/simonw/datasette/pull/1827 |