{"id": 1125261188, "node_id": "PR_kwDOBm6k_c5DEh-E", "number": 1898, "state": "closed", "locked": 0, "title": "Use DOMContentLoaded instead of load event for CodeMirror initialization", "user": {"value": 95570, "label": "bgrins"}, "body": " Closes #1894\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1898.org.readthedocs.build/en/1898/\n\r\n", "created_at": "2022-11-17T00:19:21Z", "updated_at": "2022-11-18T07:29:01Z", "closed_at": "2022-11-18T07:29:01Z", "merged_at": "2022-11-18T07:29:01Z", "merge_commit_sha": "3ecd131e57add427d847b614c920c9624bb2e66b", "assignee": null, "milestone": null, "draft": 0, "head": "5eb4ea45ce6cdc7003fc7c5175977b025b0f111e", "base": "00e233d7a7f6443cb95fb5227c23580c48551cad", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1898", "merged_by": null, "auto_merge": null} {"id": 975096803, "node_id": "PR_kwDOBm6k_c46Hsvj", "number": 1760, "state": "closed", "locked": 0, "title": "Bump furo from 2022.4.7 to 2022.6.21", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.21.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2022.06.21 -- Opulent Opal

\n\n

2022.06.04.1 -- Naughty Nickel bugfix

\n\n

2022.06.04 -- Naughty Nickel

\n\n

2022.04.07 -- Magical Mauve

\n\n

2022.03.04 -- Lucent Lilac

\n\n

2022.02.23 -- Keen Kobi

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.4.7&new-version=2022.6.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-06-22T13:22:31Z", "updated_at": "2022-07-18T01:06:27Z", "closed_at": "2022-07-18T01:06:27Z", "merged_at": "2022-07-18T01:06:27Z", "merge_commit_sha": "ea6161f8475d9fa41c4879049511c58f692cce04", "assignee": null, "milestone": null, "draft": 0, "head": "69951eedb7ca7f1284ba29f3890bef917d59a655", "base": "00e59ec461dc0150772b999c7cc15fcb9b507d58", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1760", "merged_by": null, "auto_merge": null} {"id": 981389800, "node_id": "PR_kwDOBm6k_c46ftHo", "number": 1763, "state": "closed", "locked": 0, "title": "Bump black from 22.1.0 to 22.6.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.6.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.6.0

\n

Style

\n\n

Preview style

\n\n

Integrations

\n\n

Output

\n\n

Packaging

\n\n

Parser

\n\n

Vim Plugin

\n\n

Full Changelog: https://github.com/psf/black/compare/22.3.0...22.6.0

\n
\n

Thank you!

\n\n

... and everyone else who contributed documentation, tests, or other improvements to the Black project!

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.6.0

\n

Style

\n\n

Preview style

\n\n

Integrations

\n\n

Output

\n\n

Packaging

\n\n

Parser

\n\n

Vim Plugin

\n\n

22.3.0

\n

Preview style

\n\n

Configuration

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.1.0&new-version=22.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-06-28T13:11:32Z", "updated_at": "2022-06-28T17:40:25Z", "closed_at": "2022-06-28T17:40:25Z", "merged_at": "2022-06-28T17:40:24Z", "merge_commit_sha": "9f1eb0d4eac483b953392157bd9fd6cc4df37de7", "assignee": null, "milestone": null, "draft": 0, "head": "fd6a817de499053c10c62139872486ef1698a481", "base": "00e59ec461dc0150772b999c7cc15fcb9b507d58", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1763", "merged_by": null, "auto_merge": null} {"id": 998860509, "node_id": "PR_kwDOBm6k_c47iWbd", "number": 1772, "state": "open", "locked": 0, "title": "Convert to setup.cfg", "user": {"value": 89725, "label": "kfdm"}, "body": "Recent versions of setuptools can run most things from setup.cfg so one can have a simpler version that does not require executing code on install.\r\n\r\nThe bulk of the changes were automated by running https://pypi.org/project/setup-py-upgrade/ with a few minor edits for the bits that it can not auto convert (the initial `get_long_description()` and `get_version()` can not be automatically converted)", "created_at": "2022-07-18T03:39:53Z", "updated_at": "2022-07-18T03:39:53Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "3abb0780f97901ae39f8a206c7c6d376f8574ffc", "assignee": null, "milestone": null, "draft": 0, "head": "c1b2f539c8d4cabe0a48d07bd8ce3fd1439a8f08", "base": "01369176b0a8943ab45292ffc6f9c929b80a00e8", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1772", "merged_by": null, "auto_merge": null} {"id": 782105066, "node_id": "PR_kwDOBm6k_c4unfnq", "number": 1512, "state": "closed", "locked": 0, "title": "New pattern for async view classes", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism.", "created_at": "2021-11-16T21:55:44Z", "updated_at": "2021-11-17T01:39:54Z", "closed_at": "2021-11-17T01:39:44Z", "merged_at": null, "merge_commit_sha": "fb57d4474cb1fdaef260e244b1b6f470f1992e40", "assignee": null, "milestone": null, "draft": 1, "head": "8f757da0750fe7f27b4ed3839bc3ef3650832ad9", "base": "0156c6b5e52d541e93f0d68e9245f20ae83bc933", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1512", "merged_by": null, "auto_merge": null} {"id": 782713972, "node_id": "PR_kwDOBm6k_c4up0R0", "number": 1514, "state": "closed", "locked": 0, "title": "Bump black from 21.9b0 to 21.11b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.11b0

\n

Black

\n\n

Integrations

\n\n

21.10b0

\n

Black

\n\n

Blackd

\n\n

Black-Primer

\n\n

Integrations

\n\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.11b0

\n

Black

\n\n

Integrations

\n\n

21.10b0

\n

Black

\n\n

Blackd

\n\n

Black-Primer

\n\n

Integrations

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.11b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-11-17T13:13:55Z", "updated_at": "2021-11-18T13:11:17Z", "closed_at": "2021-11-18T13:11:15Z", "merged_at": null, "merge_commit_sha": "348147b356cdd38cfdce412675a1d0865b93b3b1", "assignee": null, "milestone": null, "draft": 0, "head": "b02c35a00e2036ded2944890b04485213df4c8f4", "base": "0156c6b5e52d541e93f0d68e9245f20ae83bc933", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1514", "merged_by": null, "auto_merge": null} {"id": 783729324, "node_id": "PR_kwDOBm6k_c4utsKs", "number": 1516, "state": "closed", "locked": 0, "title": "Bump black from 21.9b0 to 21.11b1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b1.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.11b1

\n

Black

\n\n

21.11b0

\n

Black

\n\n

Integrations

\n\n

21.10b0

\n

Black

\n\n

Blackd

\n\n

Black-Primer

\n\n

Integrations

\n\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.11b1

\n

Black

\n\n

21.11b0

\n

Black

\n\n

Integrations

\n\n

21.10b0

\n

Black

\n\n

Blackd

\n\n

Black-Primer

\n\n

Integrations

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.11b1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-11-18T13:11:12Z", "updated_at": "2021-11-30T02:35:29Z", "closed_at": "2021-11-30T02:35:29Z", "merged_at": "2021-11-30T02:35:29Z", "merge_commit_sha": "cc4c70b3670ce2a85bb883b8d5626574590efe14", "assignee": null, "milestone": null, "draft": 0, "head": "a82c620b7a463a5dd4d585140ee955141ab96ca3", "base": "0156c6b5e52d541e93f0d68e9245f20ae83bc933", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1516", "merged_by": null, "auto_merge": null} {"id": 275801463, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz", "number": 447, "state": "closed", "locked": 0, "title": "Use dist: xenial and python: 3.7 on Travis", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-05-03T18:07:07Z", "updated_at": "2019-05-03T18:17:05Z", "closed_at": "2019-05-03T18:16:53Z", "merged_at": "2019-05-03T18:16:53Z", "merge_commit_sha": "553314dcd699a84aa7cc806377150ca0d57a6024", "assignee": null, "milestone": null, "draft": 0, "head": "cd22e389d09b4fd5ed28205ba38a20faf1ed14f1", "base": "01b3de5b66742f0f661183e9e2ef66be3600e831", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/447", "merged_by": null, "auto_merge": null} {"id": 266035382, "node_id": "MDExOlB1bGxSZXF1ZXN0MjY2MDM1Mzgy", "number": 424, "state": "closed", "locked": 0, "title": "Column types in inspected metadata", "user": {"value": 45057, "label": "russss"}, "body": "This PR does two things:\r\n\r\n* Adds the sqlite column type for each column to the inspected table info.\r\n* Stops binary columns from being rendered to HTML, unless a plugin handles it.\r\n\r\nThere's a bit more detail in the changeset descriptions.\r\n\r\nThese changes are intended as a precursor to a plugin which adds first-class support for Spatialite geographic primitives, and perhaps more useful geo-stuff.", "created_at": "2019-03-31T18:46:33Z", "updated_at": "2019-04-29T18:30:50Z", "closed_at": "2019-04-29T18:30:46Z", "merged_at": null, "merge_commit_sha": "a332d4e0b3fed7165a22880430664f1c3a00963d", "assignee": null, "milestone": null, "draft": 0, "head": "92e7b8c67fe5bcd484f19576f20c9235aca9050b", "base": "0209a0a344503157351e625f0629b686961763c9", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/424", "merged_by": null, "auto_merge": null} {"id": 841715204, "node_id": "PR_kwDOBm6k_c4yK44E", "number": 1631, "state": "closed", "locked": 0, "title": "Update pytest-asyncio requirement from <0.17,>=0.10 to >=0.10,<0.19", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n
\nRelease notes\n

Sourced from pytest-asyncio's releases.

\n
\n

pytest-asyncio 0.18.0

\n
\n

title: 'pytest-asyncio: pytest support for asyncio'

\n

\"image\"

\n

\"image\"

\n

\"image\"

\n

\"Supported

\n

\"image\"

\n

pytest-asyncio is an Apache2 licensed library, written in Python, for\ntesting asyncio code with pytest.

\n

asyncio code is usually written in the form of coroutines, which makes\nit slightly more difficult to test using normal testing tools.\npytest-asyncio provides useful fixtures and markers to make testing\neasier.

\n
@pytest.mark.asyncio\nasync def test_some_asyncio_code():\n    res = await library.do_something()\n    assert b"expected result" == res\n
\n

pytest-asyncio has been strongly influenced by\npytest-tornado.

\n

Features

\n\n

Installation

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-02-07T13:13:19Z", "updated_at": "2022-03-06T01:29:54Z", "closed_at": "2022-03-06T01:29:53Z", "merged_at": "2022-03-06T01:29:53Z", "merge_commit_sha": "a22ec96c3ac555337eb49121450723a273fb52d1", "assignee": null, "milestone": null, "draft": 0, "head": "62eed844d3514957e7578e6981c5cb49227e97f8", "base": "03305ea183b1534bc4cef3a721fe5f3700273b84", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1631", "merged_by": null, "auto_merge": null} {"id": 152870030, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUyODcwMDMw", "number": 104, "state": "closed", "locked": 0, "title": "[WIP] Add publish to heroku support", "user": {"value": 21148, "label": "jacobian"}, "body": "\r\n\r\nRefs #90 ", "created_at": "2017-11-15T19:56:22Z", "updated_at": "2017-11-21T20:55:05Z", "closed_at": "2017-11-21T20:55:05Z", "merged_at": "2017-11-21T20:55:05Z", "merge_commit_sha": "e47117ce1d15f11246a3120aa49de70205713d05", "assignee": null, "milestone": null, "draft": 0, "head": "de42240afd1e3829fd21cbe77a89ab0eaab20d78", "base": "0331666e346c68b86de4aa19fbb37f3a408d37ca", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/104", "merged_by": null, "auto_merge": null} {"id": 603082280, "node_id": "MDExOlB1bGxSZXF1ZXN0NjAzMDgyMjgw", "number": 1282, "state": "closed", "locked": 0, "title": "Fix little typo", "user": {"value": 192568, "label": "mroswell"}, "body": "", "created_at": "2021-03-29T19:45:28Z", "updated_at": "2021-03-29T19:57:34Z", "closed_at": "2021-03-29T19:57:34Z", "merged_at": "2021-03-29T19:57:34Z", "merge_commit_sha": "7b1a9a1999eb9326ce8ec830d75ac200e5279c46", "assignee": null, "milestone": null, "draft": 0, "head": "08f7427afcff69fa93ebaf5916588b5ad8bd4e0f", "base": "0486303b60ce2784fd2e2ecdbecf304b7d6e6659", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1282", "merged_by": null, "auto_merge": null} {"id": 872509423, "node_id": "PR_kwDOBm6k_c40AW_v", "number": 1649, "state": "closed", "locked": 0, "title": "Add /opt/homebrew to where spatialite extension can be found", "user": {"value": 2182, "label": "danp"}, "body": "Helps homebrew on Apple Silicon setups find spatialite without needing\r\na full path.\r\n\r\nSimilar to #1114", "created_at": "2022-03-06T18:09:35Z", "updated_at": "2022-03-06T22:46:00Z", "closed_at": "2022-03-06T19:39:15Z", "merged_at": "2022-03-06T19:39:15Z", "merge_commit_sha": "de810f49cc57a4f88e4a1553d26c579253ce4531", "assignee": null, "milestone": null, "draft": 0, "head": "59b2c16e3db10390b134673bda20045c351bdef8", "base": "0499f174c063283aa9b589d475a32077aaf7adc5", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1649", "merged_by": null, "auto_merge": null} {"id": 1497165426, "node_id": "PR_kwDOBm6k_c5ZPO5y", "number": 2166, "state": "closed", "locked": 0, "title": "Bump the python-packages group with 1 update", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps the python-packages group with 1 update: [sphinx](https://github.com/sphinx-doc/sphinx).\n\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.2.5

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 7.2.5 (released Aug 30, 2023)

\n

Bugs fixed

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=7.2.4&new-version=7.2.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2166.org.readthedocs.build/en/2166/\n\r\n", "created_at": "2023-08-31T13:19:57Z", "updated_at": "2023-09-06T16:34:32Z", "closed_at": "2023-09-06T16:34:31Z", "merged_at": "2023-09-06T16:34:31Z", "merge_commit_sha": "e4abae3fd7a828625d00c35c316852ffbaa5ef2f", "assignee": null, "milestone": null, "draft": 0, "head": "7c9df6e5499fdd06a2f5497d07052e23acd0ece7", "base": "05707aa16b5c6c39fbe48b3176b85a8ffe493938", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2166", "merged_by": null, "auto_merge": null} {"id": 1504915653, "node_id": "PR_kwDOBm6k_c5ZszDF", "number": 2174, "state": "open", "locked": 0, "title": "Use $DATASETTE_INTERNAL in absence of --internal", "user": {"value": 15178711, "label": "asg017"}, "body": "#refs 2157, specifically [this comment](https://github.com/simonw/datasette/issues/2157#issuecomment-1700291967)\r\n\r\nPassing in `--internal my_internal.db` over and over again can get repetitive. \r\n\r\nThis PR adds a new configurable env variable `DATASETTE_INTERNAL_DB_PATH`. If it's defined, then it takes place as the path to the internal database. Users can still overwrite this behavior by passing in their own `--internal internal.db` flag.\r\n\r\nIn draft mode for now, needs tests and documentation. \r\n\r\nSide note: Maybe we can have a sections in the docs that lists all the \"configuration environment variables\" that Datasette respects? I did a quick grep and found:\r\n\r\n- `DATASETTE_LOAD_PLUGINS`\r\n- `DATASETTE_SECRETS`\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2174.org.readthedocs.build/en/2174/\n\r\n", "created_at": "2023-09-06T16:07:15Z", "updated_at": "2023-09-08T00:46:13Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "0fc2896ffc5b49adba967a3d0ab8ac9ca119ba0e", "assignee": null, "milestone": null, "draft": 0, "head": "d75b51950f6836d6e5a58accb48b1d7687dbdd1c", "base": "05707aa16b5c6c39fbe48b3176b85a8ffe493938", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2174", "merged_by": null, "auto_merge": null} {"id": 1504918180, "node_id": "PR_kwDOBm6k_c5Zszqk", "number": 2175, "state": "closed", "locked": 0, "title": "Test against Python 3.12 preview", "user": {"value": 9599, "label": "simonw"}, "body": "https://dev.to/hugovk/help-test-python-312-beta-1508/\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2175.org.readthedocs.build/en/2175/\n\r\n", "created_at": "2023-09-06T16:09:05Z", "updated_at": "2023-09-06T16:16:28Z", "closed_at": "2023-09-06T16:16:27Z", "merged_at": "2023-09-06T16:16:27Z", "merge_commit_sha": "e86eaaa4f371512689e973c18879298dab51f80a", "assignee": null, "milestone": null, "draft": 0, "head": "21e77c3ff9e4aacaa9442a7b3b36aafd87025115", "base": "05707aa16b5c6c39fbe48b3176b85a8ffe493938", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2175", "merged_by": null, "auto_merge": null} {"id": 804924636, "node_id": "PR_kwDOBm6k_c4v-izc", "number": 1559, "state": "closed", "locked": 0, "title": "filters_from_request plugin hook, now used in TableView", "user": {"value": 9599, "label": "simonw"}, "body": "New plugin hook, refs #473\r\n\r\nUsed it to extract the logic from TableView that handles _search and\r\n_through and _where - refs #1518", "created_at": "2021-12-16T23:59:33Z", "updated_at": "2021-12-17T23:09:41Z", "closed_at": "2021-12-17T19:02:15Z", "merged_at": "2021-12-17T19:02:15Z", "merge_commit_sha": "aa7f0037a46eb76ae6fe9bf2a1f616c58738ecdf", "assignee": null, "milestone": null, "draft": 0, "head": "71af58d9392d42f45506cbc2370c1e9994126f63", "base": "0663d5525cc41e9260ac7d1f6386d3a6eb5ad2a9", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1559", "merged_by": null, "auto_merge": null} {"id": 805356220, "node_id": "PR_kwDOBm6k_c4wAMK8", "number": 1562, "state": "closed", "locked": 0, "title": "Update janus requirement from <0.8,>=0.6.2 to >=0.6.2,<1.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version.\n
\nRelease notes\n

Sourced from janus's releases.

\n
\n

janus 1.0.0 release

\n\n
\n
\n
\nChangelog\n

Sourced from janus's changelog.

\n
\n

1.0.0 (2021-12-17)

\n\n

0.7.0 (2021-11-24)

\n\n

0.6.2 (2021-10-24)

\n\n

0.6.1 (2020-10-26)

\n\n

0.6.0 (2020-10-10)

\n\n

0.5.0 (2020-04-23)

\n\n

0.4.0 (2018-07-28)

\n\n

0.3.2 (2018-07-06)

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-12-17T13:11:10Z", "updated_at": "2021-12-17T23:08:29Z", "closed_at": "2021-12-17T23:08:28Z", "merged_at": "2021-12-17T23:08:28Z", "merge_commit_sha": "35cba9e85a574cebf2986b64107fa84d02bd86ad", "assignee": null, "milestone": null, "draft": 0, "head": "2f008e88820d940facf6219c224def7729c81df1", "base": "0663d5525cc41e9260ac7d1f6386d3a6eb5ad2a9", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1562", "merged_by": null, "auto_merge": null} {"id": 152522762, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUyNTIyNzYy", "number": 89, "state": "closed", "locked": 0, "title": "SQL syntax highlighting with CodeMirror", "user": {"value": 15543, "label": "tomdyson"}, "body": "Addresses #13 \r\n\r\nFuture enhancements could include autocompletion of table and column names, e.g. with\r\n\r\n```javascript\r\nextraKeys: {\"Ctrl-Space\": \"autocomplete\"},\r\nhintOptions: {tables: {\r\n users: [\"name\", \"score\", \"birthDate\"],\r\n countries: [\"name\", \"population\", \"size\"]\r\n }}\r\n```\r\n\r\n(see https://codemirror.net/doc/manual.html#addon_sql-hint and source at http://codemirror.net/mode/sql/)", "created_at": "2017-11-14T14:43:33Z", "updated_at": "2017-11-15T02:03:01Z", "closed_at": "2017-11-15T02:03:01Z", "merged_at": "2017-11-15T02:03:01Z", "merge_commit_sha": "8252daa4c14d73b4b69e3f2db4576bb39d73c070", "assignee": null, "milestone": null, "draft": 0, "head": "7f6ad095e9c41bf24d73b7724d898965c419965b", "base": "075d422c0a1c70259188dfbd940538c67419694a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/89", "merged_by": null, "auto_merge": null} {"id": 152631570, "node_id": "MDExOlB1bGxSZXF1ZXN0MTUyNjMxNTcw", "number": 94, "state": "closed", "locked": 0, "title": "Initial add simple prod ready Dockerfile refs #57", "user": {"value": 247192, "label": "macropin"}, "body": "Multi-stage build based off official python:3.6-slim\r\n\r\nExample usage:\r\n```\r\ndocker run --rm -t -i -p 9000:8001 -v $(pwd)/db:/db datasette datasette serve /db/chinook.db\r\n```", "created_at": "2017-11-14T22:09:09Z", "updated_at": "2017-11-15T03:08:04Z", "closed_at": "2017-11-15T03:08:04Z", "merged_at": "2017-11-15T03:08:04Z", "merge_commit_sha": "86755503d26b4a83c2ec59f08ec1b8de791fd954", "assignee": null, "milestone": null, "draft": 0, "head": "147195c2fdfa2b984d8f9fc1c6cab6634970a056", "base": "075d422c0a1c70259188dfbd940538c67419694a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/94", "merged_by": null, "auto_merge": null} {"id": 560760145, "node_id": "MDExOlB1bGxSZXF1ZXN0NTYwNzYwMTQ1", "number": 1204, "state": "open", "locked": 0, "title": "WIP: Plugin includes", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #1191\r\n\r\nNext steps:\r\n\r\n- [ ] Get comfortable that this pattern is the right way to go\r\n- [ ] Implement it for all of the other pages, not just the table page\r\n- [ ] Add a new set of plugin tests that exercise ALL of these new hook locations\r\n- [ ] Document, then ship", "created_at": "2021-01-25T03:59:06Z", "updated_at": "2021-12-17T07:10:49Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "98f06a766317a40035962416cf3211d7a374866a", "assignee": null, "milestone": null, "draft": 1, "head": "05258469ae39bcaad17beb57c5b7eeab0d58a589", "base": "07e163561592c743e4117f72102fcd350a600909", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1204", "merged_by": null, "auto_merge": null} {"id": 1451100029, "node_id": "PR_kwDOBm6k_c5Wfgd9", "number": 2118, "state": "closed", "locked": 0, "title": "New JSON design for query views", "user": {"value": 9599, "label": "simonw"}, "body": "WIP. Refs:\r\n- #2109 \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2118.org.readthedocs.build/en/2118/\n\r\n", "created_at": "2023-07-26T23:29:21Z", "updated_at": "2023-08-08T01:47:40Z", "closed_at": "2023-08-08T01:47:39Z", "merged_at": "2023-08-08T01:47:39Z", "merge_commit_sha": "1377a290cd85ba8d3338b1da47c4665ed4c6c625", "assignee": null, "milestone": {"value": 9700784, "label": "Datasette 1.0a3"}, "draft": 0, "head": "8b1dea3c0994d5875e372965eb5ca388ea08fe6a", "base": "08181823990a71ffa5a1b57b37259198eaa43e06", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2118", "merged_by": null, "auto_merge": null} {"id": 1452025020, "node_id": "PR_kwDOBm6k_c5WjCS8", "number": 2121, "state": "closed", "locked": 0, "title": "Bump furo from 2023.3.27 to 2023.7.26", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.7.26.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.07.26 -- Vigilant Volt

\n\n

2023.05.20 -- Unassuming Ultramarine

\n\n

2023.03.27 -- Tasty Tangerine

\n\n

2023.03.23 -- Sassy Saffron

\n\n

2022.12.07 -- Reverent Raspberry

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2023.3.27&new-version=2023.7.26)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2121.org.readthedocs.build/en/2121/\n\r\n", "created_at": "2023-07-27T13:40:48Z", "updated_at": "2023-08-07T16:20:23Z", "closed_at": "2023-08-07T16:20:20Z", "merged_at": null, "merge_commit_sha": "07e16b8e61eec383455354cbf06d651982cfbaa6", "assignee": null, "milestone": null, "draft": 0, "head": "3aca01f4eefc9d3ee542f86c62d645cbfc921a36", "base": "08181823990a71ffa5a1b57b37259198eaa43e06", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2121", "merged_by": null, "auto_merge": null} {"id": 1453826540, "node_id": "PR_kwDOBm6k_c5Wp6Hs", "number": 2124, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 7.1.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.1.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.1.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

Sphinx 7.1.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.0rc1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v6.2.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v6.2.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 7.1.1 (released Jul 27, 2023)

\n

Bugs fixed

\n\n

Release 7.1.0 (released Jul 24, 2023)

\n

Incompatible changes

\n\n

Deprecated

\n\n

Features added

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=7.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2124.org.readthedocs.build/en/2124/\n\r\n", "created_at": "2023-07-28T13:23:11Z", "updated_at": "2023-08-02T13:28:47Z", "closed_at": "2023-08-02T13:28:44Z", "merged_at": null, "merge_commit_sha": "e5b1bd91510894ff22786ab901a0ef710617a866", "assignee": null, "milestone": null, "draft": 0, "head": "9388102394e7786368ea71b17cac12cf5b80b695", "base": "08181823990a71ffa5a1b57b37259198eaa43e06", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2124", "merged_by": null, "auto_merge": null} {"id": 1459796407, "node_id": "PR_kwDOBm6k_c5XArm3", "number": 2125, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 7.1.2", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.2.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.1.2

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

Sphinx 7.1.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

Sphinx 7.1.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.0rc1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v6.2.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v6.2.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 7.1.2 (released Aug 02, 2023)

\n

Bugs fixed

\n\n

Release 7.1.1 (released Jul 27, 2023)

\n

Bugs fixed

\n\n

Release 7.1.0 (released Jul 24, 2023)

\n

Incompatible changes

\n\n

Deprecated

\n\n

Features added

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=7.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2125.org.readthedocs.build/en/2125/\n\r\n", "created_at": "2023-08-02T13:28:39Z", "updated_at": "2023-08-07T16:20:30Z", "closed_at": "2023-08-07T16:20:27Z", "merged_at": null, "merge_commit_sha": "96d7583ba0fe56f75303b9fee388d1852cfb89a3", "assignee": null, "milestone": null, "draft": 0, "head": "730f554ba714b01be1fe2011ab2a6612bbaca0da", "base": "08181823990a71ffa5a1b57b37259198eaa43e06", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2125", "merged_by": null, "auto_merge": null} {"id": 1040691996, "node_id": "PR_kwDOCGYnMM4-B7Mc", "number": 480, "state": "closed", "locked": 0, "title": "search_sql add include_rank option", "user": {"value": 7908073, "label": "chapmanjacobd"}, "body": "I haven't tested this yet but wanted to get a heads-up whether this kind of change would be useful or if I should just duplicate the function and tweak it within my code\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--480.org.readthedocs.build/en/480/\n\r\n", "created_at": "2022-08-30T09:10:29Z", "updated_at": "2022-08-31T03:40:35Z", "closed_at": "2022-08-31T03:40:35Z", "merged_at": "2022-08-31T03:40:35Z", "merge_commit_sha": "ecf1d40112e52a8f4e509c39b98caae996b7bc36", "assignee": null, "milestone": null, "draft": 0, "head": "3dbfca6fdd878ba381f83157fdae2042eeaed371", "base": "087753cd42c406f1e060c1822dcd9b5fda3d60f4", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/480", "merged_by": null, "auto_merge": null} {"id": 1445438054, "node_id": "PR_kwDOCGYnMM5WJ6Jm", "number": 573, "state": "closed", "locked": 0, "title": "feat: Implement a prepare_connection plugin hook", "user": {"value": 15178711, "label": "asg017"}, "body": "Just like the [Datasette prepare_connection hook](https://docs.datasette.io/en/stable/plugin_hooks.html#prepare-connection-conn-database-datasette), this PR adds a similar hook for the `sqlite-utils` plugin system. \r\n\r\nThe sole argument is `conn`, since I don't believe a `database` or `datasette` argument would be relevant here. \r\n\r\nI want to do this so I can release `sqlite-utils` plugins for my [SQLite extensions](https://github.com/asg017/sqlite-ecosystem), similar to the Datasette plugins I've release for them. \r\n\r\nAn example plugin: https://gist.github.com/asg017/d7cdf0d56e2be87efda28cebee27fa3c\r\n\r\n```bash\r\n$ sqlite-utils install https://gist.github.com/asg017/d7cdf0d56e2be87efda28cebee27fa3c/archive/5f5ad549a40860787629c69ca120a08c32519e99.zip\r\n\r\n$ sqlite-utils memory 'select hello(\"alex\") as response'\r\n[{\"response\": \"Hello, alex!\"}]\r\n```\r\nRefs:\r\n- #574 \r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://sqlite-utils--573.org.readthedocs.build/en/573/\r\n\r\n", "created_at": "2023-07-22T22:48:44Z", "updated_at": "2023-07-22T22:59:09Z", "closed_at": "2023-07-22T22:59:09Z", "merged_at": "2023-07-22T22:59:09Z", "merge_commit_sha": "3f80a026983d3e634f05a46f2a6da162b5139dd9", "assignee": null, "milestone": null, "draft": 0, "head": "faf398fe075f60929337d3cd0f12309fc4229a3c", "base": "091c63cfbf7b40e99e2017a3c37619c7689cc447", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/573", "merged_by": null, "auto_merge": null} {"id": 583407989, "node_id": "MDExOlB1bGxSZXF1ZXN0NTgzNDA3OTg5", "number": 244, "state": "closed", "locked": 0, "title": "Typo in upsert example", "user": {"value": 387669, "label": "j-e-d"}, "body": "Remove extra `[`", "created_at": "2021-03-02T23:14:14Z", "updated_at": "2021-05-19T02:58:21Z", "closed_at": "2021-05-19T02:58:21Z", "merged_at": "2021-05-19T02:58:21Z", "merge_commit_sha": "328211eaca1247cd6b33a2c0a54642f87866d85b", "assignee": null, "milestone": null, "draft": 0, "head": "1899200fa5a43f638573ea2c483df62819ba53b1", "base": "09c3386f55f766b135b6a1c00295646c4ae29bec", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/244", "merged_by": null, "auto_merge": null} {"id": 346264926, "node_id": "MDExOlB1bGxSZXF1ZXN0MzQ2MjY0OTI2", "number": 67, "state": "closed", "locked": 0, "title": "Run tests against 3.5 too", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-11-27T14:20:35Z", "updated_at": "2019-12-31T01:29:44Z", "closed_at": "2019-12-31T01:29:43Z", "merged_at": null, "merge_commit_sha": "88375b0bc055067b996584f06ed85a9a90c5aa1a", "assignee": null, "milestone": null, "draft": 0, "head": "4c6e5a4486e0e17555774eb3279142234a8b4abc", "base": "0a0cec3cf27861455e8cd1c4d84937825a18bb30", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/67", "merged_by": null, "auto_merge": null} {"id": 608334096, "node_id": "MDExOlB1bGxSZXF1ZXN0NjA4MzM0MDk2", "number": 1291, "state": "closed", "locked": 0, "title": "Update docs: explain allow_download setting", "user": {"value": 5413548, "label": "louispotok"}, "body": "This fixes one possible source of confusion seen in #502 and clarifies\r\nwhen database downloads will be shown and allowed.", "created_at": "2021-04-03T05:28:33Z", "updated_at": "2021-06-05T19:48:51Z", "closed_at": "2021-06-05T19:48:51Z", "merged_at": "2021-06-05T19:48:51Z", "merge_commit_sha": "368aa5f1b16ca35f82d90ff747023b9a2bfa27c1", "assignee": null, "milestone": null, "draft": 0, "head": "9bf089faded74c96aced22332008126324a37f7a", "base": "0a7621f96f8ad14da17e7172e8a7bce24ef78966", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1291", "merged_by": null, "auto_merge": null} {"id": 618011977, "node_id": "MDExOlB1bGxSZXF1ZXN0NjE4MDExOTc3", "number": 1303, "state": "closed", "locked": 0, "title": "Update pytest-asyncio requirement from <0.15,>=0.10 to >=0.10,<0.16", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2021-04-19T13:49:12Z", "updated_at": "2021-04-19T18:18:17Z", "closed_at": "2021-04-19T18:18:17Z", "merged_at": "2021-04-19T18:18:17Z", "merge_commit_sha": "6ed9238178a56da5fb019f37fb1e1e15886be1d1", "assignee": null, "milestone": null, "draft": 0, "head": "c348ff1ecee0d831a75b17e3f48bcf0a8a558566", "base": "0a7621f96f8ad14da17e7172e8a7bce24ef78966", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1303", "merged_by": null, "auto_merge": null} {"id": 205770996, "node_id": "MDExOlB1bGxSZXF1ZXN0MjA1NzcwOTk2", "number": 1, "state": "closed", "locked": 0, "title": "Make .indexes compatible with older SQLite versions", "user": {"value": 9599, "label": "simonw"}, "body": "Older SQLite versions return a different set of columns from the PRAGMA we are using.", "created_at": "2018-08-02T15:17:05Z", "updated_at": "2018-08-02T15:17:30Z", "closed_at": "2018-08-02T15:17:30Z", "merged_at": "2018-08-02T15:17:30Z", "merge_commit_sha": "741e8f7fe563e18fe9a12ac1ce38157e8c903505", "assignee": null, "milestone": null, "draft": 0, "head": "9e674311065b8372f0a93becc8e7357ceffd353b", "base": "0aa28293adedc488eb9107dc52b5e9a124887fbd", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/1", "merged_by": null, "auto_merge": null} {"id": 1220379312, "node_id": "PR_kwDOBm6k_c5IvYKw", "number": 2008, "state": "open", "locked": 0, "title": "array facet: don't materialize unnecessary columns", "user": {"value": 193185, "label": "cldellow"}, "body": "The presence of `inner.*` causes SQLite to materialize a row with all the columns. Those columns will be discarded later.\r\n\r\nInstead, we can select only the column we'll use. This lets SQLite's optimizer realize that the other columns in the CTE definition aren't needed.\r\n\r\nOn a test table with 278K rows, 98K of which had an array, this speeds up the facet calculation from 4 sec to 1 sec.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2008.org.readthedocs.build/en/2008/\n\r\n", "created_at": "2023-01-28T19:33:40Z", "updated_at": "2023-01-29T18:17:40Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "0eda5a57ead9bda8be4c9e5cd2fdb9f22e69222e", "assignee": null, "milestone": null, "draft": 0, "head": "f529a3001d35a114d2e622dcc7913c4c25a95ed8", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2008", "merged_by": null, "auto_merge": null} {"id": 1224851890, "node_id": "PR_kwDOBm6k_c5JAcGy", "number": 2014, "state": "closed", "locked": 0, "title": "Bump black from 22.12.0 to 23.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.1.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.1.0

\n

Highlights

\n

This is the first release of 2023, and following our stability policy, it comes with a number of improvements to our stable style, notably improvements to empty line handling and the removal of redundant parentheses in several contexts.

\n

There are also many changes to the preview style; try out black --preview and give us feedback to help us set the stable style for next year.

\n

In addition to style changes, Black now automatically infers the supported Python versions from your pyproject.toml file, removing the need to set Black's target versions separately.

\n

Stable style

\n\n\n

Preview style

\n\n\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.1.0

\n

Highlights

\n

This is the first release of 2023, and following our\nstability policy,\nit comes with a number of improvements to our stable style, including improvements to\nempty line handling, removal of redundant parentheses in several contexts, and output\nthat highlights implicitly concatenated strings better.

\n

There are also many changes to the preview style; try out black --preview and give us\nfeedback to help us set the stable style for next year.

\n

In addition to style changes, Black now automatically infers the supported Python\nversions from your pyproject.toml file, removing the need to set Black's target\nversions separately.

\n

Stable style

\n\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.12.0&new-version=23.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2014.org.readthedocs.build/en/2014/\n\r\n", "created_at": "2023-02-01T13:06:16Z", "updated_at": "2023-03-29T06:09:14Z", "closed_at": "2023-03-29T06:09:12Z", "merged_at": null, "merge_commit_sha": "38f5695c85ee073f2405dfe89d6ff798b01222f8", "assignee": null, "milestone": null, "draft": 0, "head": "c631684bc7bde78f77a564b337d2e2e6e87cfa7e", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2014", "merged_by": null, "auto_merge": null} {"id": 1238017010, "node_id": "PR_kwDOBm6k_c5JyqPy", "number": 2025, "state": "open", "locked": 0, "title": "Add database metadata to index.html template context", "user": {"value": 9993, "label": "palewire"}, "body": "Fixes #2016 \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2025.org.readthedocs.build/en/2025/\n\r\n", "created_at": "2023-02-12T11:16:58Z", "updated_at": "2023-02-12T11:17:14Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "a2d3bb02cf2c9b8ed7c788910fdda606108cd584", "assignee": null, "milestone": null, "draft": 0, "head": "912ed9de92d1bb9a28f50a2e08c5e7df2b827c15", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2025", "merged_by": null, "auto_merge": null} {"id": 1243080434, "node_id": "PR_kwDOBm6k_c5KF-by", "number": 2026, "state": "open", "locked": 0, "title": "Avoid repeating primary key columns if included in _col args", "user": {"value": 8513, "label": "runderwood"}, "body": "...while maintaining given order.\r\n\r\nFixes #1975 (if I'm understanding correctly).\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2026.org.readthedocs.build/en/2026/\n\r\n", "created_at": "2023-02-16T04:16:25Z", "updated_at": "2023-02-16T04:16:41Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "ad2bfc72186e7af2244a6f27e02754f4c2f64910", "assignee": null, "milestone": null, "draft": 0, "head": "f15adf1d6211e05250e5492826dd3f8e8e328077", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2026", "merged_by": null, "auto_merge": null} {"id": 1246416723, "node_id": "PR_kwDOBm6k_c5KSs9T", "number": 2028, "state": "closed", "locked": 0, "title": "add Python 3.11 classifier", "user": {"value": 614233, "label": "dtrodrigues"}, "body": "Python 3.11 is tested in CI and is used in the docker image, so add the Python 3.11 Trove classifier.\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://datasette--2028.org.readthedocs.build/en/2028/\r\n\r\n", "created_at": "2023-02-19T20:16:03Z", "updated_at": "2023-03-06T21:01:20Z", "closed_at": "2023-03-06T21:01:19Z", "merged_at": "2023-03-06T21:01:19Z", "merge_commit_sha": "a53b893c46453f35decc8c145c138671cee6140c", "assignee": null, "milestone": null, "draft": 0, "head": "a8dde133f996099be9bc927c013d853dd10cd54f", "base": "0b4a28691468b5c758df74fa1d72a823813c96bf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2028", "merged_by": null, "auto_merge": null} {"id": 1167432070, "node_id": "PR_kwDOBm6k_c5FlZmG", "number": 1960, "state": "closed", "locked": 0, "title": "Port as many tests as possible to async def tests against ds_client", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #1959\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1960.org.readthedocs.build/en/1960/\n\r\n", "created_at": "2022-12-15T21:45:53Z", "updated_at": "2022-12-17T21:47:56Z", "closed_at": "2022-12-17T21:47:55Z", "merged_at": "2022-12-17T21:47:55Z", "merge_commit_sha": "89cffcf14cda830871c8ee81742eaa1e2dff017b", "assignee": null, "milestone": null, "draft": 0, "head": "f42bca8fc2657cecde05eca644c28fac7c28101f", "base": "0b68996cc511b3a801f0cd0157bd66332d75f46f", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1960", "merged_by": null, "auto_merge": null} {"id": 1167644140, "node_id": "PR_kwDOBm6k_c5FmNXs", "number": 1961, "state": "closed", "locked": 0, "title": "Use click.echo() instead of print() for --root option", "user": {"value": 9599, "label": "simonw"}, "body": "This ensures the URL is output correctly when running under Docker.\r\n\r\nCloses #1958\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1961.org.readthedocs.build/en/1961/\n\r\n", "created_at": "2022-12-16T00:54:56Z", "updated_at": "2022-12-16T00:55:19Z", "closed_at": "2022-12-16T00:55:18Z", "merged_at": "2022-12-16T00:55:18Z", "merge_commit_sha": "013496862f4d4b441ab61255242b838b24287607", "assignee": null, "milestone": null, "draft": 0, "head": "06d20c792f8c872118edd84973308fb3e5137b5e", "base": "0b68996cc511b3a801f0cd0157bd66332d75f46f", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1961", "merged_by": null, "auto_merge": null} {"id": 645100848, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQ1MTAwODQ4", "number": 12, "state": "open", "locked": 0, "title": "Recovering of malformed ENEX file", "user": {"value": 8431437, "label": "engdan77"}, "body": "Hey .. Awesome work developing this project, that I found very useful to me and saved me some work.. Thanks.. :)\r\n\r\nSome background to this PR... \r\nI've been searching around for a tool allowing me to transforming my personal collection of Evernote notes to a format easier to search and potentially easier import to future services. \r\n\r\nNow I discovered problem processing my large data ~5GB using the existing source using Pythons builtin xml-parser that unfortunately was unable to succeed without exception breaking the process. \r\n\r\nMy first attempt I tried to adapt to more robust lxml package allowing huge data and with \"recover\", but even if it worked better it also failed processing the whole data. Even using the memory efficient etree.iterparse() it also unfortunately got into trouble.\r\n\r\nAnd with no luck finding any other libraries successfully parsing this enormous file I instead chose to build a \"hugexmlparser\" module that allows parsing this huge file using yield (on a byte-to-byte-level) and allows you to set a maximum size for to cater for potential malformed or undesirable large attachments to export, should succeed covering potential exceptions. Some cases found where the parses discover malformed XML within so also in those cases try to save as much as possible by escaping (to be dealt at a later stage, better than nothing), and if a missing end before new (malformed?) it would add this after encounter a new start-tag.\r\n\r\nThe code for the recovery process is a bit rough and for certain room for refactoring, but at the moment is seem to achieve what I wanted.\r\n\r\nNow with the above we pass this a minor changed version of save_note_recovery() assure the existing works.\r\nAlso adding this as a new recover-enex command to click and kept the original options. \r\nA couple of new tests was added as well to check against using this command.\r\n\r\nNow this currently works to me, but thought I might share a PR in such as you find use for this yourself or found useful to others finding this repository.\r\n\r\nAs a second step .. When the time allows it would have been nice to also be able to easily export from SQLite to formatted HTML/MD and attachments saved... but that might perhaps be better a separate project ... or if you or someone else have something that might shared to save some trouble, I would be interested ;-) ", "created_at": "2021-05-15T07:49:31Z", "updated_at": "2021-05-15T19:57:50Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "95f21ca163606db74babd036e6fa44b7d484d137", "assignee": null, "milestone": null, "draft": 0, "head": "a5839dadaa43694f208ad74a53670cebbe756956", "base": "0bc6ba503eecedb947d2624adbe1327dd849d7fe", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 303218369, "label": "evernote-to-sqlite"}, "url": "https://github.com/dogsheep/evernote-to-sqlite/pull/12", "merged_by": null, "auto_merge": null} {"id": 539489525, "node_id": "MDExOlB1bGxSZXF1ZXN0NTM5NDg5NTI1", "number": 1145, "state": "closed", "locked": 0, "title": "Update pytest requirement from <6.2.0,>=5.2.2 to >=5.2.2,<6.3.0", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version.\n
\nRelease notes\n

Sourced from pytest's releases.

\n
\n

6.2.0

\n

pytest 6.2.0 (2020-12-12)

\n

Breaking Changes

\n\n

Deprecations

\n\n

Features

\n\n\n
\n
\n
\nChangelog\n

Sourced from pytest's changelog.

\n
\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2020-12-14T14:22:16Z", "updated_at": "2021-01-24T21:20:29Z", "closed_at": "2020-12-16T21:44:39Z", "merged_at": "2020-12-16T21:44:39Z", "merge_commit_sha": "6119bd797366a899119f1bba51c1c8cba2efc8fc", "assignee": null, "milestone": {"value": 6346396, "label": "Datasette 0.54"}, "draft": 0, "head": "a8588f95568138c268e6802de0d1a4daffb7bda8", "base": "0c616f732cee79db80cad830917666f41b344262", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1145", "merged_by": null, "auto_merge": null} {"id": 492257405, "node_id": "MDExOlB1bGxSZXF1ZXN0NDkyMjU3NDA1", "number": 174, "state": "closed", "locked": 0, "title": "Much, much faster extract() implementation", "user": {"value": 9599, "label": "simonw"}, "body": "Takes my test down from ten minutes to four seconds. Refs #172.", "created_at": "2020-09-24T07:52:31Z", "updated_at": "2020-09-24T15:44:00Z", "closed_at": "2020-09-24T15:43:56Z", "merged_at": "2020-09-24T15:43:56Z", "merge_commit_sha": "022cdd97a9ddab1a152e23e1e1c42e78c1ed0fa9", "assignee": null, "milestone": null, "draft": 0, "head": "227095ee90e2a92effec6478d3e629a24d3ccfba", "base": "0ca5585fcb834122193e8e7186f926217b23cb8a", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/174", "merged_by": null, "auto_merge": null} {"id": 754942128, "node_id": "PR_kwDOBm6k_c4s_4Cw", "number": 1484, "state": "closed", "locked": 0, "title": "GitHub Actions: Add Python 3.10 to the tests", "user": {"value": 3709715, "label": "cclauss"}, "body": null, "created_at": "2021-10-11T06:03:03Z", "updated_at": "2021-10-11T06:03:31Z", "closed_at": "2021-10-11T06:03:28Z", "merged_at": null, "merge_commit_sha": "69027b8c3e0e2236acd817a6fa5d32f762e3e9aa", "assignee": null, "milestone": null, "draft": 0, "head": "02c3218ca093df8b595d8ba7d88a32a0207b6385", "base": "0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1484", "merged_by": null, "auto_merge": null} {"id": 755269892, "node_id": "PR_kwDOBm6k_c4tBIEE", "number": 1485, "state": "closed", "locked": 0, "title": "Update pytest-timeout requirement from <1.5,>=1.4.2 to >=1.4.2,<2.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) to permit the latest version.\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-10-11T13:10:51Z", "updated_at": "2021-10-13T21:09:23Z", "closed_at": "2021-10-13T21:09:23Z", "merged_at": "2021-10-13T21:09:23Z", "merge_commit_sha": "759fd97a54638c1a5e2cac65bac0ac7c07ce2305", "assignee": null, "milestone": null, "draft": 0, "head": "be9aed9f29182a075429ee518002f9c480b5d4e1", "base": "0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1485", "merged_by": null, "auto_merge": null} {"id": 755729137, "node_id": "PR_kwDOBm6k_c4tC4Lx", "number": 1487, "state": "closed", "locked": 0, "title": "Added instructions for installing plugins via pipx, #1486", "user": {"value": 41546558, "label": "RhetTbull"}, "body": "Adds missing instructions for installing plugins via pipx", "created_at": "2021-10-12T00:48:30Z", "updated_at": "2021-10-13T21:09:11Z", "closed_at": "2021-10-13T21:09:10Z", "merged_at": "2021-10-13T21:09:10Z", "merge_commit_sha": "68087440b3448633a62807c1623559619584f2ee", "assignee": null, "milestone": null, "draft": 0, "head": "4909d5814494dcae77a851905bfc392c70f60d60", "base": "0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1487", "merged_by": null, "auto_merge": null} {"id": 195413241, "node_id": "MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx", "number": 315, "state": "closed", "locked": 0, "title": "Streaming mode for downloading all rows as a CSV", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #266", "created_at": "2018-06-18T03:06:59Z", "updated_at": "2018-06-18T03:29:13Z", "closed_at": "2018-06-18T03:21:02Z", "merged_at": "2018-06-18T03:21:02Z", "merge_commit_sha": "fc3660cfad7668dbce6ead12766e048fc1f78b11", "assignee": null, "milestone": null, "draft": 0, "head": "b15f412e04ce9ff21983986e661fbe4396f97b43", "base": "0d7ba1ba676828dc7c8dda78ebe7921f7986fc18", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/315", "merged_by": null, "auto_merge": null} {"id": 672053811, "node_id": "MDExOlB1bGxSZXF1ZXN0NjcyMDUzODEx", "number": 65, "state": "open", "locked": 0, "title": "basic support for events", "user": {"value": 231498, "label": "khimaros"}, "body": "a quick first pass at implementing the feature requested in https://github.com/dogsheep/github-to-sqlite/issues/64\r\n\r\ntesting instructions:\r\n\r\n```\r\n$ github-to-sqlite events events.db user/khimaros\r\n```\r\n\r\nif the specified user is the authenticated user, it will also include private events.\r\n\r\ncaveat: pagination appears to be broken (i don't see `next` in the response JSON from GitHub)", "created_at": "2021-06-17T00:51:30Z", "updated_at": "2022-10-03T22:35:03Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "0a252a06a15e307c8a67b2e0aac0907e2566bf19", "assignee": null, "milestone": null, "draft": 0, "head": "82da9f91deda81d92ec64c9eda960aa64340c169", "base": "0e45b72312a0756e5a562effbba08cb8de1e480b", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "url": "https://github.com/dogsheep/github-to-sqlite/pull/65", "merged_by": null, "auto_merge": null} {"id": 308292447, "node_id": "MDExOlB1bGxSZXF1ZXN0MzA4MjkyNDQ3", "number": 55, "state": "closed", "locked": 0, "title": "Ability to introspect and run queries against views", "user": {"value": 9599, "label": "simonw"}, "body": "See #54 ", "created_at": "2019-08-17T13:40:56Z", "updated_at": "2019-08-23T12:19:42Z", "closed_at": "2019-08-23T12:19:42Z", "merged_at": "2019-08-23T12:19:42Z", "merge_commit_sha": "9faa98222669723d31e918bb16a42c13c363817f", "assignee": null, "milestone": null, "draft": 0, "head": "4441d6d838fd7518ce715184361f549a04ec8b70", "base": "0e7b461eb3e925aef713206c15794ceae9259c57", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/55", "merged_by": null, "auto_merge": null} {"id": 1299206303, "node_id": "PR_kwDOBm6k_c5NcFCf", "number": 2052, "state": "closed", "locked": 0, "title": "feat: Javascript Plugin API (Custom panels, column menu items with JS actions)", "user": {"value": 9020979, "label": "hydrosquall"}, "body": "## Motivation\r\n\r\n- Allow plugins that add data visualizations [`datasette-vega`](https://github.com/simonw/datasette-vega), [`datasette-leaflet`](https://github.com/simonw/datasette-leaflet), and [`datasette-nteract-data-explorer`](https://github.com/hydrosquall/datasette-nteract-data-explorer) to co-exist safely\r\n- Standardize APIs / hooks to ease development for new JS plugin developers (better compat with datasette-lite) through standardized DOM selectors, methods for extending the existing Table UI. This has come up as a feature request several times (see research notes for examples)\r\n- Discussion w/ @simonw about a general-purpose Datasette JS API\r\n\r\n## Changes\r\n\r\nSummary: Provide 2 new surface areas for Datasette JS plugin developers. See alpha [documentation](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423051)\r\n\r\n1. Custom column header items: \r\n2. Basic \"panels\" controlled by buttons: \r\n\r\n### User Facing Changes\r\n\r\n- Allow creating menu items under table header that triggers JS (instead of opening hrefs per the existing [menu_link](https://docs.datasette.io/en/stable/plugin_hooks.html#menu-links-datasette-actor-request) hook). Items can respond to any column metadata provided by the column header (e.g. label). The proof of concept plugins log data to the console, or copy the column name to clipboard.\r\n- Allow plugins to register UI elements in a panel controller. The parent component handles switching the visibility of active plugins.\r\n - Because native button elements are used, the panel is keyboard-accessible - use tab / shift-tab to cycle through tab options, and `enter` to select.\r\n - There's room to improve the styling, but the focus of this PR is on the API rather than the UX.\r\n\r\n### (plugin) Developer Facing Changes\r\n\r\n- Dispatch a `datasette_init` [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent) when the `datasetteManager` is finished loading.\r\n- Provide `manager.registerPlugin` API for adding new functionality that coordinates with Datasette lifecycle events.\r\n- Provide a `manager.selectors` map of DOM elements that users may want to hook into.\r\n - Updated `table.js` to use refer to these to motivating keeping things in sync\r\n- Allow plugins to register themselves with 2 hooks:\r\n - `makeColumnActions`: Add items to menu in table column headers. Users can provide a `label`, and either `href` or `onClick` with full access to the metadata for the clicked column (name, type, misc. booleans)\r\n - `makeAboveTablePanelConfigs`: Add items to the panel. Each panel has a unique ID (namespaced within that plugin), a render function, and a string label.\r\n\r\nSee [this file](https://github.com/simonw/datasette/blob/2d92b9328022d86505261bcdac419b6ed9cb2236/datasette/static/table-example-plugins.js) for example plugin usage.\r\n\r\n### Core Developer Facing Changes\r\n\r\n- Modified `table.js` to make use of the `datasetteManager` API.\r\n- Added example plugins to the `demos/plugins` folder, and stored the test js in the `statics/` folder\r\n\r\n## Testing\r\n\r\nFor Datasette plugin developers, please see the [alpha-level documentation](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423051) .\r\n\r\nTo run the examples:\r\n\r\n```bash\r\ndatasette serve fixtures.db --plugins-dir=demos/plugins/\r\n```\r\n\r\nOpen local server: `http://127.0.0.1:8001/fixtures/facetable`\r\n\r\nOpen to all feedback on this PR, from API design to variable naming, to what additional hooks might be useful for the future.\r\n\r\nMy focus was more on the general shape of the API for developers, rather than on the UX of the test plugins.\r\n\r\n## Design notes\r\n\r\n- The manager tab panel could be a separate plugin if the implementation is too custom.\r\n- The `makeColumnHeaderItems` benefits from hooking into the logic of `table.js`\r\n- I wanted to offer this to the Datasette core, since the `datasette-manager` would be more powerful if it were connected to lifecycle and JS events that are part of the existing table.js.\r\n- Non-goals:\r\n - Dependency management (for now) - there's no \"build\" step, we don't know when new plugins will be added. While there are some valid use cases (for example, allow multiple plugins to wait for a global leaflet object to be loaded), I don't see enough use-cases to justify doing this yet.\r\n - Enabling single-page-app features - for now, most datasette actions lead to a new page being loaded. SPA development offers some benefits (no page jumping after clicking on a link), but also complexity that doesn't need to be in the core Datasette project.\r\n\r\n## Research Notes\r\n\r\n- Relocated to a [comment](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423215), as this isn't required to review when evaluating the plugin. Including it just for those who are curious.\r\n", "created_at": "2023-04-02T20:23:44Z", "updated_at": "2023-10-14T17:49:03Z", "closed_at": "2023-10-13T00:00:27Z", "merged_at": "2023-10-13T00:00:27Z", "merge_commit_sha": "452a587e236ef642cbc6ae345b58767ea8420cb5", "assignee": {"value": 9599, "label": "simonw"}, "milestone": null, "draft": 0, "head": "8ae479c4775125f59f2367626fd32f3229c1135d", "base": "0f7192b6154edb576c41b55bd3f2a3f53e5f436a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2052", "merged_by": null, "auto_merge": null} {"id": 1429431050, "node_id": "PR_kwDOBm6k_c5VM2MK", "number": 2099, "state": "closed", "locked": 0, "title": "Bump black from 23.3.0 to 23.7.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 23.3.0 to 23.7.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.7.0

\n

Highlights

\n
    \n
  • Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be\nsupported until further notice (#3765)
  • \n
\n

Stable style

\n
    \n
  • Fix a bug where an illegal trailing comma was added to return type annotations using\nPEP 604 unions (#3735)
  • \n
  • Fix several bugs and crashes where comments in stub files were removed or mishandled\nunder some circumstances (#3745)
  • \n
  • Fix a crash with multi-line magic comments like type: ignore within parentheses\n(#3740)
  • \n
  • Fix error in AST validation when Black removes trailing whitespace in a type comment\n(#3773)
  • \n
\n

Preview style

\n
    \n
  • Implicitly concatenated strings used as function args are no longer wrapped inside\nparentheses (#3640)
  • \n
  • Remove blank lines between a class definition and its docstring (#3692)
  • \n
\n

Configuration

\n
    \n
  • The --workers argument to Black can now be specified via the BLACK_NUM_WORKERS\nenvironment variable (#3743)
  • \n
  • .pytest_cache, .ruff_cache and .vscode are now excluded by default (#3691)
  • \n
  • Fix Black not honouring pyproject.toml settings when running --stdin-filename\nand the pyproject.toml found isn't in the current working directory (#3719)
  • \n
  • Black will now error if exclude and extend-exclude have invalid data types in\npyproject.toml, instead of silently doing the wrong thing (#3764)
  • \n
\n

Packaging

\n
    \n
  • Upgrade mypyc from 0.991 to 1.3 (#3697)
  • \n
  • Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#3768)
  • \n
\n

Parser

\n
    \n
  • Add support for the new PEP 695 syntax in Python 3.12 (#3703)
  • \n
\n

Performance

\n
    \n
  • Speed up Black significantly when the cache is full (#3751)
  • \n
  • Avoid importing IPython in a case where we wouldn't need it (#3748)
  • \n
\n

Output

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.7.0

\n

Highlights

\n
    \n
  • Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be\nsupported until further notice (#3765)
  • \n
\n

Stable style

\n
    \n
  • Fix a bug where an illegal trailing comma was added to return type annotations using\nPEP 604 unions (#3735)
  • \n
  • Fix several bugs and crashes where comments in stub files were removed or mishandled\nunder some circumstances (#3745)
  • \n
  • Fix a crash with multi-line magic comments like type: ignore within parentheses\n(#3740)
  • \n
  • Fix error in AST validation when Black removes trailing whitespace in a type comment\n(#3773)
  • \n
\n

Preview style

\n
    \n
  • Implicitly concatenated strings used as function args are no longer wrapped inside\nparentheses (#3640)
  • \n
  • Remove blank lines between a class definition and its docstring (#3692)
  • \n
\n

Configuration

\n
    \n
  • The --workers argument to Black can now be specified via the BLACK_NUM_WORKERS\nenvironment variable (#3743)
  • \n
  • .pytest_cache, .ruff_cache and .vscode are now excluded by default (#3691)
  • \n
  • Fix Black not honouring pyproject.toml settings when running --stdin-filename\nand the pyproject.toml found isn't in the current working directory (#3719)
  • \n
  • Black will now error if exclude and extend-exclude have invalid data types in\npyproject.toml, instead of silently doing the wrong thing (#3764)
  • \n
\n

Packaging

\n
    \n
  • Upgrade mypyc from 0.991 to 1.3 (#3697)
  • \n
  • Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#3768)
  • \n
\n

Parser

\n
    \n
  • Add support for the new PEP 695 syntax in Python 3.12 (#3703)
  • \n
\n

Performance

\n
    \n
  • Speed up Black significantly when the cache is full (#3751)
  • \n
  • Avoid importing IPython in a case where we wouldn't need it (#3748)
  • \n
\n

Output

\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=23.3.0&new-version=23.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2099.org.readthedocs.build/en/2099/\n\r\n", "created_at": "2023-07-11T13:05:53Z", "updated_at": "2023-07-21T21:19:25Z", "closed_at": "2023-07-21T21:19:24Z", "merged_at": "2023-07-21T21:19:24Z", "merge_commit_sha": "3a51ca901427ac93b0ed0638fd1f82fb647a299a", "assignee": null, "milestone": null, "draft": 0, "head": "2761e4db2429e5d5588d8d1e54f30a6aafa7456b", "base": "0f7192b6154edb576c41b55bd3f2a3f53e5f436a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2099", "merged_by": null, "auto_merge": null} {"id": 381666777, "node_id": "MDExOlB1bGxSZXF1ZXN0MzgxNjY2Nzc3", "number": 688, "state": "closed", "locked": 0, "title": "Don't count rows on homepage for DBs > 100MB", "user": {"value": 9599, "label": "simonw"}, "body": "Closes #649.", "created_at": "2020-02-29T01:01:06Z", "updated_at": "2020-02-29T01:08:30Z", "closed_at": "2020-02-29T01:08:29Z", "merged_at": "2020-02-29T01:08:29Z", "merge_commit_sha": "7f5a330377fd7db1f6d1efa5686d183bcaf89217", "assignee": null, "milestone": null, "draft": 0, "head": "025fdd46f77822c0cbeb7856611c0a65a9b83057", "base": "0f8e91c68f2d2ad48efc8324b12762bf8b58facd", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/688", "merged_by": null, "auto_merge": null} {"id": 322529381, "node_id": "MDExOlB1bGxSZXF1ZXN0MzIyNTI5Mzgx", "number": 578, "state": "closed", "locked": 0, "title": "Added support for multi arch builds", "user": {"value": 887095, "label": "heussd"}, "body": "Minor changes in Dockerfile and new Makefile to support Docker multi architecture builds. `make`will build one image per architecture and push them as one Docker manifest to Docker Hub. Feel free to change `IMAGE_NAME ` to `datasetteproject/datasette` to update your official Docker Hub image(s).", "created_at": "2019-09-29T18:43:03Z", "updated_at": "2019-11-13T19:13:15Z", "closed_at": "2019-11-13T19:13:15Z", "merged_at": null, "merge_commit_sha": "ae1aa0929b9e62a413ec9b4a40588e6aafe50573", "assignee": null, "milestone": null, "draft": 0, "head": "ce6372bc6210ae52ac1951647b8fbaee40d64fc1", "base": "0fc8afde0eb5ef677f4ac31601540d6168c8208d", "author_association": "NONE", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/578", "merged_by": null, "auto_merge": null} {"id": 293117183, "node_id": "MDExOlB1bGxSZXF1ZXN0MjkzMTE3MTgz", "number": 34, "state": "closed", "locked": 0, "title": "sqlite-utils index-foreign-keys / db.index_foreign_keys()", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #33\r\n\r\n- [x] `sqlite-utils index-foreign-keys` command\r\n- [x] `db.index_foreign_keys()` method\r\n- [x] unit tests\r\n- [x] documentation", "created_at": "2019-06-30T16:43:40Z", "updated_at": "2019-06-30T23:50:55Z", "closed_at": "2019-06-30T23:50:55Z", "merged_at": "2019-06-30T23:50:54Z", "merge_commit_sha": "e8f887ef4a0977243811b90bc2ce9aed9d2c206a", "assignee": null, "milestone": null, "draft": 0, "head": "d82b000e3d55067516e2ce42f131cf4695e80dca", "base": "0fe3b38290e1bb2d92746d90318d8662b57218bd", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/34", "merged_by": null, "auto_merge": null} {"id": 274174614, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc0MTc0NjE0", "number": 437, "state": "closed", "locked": 0, "title": "Add inspect and prepare_sanic hooks", "user": {"value": 45057, "label": "russss"}, "body": "This adds two new plugin hooks:\r\n\r\nThe `inspect` hook allows plugins to add data to the inspect dictionary.\r\n\r\nThe `prepare_sanic` hook allows plugins to hook into the web router. I've attached a warning to this hook in the docs in light of #272 but I want this hook now...\r\n\r\nOn quick inspection, I don't think it's worthwhile to try and make this hook independent of the web framework (but it looks like Starlette would make the hook implementation a bit nicer).\r\n\r\nRef #14", "created_at": "2019-04-28T11:53:34Z", "updated_at": "2019-06-24T16:38:57Z", "closed_at": "2019-06-24T16:38:56Z", "merged_at": null, "merge_commit_sha": "7aeaac7c478acf572bda61bdaa6ac3247dc15811", "assignee": null, "milestone": null, "draft": 0, "head": "f33a0a63a7442f0b665320ac3e2eb55de315f1f7", "base": "11b352b4d52fd02a422776edebb14f12e4994d3b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/437", "merged_by": null, "auto_merge": null} {"id": 274313625, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc0MzEzNjI1", "number": 439, "state": "closed", "locked": 0, "title": "[WIP] Add primary key to the extra_body_script hook arguments", "user": {"value": 45057, "label": "russss"}, "body": "This allows the row to be identified on row pages. The context here is that I want to access the row's data to plot it on a map.\r\n\r\nI considered passing the entire template context through to the hook function. This would expose the actual row data and potentially avoid a further fetch request in JS, but it does make the plugin API a lot more leaky. \r\n\r\n(At any rate, using the selected row data is tricky in my case because of Spatialite's infuriating custom binary representation...)", "created_at": "2019-04-29T10:08:23Z", "updated_at": "2019-05-01T09:58:32Z", "closed_at": "2019-05-01T09:58:30Z", "merged_at": null, "merge_commit_sha": "b3cbcfef4d11d2741cf00861734d726a4730afe5", "assignee": null, "milestone": null, "draft": 0, "head": "76b2c8fa406063b436155a7d8995e07b7e718c13", "base": "11b352b4d52fd02a422776edebb14f12e4994d3b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/439", "merged_by": null, "auto_merge": null} {"id": 274468836, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc0NDY4ODM2", "number": 441, "state": "closed", "locked": 0, "title": "Add register_output_renderer hook", "user": {"value": 45057, "label": "russss"}, "body": "This changeset refactors out the JSON renderer and then adds a hook and\r\ndispatcher system to allow custom output renderers to be registered.\r\n\r\nThe CSV output renderer is untouched because supporting streaming\r\nrenderers through this system would be significantly more complex, and\r\nprobably not worthwhile.\r\n\r\nWe can't simply allow hooks to be called at request time because we need\r\na list of supported file extensions when the request is being routed in\r\norder to resolve ambiguous database/table names. So, renderers need to\r\nbe registered at startup.\r\n\r\nI've tried to make this API independent of Sanic's request/response\r\nobjects so that this can remain stable during the switch to ASGI. I'm\r\nusing dictionaries to keep it simple and to make adding additional\r\noptions in the future easy.\r\n\r\nFixes #440", "created_at": "2019-04-29T18:03:21Z", "updated_at": "2019-05-01T23:01:57Z", "closed_at": "2019-05-01T23:01:57Z", "merged_at": "2019-05-01T23:01:57Z", "merge_commit_sha": "cf406c075433882b656e340870adf7757976fa4c", "assignee": null, "milestone": null, "draft": 0, "head": "c9f941f06eb0268841de49407725917c74a8a2dc", "base": "11b352b4d52fd02a422776edebb14f12e4994d3b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/441", "merged_by": null, "auto_merge": null} {"id": 274478761, "node_id": "MDExOlB1bGxSZXF1ZXN0Mjc0NDc4NzYx", "number": 442, "state": "closed", "locked": 0, "title": "Suppress rendering of binary data", "user": {"value": 45057, "label": "russss"}, "body": "Binary columns (including spatialite geographies) get shown as ugly\r\nbinary strings in the HTML by default. Nobody wants to see that mess.\r\n\r\nShow the size of the column in bytes instead. If you want to decode\r\nthe binary data, you can use a plugin to do it.", "created_at": "2019-04-29T18:36:41Z", "updated_at": "2019-05-03T18:26:48Z", "closed_at": "2019-05-03T16:44:49Z", "merged_at": "2019-05-03T16:44:49Z", "merge_commit_sha": "d555baf508de71a5e3dc9a9aed2c13f6f202956d", "assignee": null, "milestone": null, "draft": 0, "head": "bbbd9ea5ad774f088bd963106fa5756bfd77c799", "base": "11b352b4d52fd02a422776edebb14f12e4994d3b", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/442", "merged_by": null, "auto_merge": null} {"id": 201075532, "node_id": "MDExOlB1bGxSZXF1ZXN0MjAxMDc1NTMy", "number": 341, "state": "closed", "locked": 0, "title": "Bump aiohttp to fix compatibility with Python 3.7", "user": {"value": 9599, "label": "simonw"}, "body": "Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333", "created_at": "2018-07-12T17:41:24Z", "updated_at": "2018-07-12T18:07:38Z", "closed_at": "2018-07-12T18:07:38Z", "merged_at": "2018-07-12T18:07:38Z", "merge_commit_sha": "31a5d8fa77be68d4f837f0a80a611675dce49f4b", "assignee": null, "milestone": null, "draft": 0, "head": "8d34ed776168dcac530859c51f22e8b48829a513", "base": "130dc8823ebdcc1834fc7c4a03c996b13fc1e444", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/341", "merged_by": null, "auto_merge": null} {"id": 468370658, "node_id": "MDExOlB1bGxSZXF1ZXN0NDY4MzcwNjU4", "number": 936, "state": "closed", "locked": 0, "title": "Don't hang in db.execute_write_fn() if connection fails", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #935", "created_at": "2020-08-15T22:20:12Z", "updated_at": "2020-08-15T22:35:33Z", "closed_at": "2020-08-15T22:35:32Z", "merged_at": "2020-08-15T22:35:32Z", "merge_commit_sha": "b86f94883b1d827f85b07009e8346b8e9c6eeefa", "assignee": null, "milestone": null, "draft": 0, "head": "94a68b95a21f29526d66e88bf5ea524a3efcc609", "base": "13b3b51087964d5e1a8c1cdd2495e07bdbe176b8", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/936", "merged_by": null, "auto_merge": null} {"id": 496298180, "node_id": "MDExOlB1bGxSZXF1ZXN0NDk2Mjk4MTgw", "number": 986, "state": "closed", "locked": 0, "title": "Allow facet by primary keys, fixes #985", "user": {"value": 39452697, "label": "MrNaif2018"}, "body": "Hello! This PR makes it possible to facet by primary keys.\r\nDid I get it right that just removing the condition on UI side is enough? From testing it works fine with primary keys, just as with normal keys.\r\nIf so, should I also remove unused `data-is-pk`?", "created_at": "2020-10-01T14:18:55Z", "updated_at": "2020-10-01T16:51:45Z", "closed_at": "2020-10-01T16:51:45Z", "merged_at": null, "merge_commit_sha": "58906c597f1217381f5d746726bcb8bdfa8f52f8", "assignee": null, "milestone": null, "draft": 0, "head": "76f7094bd33f037a1c689a173f0dbbb988e6dcdd", "base": "141544613f9e76ddb74eee38d6f8ee1e0e70f833", "author_association": "NONE", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/986", "merged_by": null, "auto_merge": null} {"id": 406677205, "node_id": "MDExOlB1bGxSZXF1ZXN0NDA2Njc3MjA1", "number": 730, "state": "closed", "locked": 0, "title": "Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.12", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n
\nCommits\n
    \n
  • 1026c39 0.11.0
  • \n
  • ab2b140 Test on Python 3.8, drop 3.3 and 3.4
  • \n
  • 6397a22 plugin: Use pytest 5.4.0 new Function API
  • \n
  • 21a0f94 Replace yield_fixture() by fixture()
  • \n
  • 964b295 Added min hypothesis version so that bugfix for https://github.com/Hypothesis...
  • \n
  • 4a11a20 Add max supported pytest version to < 5.4.0 to prevent fails until #141 is fi...
  • \n
  • b305594 Change event_loop to module scope in hypothesis tests, fixing #145.
  • \n
  • d5a0f47 Enable test_subprocess to be run on win, by changing to ProactorEventLoop in ...
  • \n
  • d07cd2d Fix required pytest version
  • \n
  • 86cd9a6 Handle BaseExceptions from loop.run_until_complete (#126)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2020-04-21T13:32:35Z", "updated_at": "2020-05-04T13:27:24Z", "closed_at": "2020-05-04T13:27:23Z", "merged_at": null, "merge_commit_sha": "460708c7107a7cf15971a9aa1040635f6bc1be6d", "assignee": null, "milestone": null, "draft": 0, "head": "11c67f82cdccc6e34cbff717e673451ac6172ef4", "base": "15e232180427e988174fdf88440c84b91d2d98d1", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/730", "merged_by": null, "auto_merge": null} {"id": 469651732, "node_id": "MDExOlB1bGxSZXF1ZXN0NDY5NjUxNzMy", "number": 48, "state": "closed", "locked": 0, "title": "Add pull requests", "user": {"value": 755825, "label": "adamjonas"}, "body": "ref #46 \r\n\r\nIssues don't have merge information on them, which means that PRs need to be pulled separately.\r\n\r\nDid my best to mimic the API of issues.", "created_at": "2020-08-18T17:58:44Z", "updated_at": "2020-11-29T23:51:09Z", "closed_at": "2020-11-29T23:51:09Z", "merged_at": "2020-11-29T23:51:09Z", "merge_commit_sha": "b37f55549461cfe0731b57623f315860b3db49d0", "assignee": null, "milestone": null, "draft": 0, "head": "3a0d5c498f9faae4e40aab204cd01b965a4f61f3", "base": "16d271253f4ea71b261d2d228b926c7bc1a7e660", "author_association": "CONTRIBUTOR", "repo": {"value": 207052882, "label": "github-to-sqlite"}, "url": "https://github.com/dogsheep/github-to-sqlite/pull/48", "merged_by": null, "auto_merge": null} {"id": 1482920218, "node_id": "PR_kwDOBm6k_c5YY5Ea", "number": 2148, "state": "closed", "locked": 0, "title": "Bump sphinx, furo, blacken-docs dependencies", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "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).\n\nUpdates `sphinx` from 7.1.2 to 7.2.2\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.2.2

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

Sphinx 7.2.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

Sphinx 7.2.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 7.2.2 (released Aug 17, 2023)

\n

Bugs fixed

\n
    \n
  • Fix the signature of the StateMachine.insert_input() patch,\nfor when calling with keyword arguments.
  • \n
  • Fixed membership testing (in) for the :py:class:str interface\nof the asset classes (_CascadingStyleSheet and _JavaScript),\nwhich several extensions relied upon.
  • \n
  • Fixed a type error in SingleFileHTMLBuilder._get_local_toctree,\nincludehidden may be passed as a string or a boolean.
  • \n
  • Fix :noindex: for PyModule and JSModule``.
  • \n
\n

Release 7.2.1 (released Aug 17, 2023)

\n

Bugs fixed

\n
    \n
  • Restored the the :py:class:str interface of the asset classes\n(_CascadingStyleSheet and _JavaScript), which several extensions relied upon.\nThis will be removed in Sphinx 9.
  • \n
  • Restored calls to Builder.add_{css,js}_file(),\nwhich several extensions relied upon.
  • \n
  • Restored the private API TocTree.get_toctree_ancestors(),\nwhich several extensions relied upon.
  • \n
\n

Release 7.2.0 (released Aug 17, 2023)

\n

Dependencies

\n
    \n
  • #11511: Drop Python 3.8 support.
  • \n
  • #11576: Require Pygments 2.14 or later.
  • \n
\n

Deprecated

\n
    \n
  • #11512: Deprecate sphinx.util.md5 and sphinx.util.sha1.\nUse hashlib instead.
  • \n
  • #11526: Deprecate sphinx.testing.path.\nUse os.path or pathlib instead.
  • \n
  • #11528: Deprecate sphinx.util.split_index_msg and sphinx.util.split_into.\nUse sphinx.util.index_entries.split_index_msg instead.
  • \n
  • Deprecate sphinx.builders.html.Stylesheet\nand sphinx.builders.html.Javascript.\nUse sphinx.application.Sphinx.add_css_file()
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • ed84d63 Bump to 7.2.2 final
  • \n
  • ea4a73e [bot]: Update message catalogues (#11612)
  • \n
  • e47846a Fix :noindex: for PyModule and JSModule``
  • \n
  • b2fc47f Add CHANGES entry for renaming the StateMachine.insert_input() parameter
  • \n
  • 0835c3e Fix regression in SingleFileHTMLBuilder._get_local_toctree
  • \n
  • 49dc0dd Fix asset class string interface membership testing
  • \n
  • 8512855 Fix signature of docutils include_source monkeypatch (#11610)
  • \n
  • e1d9068 Bump version
  • \n
  • 441a9e4 Bump to 7.2.1 final
  • \n
  • ec31853 Restore TocTree.get_toctree_ancestors()
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\nUpdates `furo` from 2023.7.26 to 2023.8.19\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.08.19 -- Xenolithic Xanadu

\n
    \n
  • Fix missing search context with Sphinx 7.2, for dirhtml builds.
  • \n
  • Drop support for Python 3.7.
  • \n
  • Present configuration errors in a better format -- thanks @\u200bAA-Turner!
  • \n
  • Bump require_sphinx() to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine.
  • \n
\n

2023.08.17 -- Wonderous White

\n
    \n
  • Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
  • \n
\n

2023.07.26 -- Vigilant Volt

\n
    \n
  • Fix compatiblity with Sphinx 7.1.
  • \n
  • Improve how content overflow is handled.
  • \n
  • Improve how literal blocks containing inline code are handled.
  • \n
\n

2023.05.20 -- Unassuming Ultramarine

\n
    \n
  • \u2728 Add support for Sphinx 7.
  • \n
  • Drop support for Sphinx 5.
  • \n
  • Improve the screen-reader label for sidebar collapse.
  • \n
  • Make it easier to create derived themes from Furo.
  • \n
  • Bump all JS dependencies (NodeJS and npm packages).
  • \n
\n

2023.03.27 -- Tasty Tangerine

\n
    \n
  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • \n
  • Add missing class to Font Awesome examples
  • \n
\n

2023.03.23 -- Sassy Saffron

\n
    \n
  • Update Python version classifiers.
  • \n
  • Increase the icon size in mobile header.
  • \n
  • Increase admonition title bg opacity.
  • \n
  • Change the default API background to transparent.
  • \n
  • Transition the API background change.
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\nUpdates `blacken-docs` from 1.15.0 to 1.16.0\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.16.0 (2023-08-16)

\n
    \n
  • \n

    Allow Markdown fence options.

    \n

    Thanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>__.

    \n
  • \n
  • \n

    Expand Markdown detection to all Python language names from Pygments: py, sage, python3, py3, and numpy.

    \n
  • \n
  • \n

    Preserve leading whitespace lines in reStructuredText code blocks.

    \n

    Thanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>__.

    \n
  • \n
  • \n

    Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.

    \n

    Thanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>__.

    \n
  • \n
  • \n

    Support passing the --preview option through to Black, to select the future style.

    \n
  • \n
  • \n

    Remove language_version from .pre-commit-hooks.yaml.\nThis change allows default_language_version in ``.pre-commit-config.yaml` to take precedence.

    \n

    Thanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>__.

    \n
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore dependency` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2148.org.readthedocs.build/en/2148/\n\r\n", "created_at": "2023-08-21T13:48:11Z", "updated_at": "2023-08-29T00:15:31Z", "closed_at": "2023-08-29T00:15:27Z", "merged_at": null, "merge_commit_sha": "bbe51d990f37e90d34a566186ca720494626bfa2", "assignee": null, "milestone": null, "draft": 0, "head": "a651d3cc8b57f6acc9e72d4f6f9e9b107edc9295", "base": "17ec309e14f9c2e90035ba33f2f38ecc5afba2fa", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2148", "merged_by": null, "auto_merge": null} {"id": 440735814, "node_id": "MDExOlB1bGxSZXF1ZXN0NDQwNzM1ODE0", "number": 868, "state": "open", "locked": 0, "title": "initial windows ci setup", "user": {"value": 702729, "label": "joshmgrant"}, "body": "Picking up the work done on #557 with a new PR. Seeing if I can get this working.", "created_at": "2020-06-26T18:49:13Z", "updated_at": "2021-07-10T23:41:43Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "b99adb1720a0b53ff174db54d0e4a67357b47f33", "assignee": null, "milestone": null, "draft": 0, "head": "c99cabae638958ef057438a92cb9a182ba4f8188", "base": "180c7a5328457aefdf847ada366e296fef4744f1", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/868", "merged_by": null, "auto_merge": null} {"id": 1015320511, "node_id": "PR_kwDOCGYnMM48hI-_", "number": 460, "state": "closed", "locked": 0, "title": "Cross-link CLI to Python docs", "user": {"value": 9599, "label": "simonw"}, "body": "Work in progress, partly to test the ReadTheDocs preview link action.\r\n\r\nRefs:\r\n- #426\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://readthedocs-preview--460.org.readthedocs.build/en/460/\n\r\n", "created_at": "2022-08-02T16:18:28Z", "updated_at": "2022-08-18T21:58:10Z", "closed_at": "2022-08-18T21:58:07Z", "merged_at": "2022-08-18T21:58:07Z", "merge_commit_sha": "f4fb78fa95057fbc86c734020835a3155695297f", "assignee": null, "milestone": null, "draft": 0, "head": "f21f4ccf7197e7a0ac8c2eb5086659fc3eb5bc05", "base": "1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/460", "merged_by": null, "auto_merge": null} {"id": 439203808, "node_id": "MDExOlB1bGxSZXF1ZXN0NDM5MjAzODA4", "number": 866, "state": "closed", "locked": 0, "title": "Update pytest-asyncio requirement from <0.13,>=0.10 to >=0.10,<0.15", "user": {"value": 27856297, "label": "dependabot-preview[bot]"}, "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n
\nCommits\n
    \n
  • 53f3da7 Prepare for release
  • \n
  • e99569d A line is added to the changelog.
  • \n
  • 4099b63 One import is not needed
  • \n
  • 68513b3 Clarify names and comments, according to yanlend comments 26 May
  • \n
  • 907e8f2 FIX new test_cases on python 3.5 & 3.6
  • \n
  • 51d986c To solve test cases that fail:
  • \n
  • f97e900 1) Test case (test_async_fixtures_with_finalizer) refactoring to pass on pyth...
  • \n
  • c1131f8 1) A new test case that fails with 0.12.0, and pass with this commit.
  • \n
  • 7a255bc 0.13.0 open for business
  • \n
  • b8e2a45 0.12.0
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a \"Dependabot enabled\" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n
", "created_at": "2020-06-24T13:21:47Z", "updated_at": "2020-06-24T18:50:57Z", "closed_at": "2020-06-24T18:50:56Z", "merged_at": "2020-06-24T18:50:56Z", "merge_commit_sha": "1bb33dab49fd25f77b9f8e7ab7ee23b3d64c123c", "assignee": null, "milestone": null, "draft": 0, "head": "fb64dda76dda7354a77cb50c5864aff67a6fef8d", "base": "1a5b7d318fa923edfcefd3df8f64dae2e9c49d3f", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/866", "merged_by": null, "auto_merge": null} {"id": 512736705, "node_id": "MDExOlB1bGxSZXF1ZXN0NTEyNzM2NzA1", "number": 1065, "state": "closed", "locked": 0, "title": "Nav menu plus menu_links() hook", "user": {"value": 9599, "label": "simonw"}, "body": "Closes #1064, refs #690.", "created_at": "2020-10-30T03:40:18Z", "updated_at": "2020-10-30T03:45:17Z", "closed_at": "2020-10-30T03:45:16Z", "merged_at": "2020-10-30T03:45:16Z", "merge_commit_sha": "18a64fbb29271ce607937110bbdb55488c43f4e0", "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "draft": 0, "head": "5f118b56afbeff5348acd50a8b87537210e731ee", "base": "1a861be19e326e0c88230a711a1b6536366697d7", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1065", "merged_by": null, "auto_merge": null} {"id": 1266742462, "node_id": "PR_kwDOBm6k_c5LgPS-", "number": 2034, "state": "open", "locked": 0, "title": "remove an unused `app` var in cli.py", "user": {"value": 4370201, "label": "wenhoujx"}, "body": "this var `app` isn't actually used? unless init it does some side-effect outside of the event loop, idon't think it's necessary. \r\n\r\nFeel free to ignore this PR if the deleted line actually does something.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2034.org.readthedocs.build/en/2034/\n\r\n", "created_at": "2023-03-07T18:19:05Z", "updated_at": "2023-03-29T20:56:20Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "9bd2128399e6dff33f97b3aa7adbd8f3a36daad7", "assignee": null, "milestone": null, "draft": 0, "head": "28239c5bed362f2b9ee9e780bf23e5f31b680b5d", "base": "1ad92a1d87d79084ebe524ed186c900ff042328c", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2034", "merged_by": null, "auto_merge": null} {"id": 840249513, "node_id": "PR_kwDOBm6k_c4yFTCp", "number": 1629, "state": "closed", "locked": 0, "title": "Update pytest requirement from <6.3.0,>=5.2.2 to >=5.2.2,<7.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version.\n
\nRelease notes\n

Sourced from pytest's releases.

\n
\n

7.0.0

\n

pytest 7.0.0 (2022-02-03)

\n

(Please see the full set of changes for this release also in the 7.0.0rc1 notes below)

\n

Deprecations

\n
    \n
  • \n

    #9488: If custom subclasses of nodes like pytest.Item{.interpreted-text role="class"} override the\n__init__ method, they should take **kwargs. See\nuncooperative-constructors-deprecated{.interpreted-text role="ref"} for details.

    \n

    Note that a deprection warning is only emitted when there is a conflict in the\narguments pytest expected to pass. This deprecation was already part of pytest\n7.0.0rc1 but wasn't documented.

    \n
  • \n
\n

Bug Fixes

\n
    \n
  • #9355: Fixed error message prints function decorators when using assert in Python 3.8 and above.
  • \n
  • #9396: Ensure pytest.Config.inifile{.interpreted-text role="attr"} is available during the pytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>{.interpreted-text role="func"} hook (regression during 7.0.0rc1).
  • \n
\n

Improved Documentation

\n
    \n
  • #9404: Added extra documentation on alternatives to common misuses of [pytest.warns(None)]{.title-ref} ahead of its deprecation.
  • \n
  • #9505: Clarify where the configuration files are located. To avoid confusions documentation mentions\nthat configuration file is located in the root of the repository.
  • \n
\n

Trivial/Internal Changes

\n
    \n
  • #9521: Add test coverage to assertion rewrite path.
  • \n
\n

pytest 7.0.0rc1 (2021-12-06)

\n

Breaking Changes

\n
    \n
  • \n

    #7259: The Node.reportinfo() <non-python tests>{.interpreted-text role="ref"} function first return value type has been expanded from [py.path.local | str]{.title-ref} to [os.PathLike[str] | str]{.title-ref}.

    \n

    Most plugins which refer to [reportinfo()]{.title-ref} only define it as part of a custom pytest.Item{.interpreted-text role="class"} implementation.\nSince [py.path.local]{.title-ref} is a [os.PathLike[str]]{.title-ref}, these plugins are unaffacted.

    \n

    Plugins and users which call [reportinfo()]{.title-ref}, use the first return value and interact with it as a [py.path.local]{.title-ref}, would need to adjust by calling [py.path.local(fspath)]{.title-ref}.\nAlthough preferably, avoid the legacy [py.path.local]{.title-ref} and use [pathlib.Path]{.title-ref}, or use [item.location]{.title-ref} or [item.path]{.title-ref}, instead.

    \n

    Note: pytest was not able to provide a deprecation period for this change.

    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 3554b83 Add note to changelog
  • \n
  • 6ea7f99 Prepare release version 7.0.0
  • \n
  • 737b220 [7.0.x] releasing: Add template for major releases (#9597)
  • \n
  • 7fa3972 [7.0.x] releasing: Always set doc_version (#9590)
  • \n
  • b304499 [7.0.x] Make 'warnings' and 'deselected' in assert_outcomes optional (#9566)
  • \n
  • f17525d [7.0.x] doc: Add ellipsis to warning usecase list (#9562)
  • \n
  • 0a7be97 ci: Bump up timeout (#9565)
  • \n
  • c17908c [7.0.x] doc: Recategorize 7.0.0 changelog items (#9564)
  • \n
  • ab549bb [7.0.x] Add missing cooperative constructor changelog (#9563)
  • \n
  • 4b1707f [7.0.x] Autouse linearization graph (#9557)
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-02-04T13:14:10Z", "updated_at": "2022-03-06T01:30:06Z", "closed_at": "2022-03-06T01:30:06Z", "merged_at": "2022-03-06T01:30:06Z", "merge_commit_sha": "b21839dd1a005f6269c4e9a9f763195fe7aa9c86", "assignee": null, "milestone": null, "draft": 0, "head": "1c0d84878638a61bfbb7e146567f17fd8a9b21e9", "base": "1af1041f91a9b91b321078d354132d1df5204660", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1629", "merged_by": null, "auto_merge": null} {"id": 630578735, "node_id": "MDExOlB1bGxSZXF1ZXN0NjMwNTc4NzM1", "number": 1318, "state": "closed", "locked": 0, "title": "Bump black from 21.4b2 to 21.5b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.4b2 to 21.5b0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.4b2&new-version=21.5b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-05T13:07:51Z", "updated_at": "2021-05-11T13:12:32Z", "closed_at": "2021-05-11T13:12:31Z", "merged_at": null, "merge_commit_sha": "e864f5420abb7a5d135f8fe470183786b577ce9a", "assignee": null, "milestone": null, "draft": 0, "head": "e06c09911be52202940808d7a08df2e9b71b3af2", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1318", "merged_by": null, "auto_merge": null} {"id": 634821065, "node_id": "MDExOlB1bGxSZXF1ZXN0NjM0ODIxMDY1", "number": 1319, "state": "closed", "locked": 0, "title": "Add Docker multi-arch support with Buildx", "user": {"value": 10801138, "label": "blairdrummond"}, "body": "This adds Docker support to extra CPU architectures (like arm) using [Docker's Buildx action](https://github.com/marketplace/actions/docker-setup-buildx)\r\n\r\nYou can see [what that looks like on Dockerhub](https://hub.docker.com/r/blairdrummond/datasette/tags?page=1&ordering=last_updated)\r\n\r\nAnd how it lets Datasette run on a Raspberry Pi (top is my dockerhub, bottom is upstream)\r\n\r\n![Screenshot from 2021-05-08 15-32-25](https://user-images.githubusercontent.com/10801138/117551210-a17a9f80-b012-11eb-966b-10e1590dd4a9.png)\r\n\r\nThe workflow log [here](https://github.com/blairdrummond/datasette/runs/2535743398?check_suite_focus=true) (I subbed `blairdrummond` for datasetteproject in my branch) ", "created_at": "2021-05-08T19:35:03Z", "updated_at": "2021-05-27T16:49:24Z", "closed_at": "2021-05-27T16:49:24Z", "merged_at": "2021-05-27T16:49:23Z", "merge_commit_sha": "89822d10be0da446471986addea91d9766f12efb", "assignee": null, "milestone": null, "draft": 0, "head": "cfca570f9ca010ff9036c75209dc42e78bbc945f", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1319", "merged_by": null, "auto_merge": null} {"id": 640484966, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQwNDg0OTY2", "number": 1321, "state": "closed", "locked": 0, "title": "Bump black from 21.4b2 to 21.5b1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 21.4b2 to 21.5b1.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

21.5b1

\n

Black

\n
    \n
  • Refactor src/black/__init__.py into many files (#2206)
  • \n
\n

Documentation

\n
    \n
  • Replaced all remaining references to the master branch with the main branch. Some additional changes in the source code were also made. (#2210)
  • \n
  • Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to the stable docs on RTD. (#2174)
  • \n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

21.5b1

\n

Black

\n
    \n
  • Refactor src/black/__init__.py into many files (#2206)
  • \n
\n

Documentation

\n
    \n
  • Replaced all remaining references to the\nmaster branch with the\nmain branch. Some additional changes in\nthe source code were also made. (#2210)
  • \n
  • Sigificantly reorganized the documentation to make much more sense. Check them out by\nheading over to the stable docs on RTD.\n(#2174)
  • \n
\n

21.5b0

\n

Black

\n
    \n
  • Set --pyi mode if --stdin-filename ends in .pyi (#2169)
  • \n
  • Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are\nbeing called but with no arguments (#2182)
  • \n
\n

Black-Primer

\n
    \n
  • Add --no-diff to black-primer to suppress formatting changes (#2187)
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.4b2&new-version=21.5b1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-11T13:12:28Z", "updated_at": "2021-05-22T23:55:39Z", "closed_at": "2021-05-22T23:55:39Z", "merged_at": "2021-05-22T23:55:39Z", "merge_commit_sha": "5e9672c9bb33e41686472db4aa427168f9e67dbe", "assignee": null, "milestone": null, "draft": 0, "head": "966ced8fe14210fd9ce57322456944f739bf49b8", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1321", "merged_by": null, "auto_merge": null} {"id": 643149320, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQzMTQ5MzIw", "number": 1324, "state": "closed", "locked": 0, "title": "Update jinja2 requirement from <2.12.0,>=2.10.3 to >=2.10.3,<3.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [jinja2](https://github.com/pallets/jinja) to permit the latest version.\n
\nRelease notes\n

Sourced from jinja2's releases.

\n
\n

3.0.0

\n

New major versions of all the core Pallets libraries, including Jinja 3.0, have been released! :tada:

\n\n

This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.

\n
\n
\n
\nChangelog\n

Sourced from jinja2's changelog.

\n
\n

Version 3.0.0

\n

Released 2021-05-11

\n
    \n
  • Drop support for Python 2.7 and 3.5.
  • \n
  • Bump MarkupSafe dependency to >=1.1.
  • \n
  • Bump Babel optional dependency to >=2.1.
  • \n
  • Remove code that was marked deprecated.
  • \n
  • Add type hinting. :pr:1412
  • \n
  • Use :pep:451 API to load templates with\n:class:~loaders.PackageLoader. :issue:1168
  • \n
  • Fix a bug that caused imported macros to not have access to the\ncurrent template's globals. :issue:688
  • \n
  • Add ability to ignore trim_blocks using +%}. :issue:1036
  • \n
  • Fix a bug that caused custom async-only filters to fail with\nconstant input. :issue:1279
  • \n
  • Fix UndefinedError incorrectly being thrown on an undefined variable\ninstead of Undefined being returned on\nNativeEnvironment on Python 3.10. :issue:1335
  • \n
  • Blocks can be marked as required. They must be overridden at\nsome point, but not necessarily by the direct child. :issue:1147
  • \n
  • Deprecate the autoescape and with extensions, they are\nbuilt-in to the compiler. :issue:1203
  • \n
  • The urlize filter recognizes mailto: links and takes\nextra_schemes (or env.policies["urlize.extra_schemes"]) to\nrecognize other schemes. It tries to balance parentheses within a\nURL instead of ignoring trailing characters. The parsing in general\nhas been updated to be more efficient and match more cases. URLs\nwithout a scheme are linked as https:// instead of http://.\n:issue:522, 827, 1172, :pr:1195
  • \n
  • Filters that get attributes, such as map and groupby, can\nuse a false or empty value as a default. :issue:1331
  • \n
  • Fix a bug that prevented variables set in blocks or loops from\nbeing accessed in custom context functions. :issue:768
  • \n
  • Fix a bug that caused scoped blocks from accessing special loop\nvariables. :issue:1088
  • \n
  • Update the template globals when calling\nEnvironment.get_template(globals=...) even if the template was\nalready loaded. :issue:295
  • \n
  • Do not raise an error for undefined filters in unexecuted\nif-statements and conditional expressions. :issue:842
  • \n
  • Add is filter and is test tests to test if a name is a\nregistered filter or test. This allows checking if a filter is\navailable in a template before using it. Test functions can be\ndecorated with @pass_environment, @pass_eval_context,\nor @pass_context. :issue:842, :pr:1248
  • \n
  • Support pgettext and npgettext (message contexts) in i18n\nextension. :issue:441
  • \n
  • The |indent filter's width argument can be a string to
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 417f822 Merge pull request #1417 from pallets/release-3.0.0
  • \n
  • b15fd1c release version 3.0.0
  • \n
  • eed1546 update requirements
  • \n
  • 9627e73 Merge pull request #1416 from pallets/pre-commit-ci-schedule
  • \n
  • 6630044 update pre-commit monthly
  • \n
  • e1bf3bc Merge pull request #1415 from pallets/pre-commit-ci-update-config
  • \n
  • 0798a66 [pre-commit.ci] pre-commit autoupdate
  • \n
  • 53fea33 Merge pull request #1414 from pallets/typing-marker
  • \n
  • ba1f27e fix py.typed in manifest
  • \n
  • 1a3342b Merge pull request #1412 from pallets/typing
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-12T13:08:59Z", "updated_at": "2021-05-17T17:19:41Z", "closed_at": "2021-05-17T17:19:40Z", "merged_at": "2021-05-17T17:19:40Z", "merge_commit_sha": "9b3b7e280ca718254b4ca15d40864297146a85b3", "assignee": null, "milestone": null, "draft": 0, "head": "177456e64bbdc7a1ec7c58f2cacba932b261b3fb", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1324", "merged_by": null, "auto_merge": null} {"id": 643149364, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQzMTQ5MzY0", "number": 1325, "state": "closed", "locked": 0, "title": "Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [itsdangerous](https://github.com/pallets/itsdangerous) to permit the latest version.\n
\nRelease notes\n

Sourced from itsdangerous's releases.

\n
\n

2.0.0

\n

New major versions of all the core Pallets libraries, including ItsDangerous 2.0, have been released! :tada:

\n\n

This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.

\n
\n
\n
\nChangelog\n

Sourced from itsdangerous's changelog.

\n
\n

Version 2.0.0

\n

Released 2021-05-11

\n
    \n
  • Drop support for Python 2 and 3.5.
  • \n
  • JWS support (JSONWebSignatureSerializer,\nTimedJSONWebSignatureSerializer) is deprecated. Use a dedicated\nJWS/JWT library such as authlib instead. :issue:129
  • \n
  • Importing itsdangerous.json is deprecated. Import Python's\njson module instead. :pr:152
  • \n
  • Simplejson is no longer used if it is installed. To use a different\nlibrary, pass it as Serializer(serializer=...). :issue:146
  • \n
  • datetime values are timezone-aware with timezone.utc. Code\nusing TimestampSigner.unsign(return_timestamp=True) or\nBadTimeSignature.date_signed may need to change. :issue:150
  • \n
  • If a signature has an age less than 0, it will raise\nSignatureExpired rather than appearing valid. This can happen if\nthe timestamp offset is changed. :issue:126
  • \n
  • BadTimeSignature.date_signed is always a datetime object\nrather than an int in some cases. :issue:124
  • \n
  • Added support for key rotation. A list of keys can be passed as\nsecret_key, oldest to newest. The newest key is used for\nsigning, all keys are tried for unsigning. :pr:141
  • \n
  • Removed the default SHA-512 fallback signer from\ndefault_fallback_signers. :issue:155
  • \n
  • Add type information for static typing tools. :pr:186
  • \n
\n

Version 1.1.0

\n

Released 2018-10-26

\n
    \n
  • Change default signing algorithm back to SHA-1. :pr:113
  • \n
  • Added a default SHA-512 fallback for users who used the yanked 1.0.0\nrelease which defaulted to SHA-512. :pr:114
  • \n
  • Add support for fallback algorithms during deserialization to\nsupport changing the default in the future without breaking existing\nsignatures. :pr:113
  • \n
  • Changed capitalization of packages back to lowercase as the change\nin capitalization broke some tooling. :pr:113
  • \n
\n

Version 1.0.0

\n

Released 2018-10-18

\n

YANKED

\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • d101100 Merge pull request #235 from pallets/release-2.0.0
  • \n
  • ca0f59a release version 2.0.0
  • \n
  • d1ed89f update requirements
  • \n
  • d1722ea Merge pull request #234 from pallets/pre-commit-ci-schedule
  • \n
  • d1eb7aa update pre-commit monthly
  • \n
  • acbc456 Merge pull request #233 from pallets/pre-commit-ci-update-config
  • \n
  • 04e485a [pre-commit.ci] pre-commit autoupdate
  • \n
  • c0e6b48 Merge pull request #232 from pallets/pre-commit-ci-update-config
  • \n
  • 6a9df83 [pre-commit.ci] pre-commit autoupdate
  • \n
  • 477f42c Merge pull request #231 from pallets/dependabot/pip/pre-commit-2.12.1
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-12T13:09:03Z", "updated_at": "2021-05-22T23:54:25Z", "closed_at": "2021-05-22T23:54:25Z", "merged_at": "2021-05-22T23:54:25Z", "merge_commit_sha": "b64d87204612a84663616e075f542499a5d82a03", "assignee": null, "milestone": null, "draft": 0, "head": "4dea180e51601bb0851edb578f076c51554c6d51", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1325", "merged_by": null, "auto_merge": null} {"id": 645849027, "node_id": "MDExOlB1bGxSZXF1ZXN0NjQ1ODQ5MDI3", "number": 1330, "state": "closed", "locked": 0, "title": "Update aiofiles requirement from <0.7,>=0.4 to >=0.4,<0.8", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version.\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n
", "created_at": "2021-05-17T13:07:31Z", "updated_at": "2021-05-22T23:53:57Z", "closed_at": "2021-05-22T23:53:56Z", "merged_at": "2021-05-22T23:53:56Z", "merge_commit_sha": "593d3e8173b45e20ff3c95afb3df7ceb85bf7fef", "assignee": null, "milestone": null, "draft": 0, "head": "cc1b504793486dd7d14a9cb8248c4cf6db60b179", "base": "1b697539f5b53cec3fe13c0f4ada13ba655c88c7", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1330", "merged_by": null, "auto_merge": null} {"id": 409153870, "node_id": "MDExOlB1bGxSZXF1ZXN0NDA5MTUzODcw", "number": 739, "state": "closed", "locked": 0, "title": "Configuration directory mode", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #731\r\n\r\nTODO:\r\n\r\n- [x] Decide how to combine explicit command-line options with items detected from the directory structure\r\n- [x] Add unit tests\r\n- [x] Implement `inspect-data.json` mechanism for populating `immutables`\r\n- [x] Add documentation", "created_at": "2020-04-26T20:37:46Z", "updated_at": "2020-04-27T16:30:25Z", "closed_at": "2020-04-27T16:30:25Z", "merged_at": "2020-04-27T16:30:25Z", "merge_commit_sha": "25014ca25eb70b4c1217558ebd14db2845973bfb", "assignee": null, "milestone": null, "draft": 0, "head": "0d8fa53fab672fcf16b6a75aa55b07ccd243fb96", "base": "1b7b66c465e44025ec73421bd69752e42f108321", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/739", "merged_by": null, "auto_merge": null} {"id": 500798091, "node_id": "MDExOlB1bGxSZXF1ZXN0NTAwNzk4MDkx", "number": 1008, "state": "open", "locked": 0, "title": "Add json_loads and json_dumps jinja2 filters", "user": {"value": 649467, "label": "mhalle"}, "body": "", "created_at": "2020-10-09T20:11:34Z", "updated_at": "2020-12-15T02:30:28Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "e33e91ca7c9b2fdeab9d8179ce0d603918b066aa", "assignee": null, "milestone": null, "draft": 0, "head": "40858989d47043743d6b1c9108528bec6a317e43", "base": "1bdbc8aa7f4fd7a768d456146e44da86cb1b36d1", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1008", "merged_by": null, "auto_merge": null} {"id": 787940394, "node_id": "PR_kwDOBm6k_c4u9wQq", "number": 1529, "state": "closed", "locked": 0, "title": "Update janus requirement from <0.7,>=0.6.2 to >=0.6.2,<0.8", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version.\n
\nChangelog\n

Sourced from janus's changelog.

\n
\n

0.7.0 (2021-11-24)

\n
    \n
  • Add SyncQueue and AsyncQueue Protocols to provide type hints for sync and async queues #374
  • \n
\n

0.6.2 (2021-10-24)

\n
    \n
  • Fix Python 3.10 compatibility #358
  • \n
\n

0.6.1 (2020-10-26)

\n
    \n
  • \n

    Raise RuntimeError on queue.join() after queue closing. #295

    \n
  • \n
  • \n

    Replace timeout type from Optional[int] to Optional[float] #267

    \n
  • \n
\n

0.6.0 (2020-10-10)

\n
    \n
  • \n

    Drop Python 3.5, the minimal supported version is Python 3.6

    \n
  • \n
  • \n

    Support Python 3.9

    \n
  • \n
  • \n

    Refomat with black

    \n
  • \n
\n

0.5.0 (2020-04-23)

\n
    \n
  • Remove explicit loop arguments and forbid creating queues outside event loops #246
  • \n
\n

0.4.0 (2018-07-28)

\n
    \n
  • \n

    Add py.typed macro #89

    \n
  • \n
  • \n

    Drop python 3.4 support and fix minimal version python3.5.3 #88

    \n
  • \n
  • \n

    Add property with that indicates if queue is closed #86

    \n
  • \n
\n

0.3.2 (2018-07-06)

\n
    \n
  • Fixed python 3.7 support #97
  • \n
\n

0.3.1 (2018-01-30)

\n
    \n
  • Fixed bug with join() in case tasks are added by sync_q.put() #75
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2021-11-24T13:12:42Z", "updated_at": "2021-11-30T02:37:13Z", "closed_at": "2021-11-30T02:37:13Z", "merged_at": "2021-11-30T02:37:13Z", "merge_commit_sha": "83eb29deced2430f40c3374ff9085d65d86d8281", "assignee": null, "milestone": null, "draft": 0, "head": "495b726e9d715902914547c147d8e7e350f53694", "base": "1beb7d939999da79bb77c4d3c777657c8a16bcd9", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1529", "merged_by": null, "auto_merge": null} {"id": 339244888, "node_id": "MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4", "number": 624, "state": "closed", "locked": 0, "title": "Bump pint to 0.9", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2019-11-11T04:07:07Z", "updated_at": "2019-11-11T04:19:02Z", "closed_at": "2019-11-11T04:19:02Z", "merged_at": "2019-11-11T04:19:02Z", "merge_commit_sha": "42ee3e16a9ba7cc513b8da944cc1609a5407cf42", "assignee": null, "milestone": null, "draft": 0, "head": "ed17117a2ad675cbf2430f28069bb1854846a6f0", "base": "1c063fae9dba70f70244db010d55a18846640f07", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/624", "merged_by": null, "auto_merge": null} {"id": 1046943107, "node_id": "PR_kwDOBm6k_c4-ZxWD", "number": 1803, "state": "closed", "locked": 0, "title": "Workaround for test failure: RuntimeError: There is no current event loop", "user": {"value": 9599, "label": "simonw"}, "body": "Closes #1802\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/\n\r\n", "created_at": "2022-09-06T00:31:06Z", "updated_at": "2022-09-06T00:40:19Z", "closed_at": "2022-09-06T00:40:19Z", "merged_at": "2022-09-06T00:40:19Z", "merge_commit_sha": "64288d827f7ff97f825e10f714da3f781ecf9345", "assignee": null, "milestone": null, "draft": 0, "head": "7b6a2b48408697905bd93504b7f5554f4a7627ef", "base": "1c29b925d300d1ee17047504473f2517767aa05b", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1803", "merged_by": null, "auto_merge": null} {"id": 525371029, "node_id": "MDExOlB1bGxSZXF1ZXN0NTI1MzcxMDI5", "number": 8, "state": "closed", "locked": 0, "title": "fix import error if note has no \"updated\" element", "user": {"value": 4028322, "label": "mkorosec"}, "body": "I got the following error when executing evernote-to-sqlite enex evernote.db evernote.enex\r\n``` \r\n... \r\n File \"evernote_to_sqlite/cli.py\", line 31, in enex\r\n save_note(db, note)\r\n File \"evernote_to_sqlite/utils.py\", line 28, in save_note\r\n updated = note.find(\"updated\").text\r\nAttributeError: 'NoneType' object has no attribute 'text'\r\n``` \r\n\r\nSeems that in some cases the updated element is not added to the note, this is a part of the problematic note:\r\n\r\n``` \r\n20201019T074518Z\r\n\r\n web.clip7\r\n webclipper.evernote\r\n\r\n```", "created_at": "2020-11-22T22:51:05Z", "updated_at": "2021-02-11T22:34:06Z", "closed_at": "2021-02-11T22:34:06Z", "merged_at": "2021-02-11T22:34:06Z", "merge_commit_sha": "1c8457ddaa487aa2e677963d37217fcb6d544e59", "assignee": null, "milestone": null, "draft": 0, "head": "03b0c240d5f12c2d651c4cb25f92b0fecc7f7419", "base": "1c355e5678877e14eefa2a5fab5a267342a03335", "author_association": "CONTRIBUTOR", "repo": {"value": 303218369, "label": "evernote-to-sqlite"}, "url": "https://github.com/dogsheep/evernote-to-sqlite/pull/8", "merged_by": null, "auto_merge": null} {"id": 182357613, "node_id": "MDExOlB1bGxSZXF1ZXN0MTgyMzU3NjEz", "number": 222, "state": "closed", "locked": 0, "title": "Fix for plugins in Python 3.5", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2018-04-18T03:21:01Z", "updated_at": "2018-04-18T04:26:50Z", "closed_at": "2018-04-18T03:24:21Z", "merged_at": "2018-04-18T03:24:21Z", "merge_commit_sha": "4be6deb94776744071311777f0b18efb993c0cfa", "assignee": null, "milestone": null, "draft": 0, "head": "420cdcb88ee41c15a90fce30fdec5832c03295bd", "base": "1c36d07dd432b9960f4f2d096739460b4fcf8877", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/222", "merged_by": null, "auto_merge": null} {"id": 893039755, "node_id": "PR_kwDOBm6k_c41OrSL", "number": 1693, "state": "closed", "locked": 0, "title": "Bump black from 22.1.0 to 22.3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.3.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

22.3.0

\n

Preview style

\n
    \n
  • Code cell separators #%% are now standardised to # %% (#2919)
  • \n
  • Remove unnecessary parentheses from except statements (#2939)
  • \n
  • Remove unnecessary parentheses from tuple unpacking in for loops (#2945)
  • \n
  • Avoid magic-trailing-comma in single-element subscripts (#2942)
  • \n
\n

Configuration

\n
    \n
  • Do not format __pypackages__ directories by default (#2836)
  • \n
  • Add support for specifying stable version with --required-version (#2832).
  • \n
  • Avoid crashing when the user has no homedir (#2814)
  • \n
  • Avoid crashing when md5 is not available (#2905)
  • \n
  • Fix handling of directory junctions on Windows (#2904)
  • \n
\n

Documentation

\n
    \n
  • Update pylint config documentation (#2931)
  • \n
\n

Integrations

\n
    \n
  • Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
  • \n
\n

Output

\n
    \n
  • In verbose, mode, log when Black is using user-level config (#2861)
  • \n
\n

Packaging

\n
    \n
  • Fix Black to work with Click 8.1.0 (#2966)
  • \n
  • On Python 3.11 and newer, use the standard library's tomllib instead of tomli\n(#2903)
  • \n
  • black-primer, the deprecated internal devtool, has been removed and copied to a\nseparate repository (#2924)
  • \n
\n

Parser

\n
    \n
  • Black can now parse starred expressions in the target of for and async for\nstatements, e.g for item in *items_1, *items_2: pass (#2879).
  • \n
\n
\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

22.3.0

\n

Preview style

\n
    \n
  • Code cell separators #%% are now standardised to # %% (#2919)
  • \n
  • Remove unnecessary parentheses from except statements (#2939)
  • \n
  • Remove unnecessary parentheses from tuple unpacking in for loops (#2945)
  • \n
  • Avoid magic-trailing-comma in single-element subscripts (#2942)
  • \n
\n

Configuration

\n
    \n
  • Do not format __pypackages__ directories by default (#2836)
  • \n
  • Add support for specifying stable version with --required-version (#2832).
  • \n
  • Avoid crashing when the user has no homedir (#2814)
  • \n
  • Avoid crashing when md5 is not available (#2905)
  • \n
  • Fix handling of directory junctions on Windows (#2904)
  • \n
\n

Documentation

\n
    \n
  • Update pylint config documentation (#2931)
  • \n
\n

Integrations

\n
    \n
  • Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
  • \n
\n

Output

\n
    \n
  • In verbose, mode, log when Black is using user-level config (#2861)
  • \n
\n

Packaging

\n
    \n
  • Fix Black to work with Click 8.1.0 (#2966)
  • \n
  • On Python 3.11 and newer, use the standard library's tomllib instead of tomli\n(#2903)
  • \n
  • black-primer, the deprecated internal devtool, has been removed and copied to a\nseparate repository (#2924)
  • \n
\n

Parser

\n
    \n
  • Black can now parse starred expressions in the target of for and async for\nstatements, e.g for item in *items_1, *items_2: pass (#2879).
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.1.0&new-version=22.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
", "created_at": "2022-03-29T13:11:09Z", "updated_at": "2022-06-28T13:11:38Z", "closed_at": "2022-06-28T13:11:36Z", "merged_at": null, "merge_commit_sha": "17e058e286104e9b9180df72c61eb9218f376c4d", "assignee": null, "milestone": null, "draft": 0, "head": "ec2d1e47dc39dd1db2048cd0a001aa9e4be20812", "base": "1d33fd03b3c211e0f48a8f3bde83880af89e4e69", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1693", "merged_by": null, "auto_merge": null} {"id": 1479795255, "node_id": "PR_kwDOCGYnMM5YM-I3", "number": 584, "state": "closed", "locked": 0, "title": ".transform() instead of modifying sqlite_master for add_foreign_keys", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #577\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--584.org.readthedocs.build/en/584/\n\r\n", "created_at": "2023-08-17T23:32:45Z", "updated_at": "2023-08-18T00:48:13Z", "closed_at": "2023-08-18T00:48:08Z", "merged_at": "2023-08-18T00:48:08Z", "merge_commit_sha": "509857ee8724f73760f3631b69c26f9047381187", "assignee": null, "milestone": null, "draft": 0, "head": "291505084e652972ad806383250757d41d596d38", "base": "1dc6b5aa644a92d3654f7068110ed7930989ce71", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/584", "merged_by": null, "auto_merge": null} {"id": 548271472, "node_id": "MDExOlB1bGxSZXF1ZXN0NTQ4MjcxNDcy", "number": 1170, "state": "closed", "locked": 0, "title": "Install Prettier via package.json", "user": {"value": 3637, "label": "benpickles"}, "body": "This adds a package.json with Prettier and means that developers/CI will use the same version. It also ensures that NPM packages are cached on GitHub Actions which fixes #1169.", "created_at": "2021-01-04T14:18:03Z", "updated_at": "2021-01-24T21:21:01Z", "closed_at": "2021-01-04T19:52:34Z", "merged_at": "2021-01-04T19:52:33Z", "merge_commit_sha": "3054e0f7307da4c31850b74bd73238b33d6c750a", "assignee": null, "milestone": {"value": 6346396, "label": "Datasette 0.54"}, "draft": 0, "head": "a5761ccb8676ef1b98d95d8174211c98f140e3de", "base": "1e8fa3ac7cb2d6e516c47c306c86ed2334fc3dc0", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1170", "merged_by": null, "auto_merge": null} {"id": 255725057, "node_id": "MDExOlB1bGxSZXF1ZXN0MjU1NzI1MDU3", "number": 413, "state": "closed", "locked": 0, "title": "Update spatialite.rst", "user": {"value": 28597217, "label": "joelondon"}, "body": "a line of sql added to create the idx_ in the python recipe", "created_at": "2019-02-25T00:08:35Z", "updated_at": "2019-03-15T05:06:45Z", "closed_at": "2019-03-15T05:06:45Z", "merged_at": "2019-03-15T05:06:45Z", "merge_commit_sha": "9e8c36793bfbb17c2f67371cc7f9aa8b9202fdc4", "assignee": null, "milestone": null, "draft": 0, "head": "e87565604a169a34eadadfc99e96a8f503123e8c", "base": "1f91065b20cbc691f464bccfd8eef7d1ce4b14a8", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/413", "merged_by": null, "auto_merge": null} {"id": 593805804, "node_id": "MDExOlB1bGxSZXF1ZXN0NTkzODA1ODA0", "number": 247, "state": "closed", "locked": 0, "title": "FTS quote functionality from datasette", "user": {"value": 16001974, "label": "DeNeutoy"}, "body": "Addresses #246 - this is a bit of a kludge because it doesn't actually *validate* the FTS string, just makes sure that it will not crash when executed, but I figured that building a query parser is a bit out of the scope of sqlite-utils and if you actually want to use the query language, you probably need to parse that yourself.\r\n", "created_at": "2021-03-16T11:17:34Z", "updated_at": "2021-08-18T18:43:12Z", "closed_at": "2021-08-18T18:43:12Z", "merged_at": "2021-08-18T18:43:11Z", "merge_commit_sha": "53fec0d8639d2a66e322d05e1fcc8f34caa57815", "assignee": null, "milestone": null, "draft": 0, "head": "af989af658e23be0077f226292594226103b063d", "base": "1fe73c898b44695052f1a9ca832818d50cecf662", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/247", "merged_by": null, "auto_merge": null} {"id": 791153878, "node_id": "PR_kwDOCGYnMM4vKAzW", "number": 347, "state": "open", "locked": 0, "title": "Test against pysqlite3 running SQLite 3.37", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #346 and #344.", "created_at": "2021-11-29T23:17:57Z", "updated_at": "2021-12-11T01:02:19Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "f70a61e58ae62e53af74ab48d742bdc335131fbd", "assignee": null, "milestone": null, "draft": 0, "head": "1a7ef2fe2064ace01d5535fb771f941296fb642a", "base": "213a0ff177f23a35f3b235386366ff132eb879f1", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/347", "merged_by": null, "auto_merge": null} {"id": 1139440836, "node_id": "PR_kwDOBm6k_c5D6nzE", "number": 1912, "state": "closed", "locked": 0, "title": "Merge 1.0-dev (with initial write API) back into main", "user": {"value": 9599, "label": "simonw"}, "body": "See:\r\n- #1892\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1912.org.readthedocs.build/en/1912/\n\r\n", "created_at": "2022-11-29T19:31:21Z", "updated_at": "2022-11-29T19:39:37Z", "closed_at": "2022-11-29T19:39:36Z", "merged_at": "2022-11-29T19:39:36Z", "merge_commit_sha": "07aad511769da9242260c850e8d975cbd8c29552", "assignee": null, "milestone": null, "draft": 0, "head": "b8fc8e2cd755b9cfc66838bdc1ca9ee87afdce8a", "base": "21f8aab53164a4f096737743d8cc624d2186327a", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1912", "merged_by": null, "auto_merge": null} {"id": 469944999, "node_id": "MDExOlB1bGxSZXF1ZXN0NDY5OTQ0OTk5", "number": 49, "state": "closed", "locked": 0, "title": "Document the use of --stop_after with favorites, refs #20", "user": {"value": 370930, "label": "mikepqr"}, "body": "(I discovered this trawling the issues for how to use --since with favorites)", "created_at": "2020-08-19T06:10:52Z", "updated_at": "2021-08-20T00:02:11Z", "closed_at": "2021-08-20T00:02:11Z", "merged_at": "2021-08-20T00:02:10Z", "merge_commit_sha": "b6a4da8be3b6d4b74c6a5fac8924bf22a6824f2c", "assignee": null, "milestone": null, "draft": 0, "head": "7ace806c81faf31c1aace0f0b2a4c17dd72cfa06", "base": "21fc1cad6dd6348c67acff90a785b458d3a81275", "author_association": "CONTRIBUTOR", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "url": "https://github.com/dogsheep/twitter-to-sqlite/pull/49", "merged_by": null, "auto_merge": null} {"id": 549204063, "node_id": "MDExOlB1bGxSZXF1ZXN0NTQ5MjA0MDYz", "number": 55, "state": "closed", "locked": 0, "title": "Fix archive imports", "user": {"value": 21148, "label": "jacobian"}, "body": "This fixes the issues discussed in #54", "created_at": "2021-01-05T15:54:48Z", "updated_at": "2021-08-20T00:02:49Z", "closed_at": "2021-08-20T00:02:49Z", "merged_at": "2021-08-20T00:02:48Z", "merge_commit_sha": "bf622dcb82203c1cd87e914901b53afe6f90e668", "assignee": null, "milestone": null, "draft": 0, "head": "ffb127844f133fcb6a1af5cd3557995d303fb53f", "base": "21fc1cad6dd6348c67acff90a785b458d3a81275", "author_association": "CONTRIBUTOR", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "url": "https://github.com/dogsheep/twitter-to-sqlite/pull/55", "merged_by": null, "auto_merge": null} {"id": 395258687, "node_id": "MDExOlB1bGxSZXF1ZXN0Mzk1MjU4Njg3", "number": 96, "state": "closed", "locked": 0, "title": "Add type conversion for Panda's Timestamp", "user": {"value": 32605365, "label": "b0b5h4rp13"}, "body": "Add type conversion for Panda's Timestamp, if Panda library is present in system\r\n(thanks for this project, I was about to do the same thing from scratch)", "created_at": "2020-03-29T14:13:09Z", "updated_at": "2020-03-31T04:40:49Z", "closed_at": "2020-03-31T04:40:48Z", "merged_at": "2020-03-31T04:40:48Z", "merge_commit_sha": "8ea626e5fcdc4c9e52f615c6347e68173805f8b4", "assignee": null, "milestone": null, "draft": 0, "head": "16ebbd2d494caabd0eeb502f8a944614b464bb12", "base": "22250a9c735077d6f365b73bf824e6c67b122c83", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/96", "merged_by": null, "auto_merge": null} {"id": 409123897, "node_id": "MDExOlB1bGxSZXF1ZXN0NDA5MTIzODk3", "number": 737, "state": "closed", "locked": 0, "title": "Custom pages mechanism, refs #648", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #648. TODO:\r\n- [x] Pass a `view_name` to `render_template()`\r\n- [x] Mechanism for custom status code / headers / redirect\r\n- [x] Documentation", "created_at": "2020-04-26T17:31:41Z", "updated_at": "2020-04-26T18:46:43Z", "closed_at": "2020-04-26T18:46:43Z", "merged_at": "2020-04-26T18:46:43Z", "merge_commit_sha": "304e7b1d9fd904ae1c35600bc03662eb90eeeae0", "assignee": null, "milestone": null, "draft": 0, "head": "b5bbf1bd88f67a26eb34902bc11f2da7692c7af2", "base": "227bb3e91fe34811a9374150798643a5af98ed79", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/737", "merged_by": null, "auto_merge": null} {"id": 592289324, "node_id": "MDExOlB1bGxSZXF1ZXN0NTkyMjg5MzI0", "number": 245, "state": "closed", "locked": 0, "title": "Correct some typos", "user": {"value": 1076745, "label": "dbready"}, "body": "Noticed a typo in the docs and followed that up with a spellcheck. Had to bite my tongue at some of the British spellings.", "created_at": "2021-03-13T04:26:56Z", "updated_at": "2021-05-19T02:58:04Z", "closed_at": "2021-05-19T02:58:04Z", "merged_at": "2021-05-19T02:58:04Z", "merge_commit_sha": "3e62ab62a88992d4bbb0fe83debec3bacd93ebf3", "assignee": null, "milestone": null, "draft": 0, "head": "79de6b639f9d14818a5006af4f63e4e20c961a10", "base": "22f1d9e1999f70af4c5b0f880a820cd9eead3942", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/245", "merged_by": null, "auto_merge": null} {"id": 614727036, "node_id": "MDExOlB1bGxSZXF1ZXN0NjE0NzI3MDM2", "number": 254, "state": "closed", "locked": 0, "title": "Fix incorrect create-table cli description", "user": {"value": 1935268, "label": "robjwells"}, "body": "The description for `create-table` was duplicated from `create-index`.", "created_at": "2021-04-13T20:03:15Z", "updated_at": "2021-05-19T04:43:46Z", "closed_at": "2021-05-19T02:57:26Z", "merged_at": "2021-05-19T02:57:26Z", "merge_commit_sha": "e7b2626291040b78b9a2dbc2982ba72691fb1a0f", "assignee": null, "milestone": null, "draft": 0, "head": "cdeb7d7da77c6d1cd3554d08cb5659243cb3d55b", "base": "22f1d9e1999f70af4c5b0f880a820cd9eead3942", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/254", "merged_by": null, "auto_merge": null} {"id": 623755723, "node_id": "MDExOlB1bGxSZXF1ZXN0NjIzNzU1NzIz", "number": 258, "state": "closed", "locked": 0, "title": "Fixing insert from JSON containing strings with non-ascii characters \u2026", "user": {"value": 6586811, "label": "dylan-wu"}, "body": "\u2026are escaped aps unicode for lists, tuples, dicts\r\n\r\nFix of #257 ", "created_at": "2021-04-26T20:50:00Z", "updated_at": "2021-05-19T02:47:44Z", "closed_at": "2021-05-19T02:47:44Z", "merged_at": "2021-05-19T02:47:44Z", "merge_commit_sha": "6f4f9a3effeb16de0348d3cf136664f7531f498d", "assignee": null, "milestone": null, "draft": 0, "head": "27e7c1ae1913e2127361af4fc664c2061fb76627", "base": "22f1d9e1999f70af4c5b0f880a820cd9eead3942", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/258", "merged_by": null, "auto_merge": null} {"id": 511005542, "node_id": "MDExOlB1bGxSZXF1ZXN0NTExMDA1NTQy", "number": 1056, "state": "closed", "locked": 0, "title": "Radical new colour scheme and base styles, courtesy of @natbat", "user": {"value": 9599, "label": "simonw"}, "body": "", "created_at": "2020-10-27T19:31:48Z", "updated_at": "2020-10-27T19:39:57Z", "closed_at": "2020-10-27T19:39:56Z", "merged_at": "2020-10-27T19:39:56Z", "merge_commit_sha": "e5f5034bcdc71e4bc62a6a155ca60eb41910c335", "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "draft": 0, "head": "a7b2aabd5148c0ee382b583de68a4f0538f7dfb1", "base": "26bb4a268127da2c38f4241abe45444b2a6f7874", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1056", "merged_by": null, "auto_merge": null} {"id": 1022525059, "node_id": "PR_kwDOCGYnMM488n6D", "number": 463, "state": "closed", "locked": 0, "title": "Use Read the Docs action v1", "user": {"value": 244656, "label": "humitos"}, "body": "Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1`\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--463.org.readthedocs.build/en/463/\n\r\n", "created_at": "2022-08-10T10:31:47Z", "updated_at": "2022-08-18T08:30:14Z", "closed_at": "2022-08-17T23:11:16Z", "merged_at": "2022-08-17T23:11:16Z", "merge_commit_sha": "83e7339255e811c62e6db8498c483c44a84d0f28", "assignee": null, "milestone": null, "draft": 0, "head": "364110b97bd1c6e0d2bc841730e5dc1a595e537d", "base": "271433fdd18e436b0a527ab899cb6f6fa67f23d0", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/463", "merged_by": null, "auto_merge": null} {"id": 1406821147, "node_id": "PR_kwDOCGYnMM5T2mMb", "number": 560, "state": "closed", "locked": 0, "title": "Use sqlean if available in environment", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #559 \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--560.org.readthedocs.build/en/560/\n\r\n", "created_at": "2023-06-25T19:48:48Z", "updated_at": "2023-06-26T08:21:00Z", "closed_at": "2023-06-25T23:25:51Z", "merged_at": "2023-06-25T23:25:51Z", "merge_commit_sha": "f5c63088e1454811ce8361208b72297408eb5237", "assignee": null, "milestone": null, "draft": 0, "head": "5e7d27e5df024ce1f45e3a850c4e0f65e765cccd", "base": "2747257a3334d55e890b40ec58fada57ae8cfbfd", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/560", "merged_by": null, "auto_merge": null} {"id": 1448446507, "node_id": "PR_kwDOBm6k_c5WVYor", "number": 2107, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 7.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.0.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.1.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v7.0.0rc1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v6.2.1

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n

v6.2.0

\n

Changelog: https://www.sphinx-doc.org/en/master/changes.html

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 7.1.0 (released Jul 24, 2023)

\n

Incompatible changes

\n\n

Deprecated

\n
    \n
  • #11412: Emit warnings on using a deprecated Python-specific index entry type\n(namely, module, keyword, operator, object, exception,\nstatement, and builtin) in the :rst:dir:index directive, and\nset the removal version to Sphinx 9. Patch by Adam Turner.
  • \n
\n

Features added

\n
    \n
  • #11415: Add a checksum to JavaScript and CSS asset URIs included within\ngenerated HTML, using the CRC32 algorithm.
  • \n
  • :meth:~sphinx.application.Sphinx.require_sphinx now allows the version\nrequirement to be specified as (major, minor).
  • \n
  • #11011: Allow configuring a line-length limit for object signatures, via\n:confval:maximum_signature_line_length and the domain-specific variants.\nIf the length of the signature (in characters) is greater than the configured\nlimit, each parameter in the signature will be split to its own logical line.\nThis behaviour may also be controlled by options on object description\ndirectives, for example :rst:dir:py:function:single-line-parameter-list.\nPatch by Thomas Louf, Adam Turner, and Jean-Fran\u00e7ois B.
  • \n
  • #10983: Support for multiline copyright statements in the footer block.\nPatch by Stefanie Molin
  • \n
  • sphinx.util.display.status_iterator now clears the current line\nwith ANSI control codes, rather than overprinting with space characters.
  • \n
  • #11431: linkcheck: Treat SSL failures as broken links.\nPatch by B\u00e9n\u00e9dikt Tran
  • \n
  • #11157: Keep the translated attribute on translated nodes.
  • \n
  • #11451: Improve the traceback displayed when using :option:sphinx-build -T\nin parallel builds. Patch by B\u00e9n\u00e9dikt Tran
  • \n
  • #11324: linkcheck: Use session-basd HTTP requests.
  • \n
  • #11438: Add support for the :rst:dir:py:class and :rst:dir:py:function\ndirectives for PEP 695 (generic classes and functions declarations) and\nPEP 696 (default type parameters). Multi-line support (#11011) is enabled\nfor type parameters list and can be locally controlled on object description\ndirectives, e.g., :rst:dir:py:function:single-line-type-parameter-list.\nPatch by B\u00e9n\u00e9dikt Tran.
  • \n
  • #11484: linkcheck: Allow HTML anchors to be ignored on a per-URL basis\nvia :confval:linkcheck_anchors_ignore_for_url while
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • e560f63 Bump to 7.1.0 final
  • \n
  • 066e0fa Add translation progress information (#11509)
  • \n
  • 0882914 Target PyPI in create-release.yml
  • \n
  • 21fbee5 Fix OIDC token payload
  • \n
  • 1a403e4 Add informational log messaging
  • \n
  • 258b0ea Revert "Switch to using github.request"
  • \n
  • f9c89e5 Switch to using github.request
  • \n
  • 52c7f66 Use the correct token minting URL for TestPyPI
  • \n
  • 6079f28 Install twine in PyPI publish workflow
  • \n
  • 3d43b9e Fix github-script syntax in create-release.yml
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=7.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2107.org.readthedocs.build/en/2107/\n\r\n", "created_at": "2023-07-25T13:28:30Z", "updated_at": "2023-07-28T13:23:19Z", "closed_at": "2023-07-28T13:23:17Z", "merged_at": null, "merge_commit_sha": "290cfa2c8d0d673922da161bd993dd406ed5ce3f", "assignee": null, "milestone": null, "draft": 0, "head": "7fc79bace8283024fdd61b9fb69e1053797ce41e", "base": "278ac91a4d68da333a6ed74a2c75b3ec9db8bd19", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2107", "merged_by": null, "auto_merge": null}