{"id": 1608050242, "node_id": "PR_kwDOCGYnMM5f2OZC", "number": 604, "state": "closed", "locked": 0, "title": "Add more STRICT table support", "user": {"value": 16437338, "label": "tkhattra"}, "body": "- https://github.com/simonw/sqlite-utils/issues/344#issuecomment-982014776\r\n\r\nMake `table.transform()` preserve STRICT mode.\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://sqlite-utils--604.org.readthedocs.build/en/604/\r\n\r\n", "created_at": "2023-11-19T19:38:53Z", "updated_at": "2023-12-08T05:17:20Z", "closed_at": "2023-12-08T05:05:27Z", "merged_at": "2023-12-08T05:05:27Z", "merge_commit_sha": "1500c19bd0f31b2e7f28a5ec2d7bfa133a2e4d4c", "assignee": null, "milestone": null, "draft": 0, "head": "61c6e26cf922c70b65b161473723ff9d869a04a5", "base": "9286c1ba432e890b1bb4b2a1f847b15364c1fa18", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/604", "merged_by": null, "auto_merge": null} {"id": 1602618258, "node_id": "PR_kwDOBm6k_c5fhgOS", "number": 2209, "state": "open", "locked": 0, "title": "Fix query for suggested facets with column named value", "user": {"value": 198537, "label": "rgieseke"}, "body": "See discussion in https://github.com/simonw/datasette/issues/2208\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2209.org.readthedocs.build/en/2209/\n\r\n", "created_at": "2023-11-15T14:13:30Z", "updated_at": "2023-11-15T15:31:12Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "d628c1520160c030c26353792221925fdcd5cbe4", "assignee": null, "milestone": null, "draft": 0, "head": "c88414be391a2e64208e35d33a69a246170499a6", "base": "452a587e236ef642cbc6ae345b58767ea8420cb5", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2209", "merged_by": null, "auto_merge": null} {"id": 1592615419, "node_id": "PR_kwDOBm6k_c5e7WH7", "number": 2206, "state": "open", "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: [black](https://github.com/psf/black).\n\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.11.0

\n

Highlights

\n\n

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Performance

\n\n

Integrations

\n\n

23.10.1

\n

Highlights

\n\n

Preview style

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.11.0

\n

Highlights

\n\n

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Performance

\n\n

Integrations

\n\n

23.10.1

\n

Highlights

\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=23.9.1&new-version=23.11.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 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--2206.org.readthedocs.build/en/2206/\n\r\n", "created_at": "2023-11-08T13:18:56Z", "updated_at": "2023-12-08T13:46:24Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "57f4b139eaf0a394606b76c6281470c42c116dfa", "assignee": null, "milestone": null, "draft": 0, "head": "eec10df01afbb4489feb7c97544fa10db041e6b0", "base": "452a587e236ef642cbc6ae345b58767ea8420cb5", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2206", "merged_by": null, "auto_merge": null} {"id": 1586779743, "node_id": "PR_kwDOCGYnMM5elFZf", "number": 600, "state": "closed", "locked": 0, "title": "Add spatialite arm64 linux path", "user": {"value": 37802088, "label": "MikeCoats"}, "body": "According to both [Debian](https://packages.debian.org/bookworm/arm64/libsqlite3-mod-spatialite/filelist) and [Ubuntu](https://packages.ubuntu.com/mantic/arm64/libsqlite3-mod-spatialite/filelist), the correct \u201ctarget triple\u201d for arm64 is `aarch64-linux-gnu`, so we should be looking in `/usr/lib/aarch64-linux-gnu` for `mod_spatialite.so`.\r\n\r\nI can confirm that on both of my Debian arm64 SBCs, `libsqlite3-mod-spatialite` installs to that path.\r\n\r\n```\r\n$ ls -l /usr/lib/*/*spatial*\r\nlrwxrwxrwx 1 root root 23 Dec 1 2022 /usr/lib/aarch64-linux-gnu/mod_spatialite.so -> mod_spatialite.so.7.1.0\r\nlrwxrwxrwx 1 root root 23 Dec 1 2022 /usr/lib/aarch64-linux-gnu/mod_spatialite.so.7 -> mod_spatialite.so.7.1.0\r\n-rw-r--r-- 1 root root 7348584 Dec 1 2022 /usr/lib/aarch64-linux-gnu/mod_spatialite.so.7.1.0\r\n```\r\n\r\nThis is a set of before and after snippets of pytest\u2019s output for this PR.\r\n\r\n### Before\r\n\r\n```\r\n$ pytest\r\ntests/test_get.py ...... [ 73%]\r\ntests/test_gis.py ssssssssssss [ 75%]\r\ntests/test_hypothesis.py .... [ 75%]\r\n```\r\n\r\n### After\r\n\r\n```\r\n$ pytest\r\ntests/test_get.py ...... [ 73%]\r\ntests/test_gis.py ............ [ 75%]\r\ntests/test_hypothesis.py .... [ 75%]\r\n```\r\n\r\n\r\nIssue: #599\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--600.org.readthedocs.build/en/600/\n\r\n", "created_at": "2023-11-03T22:23:26Z", "updated_at": "2023-11-04T00:34:33Z", "closed_at": "2023-11-04T00:31:49Z", "merged_at": "2023-11-04T00:31:49Z", "merge_commit_sha": "b92ea4793ce4dcb73cf762aae634ab72f65ec50f", "assignee": null, "milestone": null, "draft": 0, "head": "b1a60766a4150268557c4445297087a3f076be01", "base": "622c3a5a7dd53a09c029e2af40c2643fe7579340", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/600", "merged_by": null, "auto_merge": null} {"id": 1571053445, "node_id": "PR_kwDOBm6k_c5dpF-F", "number": 2202, "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: [black](https://github.com/psf/black).\n\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.10.1

\n

Highlights

\n\n

Preview style

\n\n

Packaging

\n\n

Integrations

\n\n

Documentation

\n\n

23.10.0

\n

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Parser

\n\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.10.1

\n

Highlights

\n\n

Preview style

\n\n

Packaging

\n\n

Integrations

\n\n

Documentation

\n\n

23.10.0

\n

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Parser

\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=23.9.1&new-version=23.10.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 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--2202.org.readthedocs.build/en/2202/\n\r\n", "created_at": "2023-10-24T13:40:21Z", "updated_at": "2023-11-08T13:19:03Z", "closed_at": "2023-11-08T13:19:01Z", "merged_at": null, "merge_commit_sha": "dec2db2dd566aa9aa9d9ac124328c15bb80d52c5", "assignee": null, "milestone": null, "draft": 0, "head": "be4d0f0ad1f2d113230a1ae4c394f1b3134a0324", "base": "452a587e236ef642cbc6ae345b58767ea8420cb5", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2202", "merged_by": null, "auto_merge": null} {"id": 1562664755, "node_id": "PR_kwDOBm6k_c5dJF8z", "number": 2200, "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: [black](https://github.com/psf/black).\n\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.10.0

\n

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Parser

\n\n

Output

\n\n

Integrations

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

Sourced from black's changelog.

\n
\n

23.10.0

\n

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Parser

\n\n

Output

\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=23.9.1&new-version=23.10.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 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--2200.org.readthedocs.build/en/2200/\n\r\n", "created_at": "2023-10-18T13:25:55Z", "updated_at": "2023-10-24T13:40:29Z", "closed_at": "2023-10-24T13:40:26Z", "merged_at": null, "merge_commit_sha": "dc3806dfbfbcfab2f7d75a8e91e7bd8b3dfc11f2", "assignee": null, "milestone": null, "draft": 0, "head": "011bb920c5e8061aaf3d90d47e3e5bb684eef2ba", "base": "452a587e236ef642cbc6ae345b58767ea8420cb5", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2200", "merged_by": null, "auto_merge": null} {"id": 1542299634, "node_id": "PR_kwDOCGYnMM5b7Z_y", "number": 598, "state": "closed", "locked": 0, "title": "Fixed issue #433 - CLI eats cursor", "user": {"value": 62745, "label": "spookylukey"}, "body": "The issue is that underlying iterator is not fully consumed within the body of the `with file_progress()` block. Instead, that block creates generator expressions like `docs = (dict(zip(headers, row)) for row in reader)`\r\n\r\nThese iterables are consumed later, outside the `with file_progress()` block, which consumes the underlying iterator, and in turn updates the progress bar.\r\n\r\nThis means that the `ProgressBar.__exit__` method gets called before the last time the `ProgressBar.update` method gets called. The result is that the code to make the cursor invisible (inside the `update()` method) is called after the cleanup code to make it visible (in the `__exit__` method).\r\n\r\nThe fix is to move consumption of the `docs` iterators within the progress bar block. (\r\n\r\n(An additional fix, to make ProgressBar more robust against this kind of misuse, would to make it refusing to update after its `__exit__` method had been called, just like files cannot be `read()` after they are closed. That requires a in the click library).\r\n\r\nNote that Github diff obscures the simplicity of this diff, it's just indenting a block of code.\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--598.org.readthedocs.build/en/598/\n\r\n", "created_at": "2023-10-04T18:06:58Z", "updated_at": "2023-11-04T00:46:55Z", "closed_at": "2023-11-04T00:40:30Z", "merged_at": "2023-11-04T00:40:30Z", "merge_commit_sha": "37273d7f63f08872aa1c90c4233a0580e384ac19", "assignee": null, "milestone": null, "draft": 0, "head": "76113d1cb1387811d556fb7a32e0628492c34aea", "base": "622c3a5a7dd53a09c029e2af40c2643fe7579340", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/598", "merged_by": null, "auto_merge": null} {"id": 1535767490, "node_id": "PR_kwDOCGYnMM5bifPC", "number": 596, "state": "closed", "locked": 0, "title": "Fixes mapping for time fields related to mysql, closes #522", "user": {"value": 4420927, "label": "nezhar"}, "body": "Adds `COLUMN_TYPE_MAPPING` for `TIME` fields that are mapped as `datetime.timedelta` for MySQL and json represantation for `datetime.timedelta` in order to fix #522\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--596.org.readthedocs.build/en/596/\n\r\n", "created_at": "2023-09-29T13:41:48Z", "updated_at": "2023-11-04T00:49:50Z", "closed_at": "2023-11-04T00:49:50Z", "merged_at": "2023-11-04T00:49:50Z", "merge_commit_sha": "347fdc865e91b8d3410f49a5c9d5b499fbb594c1", "assignee": null, "milestone": null, "draft": 0, "head": "ab12125b3f7d0ef327b08d95f27c6c4cec6fdfb3", "base": "622c3a5a7dd53a09c029e2af40c2643fe7579340", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/596", "merged_by": null, "auto_merge": null} {"id": 1522166951, "node_id": "PR_kwDOBm6k_c5aumyn", "number": 2192, "state": "closed", "locked": 0, "title": "Stop using parallel SQL queries for tables", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #2189\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2192.org.readthedocs.build/en/2192/\n\r\n", "created_at": "2023-09-20T01:28:43Z", "updated_at": "2023-09-20T22:10:56Z", "closed_at": "2023-09-20T22:10:55Z", "merged_at": "2023-09-20T22:10:55Z", "merge_commit_sha": "b0e5d8afa308759f4ee9f3ecdf61101dffc4a037", "assignee": null, "milestone": null, "draft": 0, "head": "4e6a34179eaedec44c1263275d7592fd83d7e2ac", "base": "6ed7908580fa2ba9297c3225d85c56f8b08b9937", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2192", "merged_by": null, "auto_merge": null} {"id": 1520248889, "node_id": "PR_kwDOBm6k_c5anSg5", "number": 2191, "state": "closed", "locked": 0, "title": "Move `permissions`, `allow` blocks, canned queries and more out of `metadata.yaml` and into `datasette.yaml`", "user": {"value": 15178711, "label": "asg017"}, "body": "The PR moves the following fields from `metadata.yaml` to `datasette.yaml`:\r\n\r\n```\r\npermissions\r\nallow\r\nallow_sql\r\nqueries\r\nextra_css_urls\r\nextra_js_urls\r\n```\r\n\r\nThis is a significant breaking change that users will need to upgrade their `metadata.yaml` files for. But the format/locations are similar to the previous version, so it shouldn't be too difficult to upgrade.\r\n\r\nOne note: I'm still working on the Configuration docs, specifically the \"reference\" section. Though it's pretty small, the rest of read to review", "created_at": "2023-09-18T21:21:16Z", "updated_at": "2023-10-12T16:16:38Z", "closed_at": "2023-10-12T16:16:38Z", "merged_at": "2023-10-12T16:16:38Z", "merge_commit_sha": "35deaabcb105903790d18710a26e77545f6852ce", "assignee": null, "milestone": null, "draft": 0, "head": "18b48f879b68d1e80e3adbae056710a6238b16bb", "base": "6ed7908580fa2ba9297c3225d85c56f8b08b9937", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2191", "merged_by": null, "auto_merge": null} {"id": 1519993584, "node_id": "PR_kwDOBm6k_c5amULw", "number": 2190, "state": "closed", "locked": 0, "title": "Raise an exception if a \"plugins\" block exists in metadata.json", "user": {"value": 15178711, "label": "asg017"}, "body": "refs #2183 #2093\r\n\r\nFrom [this comment](https://github.com/simonw/datasette/pull/2183#issuecomment-1714699724) in #2183: If a `\"plugins\"` block appears in `metadata.json`, it means that a user hasn't migrated over their plugin configuration from `metadata.json` to `datasette.yaml`, which is a breaking change in Datasette 1.0. \r\n\r\nThis PR will ensure that an error is raised whenever that happens.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2190.org.readthedocs.build/en/2190/\n\r\n", "created_at": "2023-09-18T18:08:56Z", "updated_at": "2023-10-12T16:20:51Z", "closed_at": "2023-10-12T16:20:51Z", "merged_at": "2023-10-12T16:20:51Z", "merge_commit_sha": "3d6d1e3050b8e50fac40ec090672d8a95fa8e06c", "assignee": null, "milestone": null, "draft": 0, "head": "fc7dbe0d8ac3e368b6c335d2ce8abe780f36dbd6", "base": "6ed7908580fa2ba9297c3225d85c56f8b08b9937", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2190", "merged_by": null, "auto_merge": null} {"id": 1515716751, "node_id": "PR_kwDOBm6k_c5aWACP", "number": 2185, "state": "closed", "locked": 0, "title": "Bump the python-packages group with 3 updates", "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 [black](https://github.com/psf/black).\n\nUpdates `sphinx` from 7.2.5 to 7.2.6\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.2.6

\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.6 (released Sep 13, 2023)

\n

Bugs fixed

\n\n
\n
\n
\nCommits\n\n
\n
\n\nUpdates `furo` from 2023.8.19 to 2023.9.10\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.09.10 -- Zesty Zaffre

\n\n

2023.08.19 -- Xenolithic Xanadu

\n\n

2023.08.17 -- Wonderous White

\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
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\nUpdates `black` from 23.7.0 to 23.9.1\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.9.1

\n

Due to various issues, the previous release (23.9.0) did not include compiled mypyc\nwheels, which make Black significantly faster. These issues have now been fixed, and\nthis release should come with compiled wheels once again.

\n

There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12\nwheels in a future release as soon as the mypyc bug is fixed.

\n

Packaging

\n\n

Performance

\n\n

23.9.0

\n

Preview style

\n\n

Configuration

\n\n

Performance

\n\n

Blackd

\n\n

Integrations

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

Sourced from black's changelog.

\n
\n

23.9.1

\n

Due to various issues, the previous release (23.9.0) did not include compiled mypyc\nwheels, which make Black significantly faster. These issues have now been fixed, and\nthis release should come with compiled wheels once again.

\n

There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12\nwheels in a future release as soon as the mypyc bug is fixed.

\n

Packaging

\n\n

Performance

\n\n

23.9.0

\n

Preview style

\n\n

Configuration

\n\n

Performance

\n\n

Blackd

\n\n

Integrations

\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 ` 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--2185.org.readthedocs.build/en/2185/\n\r\n", "created_at": "2023-09-14T13:27:40Z", "updated_at": "2023-09-20T22:11:25Z", "closed_at": "2023-09-20T22:11:24Z", "merged_at": "2023-09-20T22:11:24Z", "merge_commit_sha": "6763572948ffd047a89a3bbf7c300e91f51ae98f", "assignee": null, "milestone": null, "draft": 0, "head": "fe5f881a5270201d833fff2ebfd08c883116223a", "base": "6ed7908580fa2ba9297c3225d85c56f8b08b9937", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2185", "merged_by": null, "auto_merge": null} {"id": 1510964674, "node_id": "PR_kwDOBm6k_c5aD33C", "number": 2183, "state": "closed", "locked": 0, "title": "`datasette.yaml` plugin support", "user": {"value": 15178711, "label": "asg017"}, "body": "Part of #2093\r\n\r\nIn #2149 , we ported over `\"settings.json\"` into the new `datasette.yaml` config file, with a top-level `\"settings\"` key. This PR ports over plugin configuration into top-level `\"plugins\"` key, as well as nested database/table plugin config.\r\n\r\nFrom now on, no plugin-related configuration is allowed in `metadata.yaml`, and must be in `datasette.yaml` in this new format. This is a pretty significant breaking change. Thankfully, you should be able to copy-paste your legacy plugin key/values into the new `datasette.yaml` format.\r\n\r\nAn example of what `datasette.yaml` would look like with this new plugin config:\r\n\r\n```yaml\r\n\r\nplugins:\r\n datasette-my-plugin:\r\n config_key: value\r\n\r\ndatabases:\r\n fixtures:\r\n plugins: \r\n datasette-my-plugin:\r\n config_key: fixtures-db-value\r\n tables:\r\n students:\r\n plugins:\r\n datasette-my-plugin:\r\n config_key: fixtures-students-table-value\r\n\r\n```\r\n\r\nAs an additional benefit, this now works with the new `-s` flag:\r\n\r\n```bash\r\ndatasette --memory -s 'plugins.datasette-my-plugin.config_key' new_value\r\n```\r\n\r\n\r\nMarked as a \"Draft\" right now until I add better documentation. We also should have a plan for the next alpha release to document and publicize this change, especially for plugin authors (since their docs will have to change to say `datasette.yaml` instead of `metadata.yaml`\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2183.org.readthedocs.build/en/2183/\n\r\n", "created_at": "2023-09-11T20:26:04Z", "updated_at": "2023-09-13T21:06:25Z", "closed_at": "2023-09-13T21:06:25Z", "merged_at": "2023-09-13T21:06:25Z", "merge_commit_sha": "b2ec8717c3619260a1b535eea20e618bf95aa30b", "assignee": null, "milestone": null, "draft": 0, "head": "acca3387a18a64439d8ae8f535c856c97605a8a5", "base": "a4c96d01b27ce7cd06662a024da3547132a7c412", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2183", "merged_by": null, "auto_merge": null} {"id": 1510415840, "node_id": "PR_kwDOBm6k_c5aBx3g", "number": 2182, "state": "closed", "locked": 0, "title": "Bump the python-packages group with 2 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps the python-packages group with 2 updates: [furo](https://github.com/pradyunsg/furo) and [black](https://github.com/psf/black).\n\nUpdates `furo` from 2023.8.19 to 2023.9.10\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.09.10 -- Zesty Zaffre

\n\n

2023.08.19 -- Xenolithic Xanadu

\n\n

2023.08.17 -- Wonderous White

\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
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\nUpdates `black` from 23.7.0 to 23.9.1\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.9.1

\n

Due to various issues, the previous release (23.9.0) did not include compiled mypyc\nwheels, which make Black significantly faster. These issues have now been fixed, and\nthis release should come with compiled wheels once again.

\n

There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12\nwheels in a future release as soon as the mypyc bug is fixed.

\n

Packaging

\n\n

Performance

\n\n

23.9.0

\n

Preview style

\n\n

Configuration

\n\n

Performance

\n\n

Blackd

\n\n

Integrations

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

Sourced from black's changelog.

\n
\n

23.9.1

\n

Due to various issues, the previous release (23.9.0) did not include compiled mypyc\nwheels, which make Black significantly faster. These issues have now been fixed, and\nthis release should come with compiled wheels once again.

\n

There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12\nwheels in a future release as soon as the mypyc bug is fixed.

\n

Packaging

\n\n

Performance

\n\n

23.9.0

\n

Preview style

\n\n

Configuration

\n\n

Performance

\n\n

Blackd

\n\n

Integrations

\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 ` 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--2182.org.readthedocs.build/en/2182/\n\r\n", "created_at": "2023-09-11T14:01:25Z", "updated_at": "2023-09-14T13:27:30Z", "closed_at": "2023-09-14T13:27:28Z", "merged_at": null, "merge_commit_sha": "dd3b8703a32faac88c94e79b429c0eb1fe86c537", "assignee": null, "milestone": null, "draft": 0, "head": "bda70bfb3f2fe4847bcaa6d1b48a721a2214a24c", "base": "a4c96d01b27ce7cd06662a024da3547132a7c412", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2182", "merged_by": null, "auto_merge": null} {"id": 1507122571, "node_id": "PR_kwDOBm6k_c5Z1N2L", "number": 2181, "state": "closed", "locked": 0, "title": "actors_from_ids plugin hook and datasette.actors_from_ids() method", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #2180\r\n\r\nThis plugin hook is feature complete - including documentation and tests.\r\n\r\nI'm not going to land it in Datasette `main` until we've used it at least once though, which should happen promptly in development for [Datasette Cloud](https://www.datasette.cloud/).\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2181.org.readthedocs.build/en/2181/\n\r\n", "created_at": "2023-09-08T01:51:07Z", "updated_at": "2023-09-08T04:24:00Z", "closed_at": "2023-09-08T04:23:59Z", "merged_at": "2023-09-08T04:23:59Z", "merge_commit_sha": "b645174271aa08e8ca83b27ff83ce078ecd15da2", "assignee": null, "milestone": null, "draft": 0, "head": "e1c5a9d92b7677eaf9eff58d05badb39d078d1bd", "base": "c26370485a4fd4bf130da051be9163d92c57f24f", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2181", "merged_by": null, "auto_merge": null} {"id": 1507097949, "node_id": "PR_kwDOCGYnMM5Z1H1d", "number": 593, "state": "closed", "locked": 0, "title": ".transform() now preserves rowid values, refs #592", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #592\r\n\r\n- [x] Tests against weird shaped tables\r\n\r\nI need to test that this works against:\r\n\r\n- `rowid` tables\r\n- Tables that have a column called `rowid` even though they are not rowid tables\r\n\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://sqlite-utils--593.org.readthedocs.build/en/593/\r\n\r\n", "created_at": "2023-09-08T01:02:28Z", "updated_at": "2023-09-10T17:44:59Z", "closed_at": "2023-09-09T00:45:30Z", "merged_at": "2023-09-09T00:45:30Z", "merge_commit_sha": "1c6ea54338e24fcebcee4e2f9c170ee300a5d946", "assignee": null, "milestone": null, "draft": 0, "head": "b86374f705d1f4143a51634b30289cb48add0ea2", "base": "5d123f031fc4fadc98f508e0ef6b7b6671e86155", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/593", "merged_by": null, "auto_merge": null} {"id": 1505067804, "node_id": "PR_kwDODFE5qs5ZtYMc", "number": 13, "state": "open", "locked": 0, "title": "use poetry for packages, asdf for versioning, and gh actions for ci", "user": {"value": 150855, "label": "iloveitaly"}, "body": "- build: use poetry for package management, asdf for python version\n- build: cleanup poetry config, add keywords, ignore dist\n- ci: migrate circleci to gh actions\n- fix: dup method definition\n", "created_at": "2023-09-06T17:59:16Z", "updated_at": "2023-09-06T17:59:16Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "cd4d8c4a7ecd231f6c5a8886245271934177f104", "assignee": null, "milestone": null, "draft": 0, "head": "b5f0ebe91755c46e01dc4aefb808f0292848fbed", "base": "e54e544427f1cc3ea8189f0e95f54046301a8645", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 206649770, "label": "google-takeout-to-sqlite"}, "url": "https://github.com/dogsheep/google-takeout-to-sqlite/pull/13", "merged_by": null, "auto_merge": null} {"id": 1504920193, "node_id": "PR_kwDOCGYnMM5Zs0KB", "number": 591, "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://sqlite-utils--591.org.readthedocs.build/en/591/\n\r\n", "created_at": "2023-09-06T16:10:00Z", "updated_at": "2023-11-04T00:58:03Z", "closed_at": "2023-11-04T00:58:02Z", "merged_at": null, "merge_commit_sha": "ac0db3c705355178bd5a337b8dd74df141b12c7a", "assignee": null, "milestone": null, "draft": 0, "head": "1f14df1de4a214b12abfba6edd61a4bfa0b8473e", "base": "347fdc865e91b8d3410f49a5c9d5b499fbb594c1", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/591", "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": 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": 1503774871, "node_id": "PR_kwDOBm6k_c5ZociX", "number": 2173, "state": "closed", "locked": 0, "title": "click-default-group>=1.2.3", "user": {"value": 9599, "label": "simonw"}, "body": "Now available as a wheel:\r\n- https://github.com/click-contrib/click-default-group/issues/21\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2173.org.readthedocs.build/en/2173/\n\r\n", "created_at": "2023-09-06T02:33:28Z", "updated_at": "2023-09-06T02:50:10Z", "closed_at": "2023-09-06T02:50:10Z", "merged_at": "2023-09-06T02:50:10Z", "merge_commit_sha": "05707aa16b5c6c39fbe48b3176b85a8ffe493938", "assignee": null, "milestone": null, "draft": 0, "head": "a481ebd495d0f87ebd6dcf360a9cff25a6e148d7", "base": "fd083e37ec53e7e625111168d324a572344a3b19", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2173", "merged_by": null, "auto_merge": null} {"id": 1501923826, "node_id": "PR_kwDOJHON9s5ZhYny", "number": 14, "state": "open", "locked": 0, "title": "fix: fix the problem of Chinese character garbling", "user": {"value": 2698003, "label": "barretlee"}, "body": "1. The code uses two different ways of writing encoding formats, `mac_roman` and `macroman`. It is uncertain whether there are any typo errors.\r\n2. When there are Chinese characters in the content, exporting it results in garbled code. Changing it to `utf8` can fix the issue.", "created_at": "2023-09-04T23:48:28Z", "updated_at": "2023-09-04T23:48:28Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "66b5b73948b1bedc275432956dda43cfe151c78c", "assignee": null, "milestone": null, "draft": 0, "head": "5febe19b8922aa818e7dc265bdee30bcc5004eb4", "base": "e55a802d37a896475b6cf475c1ba947af63cca73", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 611552758, "label": "apple-notes-to-sqlite"}, "url": "https://github.com/dogsheep/apple-notes-to-sqlite/pull/14", "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": 1496106142, "node_id": "PR_kwDOBm6k_c5ZLMSe", "number": 2165, "state": "closed", "locked": 0, "title": "DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins", "user": {"value": 9599, "label": "simonw"}, "body": "- #2164\r\n\r\nTODO:\r\n\r\n- [x] Automated tests\r\n- [ ] Documentation\r\n- [x] Make sure `DATASETTE_LOAD_PLUGINS=''` works for loading zero plugins", "created_at": "2023-08-30T20:33:30Z", "updated_at": "2023-08-30T22:12:25Z", "closed_at": "2023-08-30T22:12:25Z", "merged_at": "2023-08-30T22:12:25Z", "merge_commit_sha": "6bfe104d47b888c70bfb7781f8f48ff11452b2b5", "assignee": null, "milestone": null, "draft": 0, "head": "6321c9c055a640ed6ea98e231dc5813dcde1f773", "base": "30b28c8367a9c6870386ea10a202705b40862457", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2165", "merged_by": null, "auto_merge": null} {"id": 1492889894, "node_id": "PR_kwDOBm6k_c5Y-7Em", "number": 2162, "state": "closed", "locked": 0, "title": "Add new `--internal internal.db` option, deprecate legacy `_internal` database", "user": {"value": 15178711, "label": "asg017"}, "body": "refs #2157 \r\n\r\nThis PR adds a new `--internal` option to datasette serve. If provided, it is the path to a persistent internal database that Datasette core and Datasette plugins can use to store data, as discussed in the proposal issue. \r\n\r\nThis PR also removes and deprecates the previous in-memory `_internal` database. Those tables now appear in the `internal` database, with `core_` prefixes (ex `tables` in `_internal` is now `core_tables` in `internal`).\r\n\r\n\r\n## A note on the new `core_` tables\r\nHowever, one important notes about those new `core_` tables: If a `--internal` DB is passed in, that means those `core_` tables will persist across multiple Datasette instances. This wasn't the case before, since `_internal` was always an in-memory database created from scratch.\r\n\r\nI tried to put those `core_` tables as `TEMP` tables - after all, there's always one 1 `internal` DB connection at a time, so I figured it would work. But, since we use the `Database()` wrapper for the internal DB, it has two separate connections: a default read-only connection and a write connection that is created when a write operation occurs. Which meant the `TEMP` tables would be created by the write connection, but not available in the read-only connection. \r\n\r\nSo I had a brillant idea: Attach an in-memory named database with `cache=shared`, and create those tables there! \r\n\r\n```sql\r\nATTACH DATABASE 'file:datasette_internal_core?mode=memory&cache=shared' AS core;\r\n```\r\n\r\nWe'd run this on both the read-only connection and the write-only connection. That way, those tables would stay in memory, they'd communicate with the `cache=shared` feature, and we'd be good to go.\r\n\r\n\r\nHowever, I couldn't find an easy way to run a `ATTACH DATABASE` command on the read-only query. \r\n\r\nUsing `Database()` as a wrapper for the internal DB is pretty limiting - it's meant for Datasette \"data\" databases, where we want multiple readers and possibly 1 write connection at a time. But the internal database doesn't really require that kind of support - I think we could get away with a single read/write connection, but it seemed like too big of a rabbithole to go through now. \r\n\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://datasette--2162.org.readthedocs.build/en/2162/\r\n\r\n", "created_at": "2023-08-29T00:05:07Z", "updated_at": "2023-08-29T03:24:23Z", "closed_at": "2023-08-29T03:24:23Z", "merged_at": "2023-08-29T03:24:23Z", "merge_commit_sha": "92b8bf38c02465f624ce3f48dcabb0b100c4645d", "assignee": null, "milestone": null, "draft": 0, "head": "73489cac8ef8e934e601302fa6594e27b75a382d", "base": "2e2825869fc2655b5fcadc743f6f9dec7a49bc65", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2162", "merged_by": null, "auto_merge": null} {"id": 1492599485, "node_id": "PR_kwDOBm6k_c5Y90K9", "number": 2161, "state": "closed", "locked": 0, "title": "-s/--setting x y gets merged into datasette.yml, refs #2143, #2156", "user": {"value": 9599, "label": "simonw"}, "body": "This change updates the `-s/--setting` option to `datasette serve` to allow it to be used to set arbitrarily complex nested settings in a way that is compatible with the new `-c datasette.yml` work happening in:\r\n- #2143\r\n\r\nIt will enable things like this:\r\n```\r\ndatasette data.db --setting plugins.datasette-ripgrep.path \"/home/simon/code\"\r\n```\r\nFor the moment though it just affects [settings](https://docs.datasette.io/en/1.0a4/settings.html) - so you can do this:\r\n```\r\ndatasette data.db --setting settings.sql_time_limit_ms 3500\r\n```\r\nI've also implemented a backwards compatibility mechanism, so if you use it this way (the old way):\r\n```\r\ndatasette data.db --setting sql_time_limit_ms 3500\r\n```\r\nIt will notice that the setting you passed is one of Datasette's core settings, and will treat that as if you said `settings.sql_time_limit_ms` instead.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2161.org.readthedocs.build/en/2161/\n\r\n", "created_at": "2023-08-28T19:30:42Z", "updated_at": "2023-08-28T20:06:15Z", "closed_at": "2023-08-28T20:06:14Z", "merged_at": "2023-08-28T20:06:14Z", "merge_commit_sha": "d9aad1fd042a25d226f2ace1f7827b4602761038", "assignee": null, "milestone": null, "draft": 0, "head": "a5cbf80d795b599697b2b873566386abb0cd8b32", "base": "527cec66b0403e689c8fb71fc8b381a1d7a46516", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2161", "merged_by": null, "auto_merge": null} {"id": 1492124532, "node_id": "PR_kwDOBm6k_c5Y8AN0", "number": 2160, "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.4\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.2.4

\n

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

\n

Sphinx 7.2.3

\n

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

\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.4 (released Aug 28, 2023)

\n

Bugs fixed

\n\n

Release 7.2.3 (released Aug 23, 2023)

\n

Dependencies

\n\n

Bugs fixed

\n\n

Release 7.2.2 (released Aug 17, 2023)

\n

Bugs fixed

\n\n

Release 7.2.1 (released Aug 17, 2023)

\n\n
\n

... (truncated)

\n
\n
\nCommits\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

2023.08.17 -- Wonderous White

\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\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
\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 ` 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--2160.org.readthedocs.build/en/2160/\n\r\n", "created_at": "2023-08-28T13:49:31Z", "updated_at": "2023-08-29T00:38:33Z", "closed_at": "2023-08-29T00:38:32Z", "merged_at": "2023-08-29T00:38:32Z", "merge_commit_sha": "d28f12092dd795f35e9500154711d542f8931676", "assignee": null, "milestone": null, "draft": 0, "head": "3529c9c4a6b9cdf628b8452f502014a51f650709", "base": "2e2825869fc2655b5fcadc743f6f9dec7a49bc65", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2160", "merged_by": null, "auto_merge": null} {"id": 1489526658, "node_id": "PR_kwDOBm6k_c5YyF-C", "number": 2159, "state": "open", "locked": 0, "title": "Implement Dark Mode colour scheme", "user": {"value": 3315059, "label": "jamietanna"}, "body": "Closes #2095.\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2159.org.readthedocs.build/en/2159/\n\r\n", "created_at": "2023-08-25T10:46:23Z", "updated_at": "2023-08-25T10:46:35Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "97687cea4bd9c94ae76a780311e044b3c77ef902", "assignee": null, "milestone": null, "draft": 1, "head": "4b969945d106e48b50545fc029ec020593ee1db0", "base": "527cec66b0403e689c8fb71fc8b381a1d7a46516", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2159", "merged_by": null, "auto_merge": null} {"id": 1488782498, "node_id": "PR_kwDOBm6k_c5YvQSi", "number": 2158, "state": "open", "locked": 0, "title": "add brand option to metadata.json.", "user": {"value": 52261150, "label": "publicmatt"}, "body": "This adds a brand link to the top navbar if 'brand' key is populated in metadata.json. The link will be either '#' or use the contents of 'brand_url' in metadata.json for href.\r\n\r\nI was able to get this done on my own site by replacing `templates/_crumbs.html` with a custom version, but I thought it would be nice to incorporate this in the tool directly.\r\n\r\n![image](https://github.com/simonw/datasette/assets/52261150/fdfe9bb5-fee4-466c-8074-6132071d94e6)\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2158.org.readthedocs.build/en/2158/\n\r\n", "created_at": "2023-08-24T22:37:41Z", "updated_at": "2023-08-24T22:37:57Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "20fad9361ea7173a3543fa16e4b6913a3a0f4b9e", "assignee": null, "milestone": null, "draft": 0, "head": "0d89c4bd19732487232ab2637cf5e8632f48986b", "base": "527cec66b0403e689c8fb71fc8b381a1d7a46516", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2158", "merged_by": null, "auto_merge": null} {"id": 1488414606, "node_id": "PR_kwDOBm6k_c5Yt2eO", "number": 2155, "state": "open", "locked": 0, "title": "Fix hupper.start_reloader entry point", "user": {"value": 79087, "label": "cadeef"}, "body": "Update hupper's entry point so that click commands are processed properly.\r\n\r\nFixes #2123\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2155.org.readthedocs.build/en/2155/\n\r\n", "created_at": "2023-08-24T17:14:08Z", "updated_at": "2023-09-27T18:44:02Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "8b993f48927cfb89f31251a94dc7b48b6b2d3021", "assignee": null, "milestone": null, "draft": 0, "head": "ba2c235a8ea7240549af38988b4cbff8d7ec55bd", "base": "bdf59eb7db42559e538a637bacfe86d39e5d17ca", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2155", "merged_by": null, "auto_merge": null} {"id": 1488154809, "node_id": "PR_kwDOBm6k_c5Ys3C5", "number": 2154, "state": "closed", "locked": 0, "title": "Cascade for restricted token view-table/view-database/view-instance operations", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #2102\r\n\r\nAlso includes a prototype implementation of `--actor option` which I'm using for testing this, from:\r\n- #2153\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2154.org.readthedocs.build/en/2154/\n\r\n", "created_at": "2023-08-24T14:24:23Z", "updated_at": "2023-08-29T16:32:35Z", "closed_at": "2023-08-29T16:32:34Z", "merged_at": "2023-08-29T16:32:34Z", "merge_commit_sha": "50da908213a0fc405ecd7a40090dfea7a2e7395c", "assignee": null, "milestone": null, "draft": 0, "head": "1b38cba913b0a3515b4b1649276dc1ff973680bb", "base": "2e2825869fc2655b5fcadc743f6f9dec7a49bc65", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2154", "merged_by": null, "auto_merge": null} {"id": 1488057979, "node_id": "PR_kwDOBm6k_c5YsfZ7", "number": 2152, "state": "closed", "locked": 0, "title": "Bump the python-packages group with 3 updates", "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.3\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

Sphinx 7.2.3

\n

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

\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.3 (released Aug 23, 2023)

\n

Dependencies

\n\n

Bugs fixed

\n\n

Release 7.2.2 (released Aug 17, 2023)

\n

Bugs fixed

\n\n

Release 7.2.1 (released Aug 17, 2023)

\n

Bugs fixed

\n\n

Release 7.2.0 (released Aug 17, 2023)

\n\n
\n

... (truncated)

\n
\n
\nCommits\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

2023.08.17 -- Wonderous White

\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\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
\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 ` 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--2152.org.readthedocs.build/en/2152/\n\r\n", "created_at": "2023-08-24T13:34:44Z", "updated_at": "2023-08-28T13:49:39Z", "closed_at": "2023-08-28T13:49:37Z", "merged_at": null, "merge_commit_sha": "67309f5c52670b5a139bcfc7bbce8039a5af2a00", "assignee": null, "milestone": null, "draft": 0, "head": "5dfa3055fa9812a7ae56741a0103ae59352f44bb", "base": "527cec66b0403e689c8fb71fc8b381a1d7a46516", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2152", "merged_by": null, "auto_merge": null} {"id": 1487124196, "node_id": "PR_kwDOBm6k_c5Yo7bk", "number": 2151, "state": "open", "locked": 0, "title": "Test Datasette on multiple SQLite versions", "user": {"value": 15178711, "label": "asg017"}, "body": "still testing, hope it works!\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2151.org.readthedocs.build/en/2151/\n\r\n", "created_at": "2023-08-23T22:42:51Z", "updated_at": "2023-08-23T22:58:13Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "3d2c7cbf727c0ca31161a7acb8ea51f1ee7dcd58", "assignee": null, "milestone": null, "draft": 1, "head": "b895cd2fb308154de67972c485e54497c006f47e", "base": "bdf59eb7db42559e538a637bacfe86d39e5d17ca", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2151", "merged_by": null, "auto_merge": null} {"id": 1485078422, "node_id": "PR_kwDOBm6k_c5YhH-W", "number": 2149, "state": "closed", "locked": 0, "title": "Start a new `datasette.yaml` configuration file, with settings support", "user": {"value": 15178711, "label": "asg017"}, "body": "refs #2093 #2143 \r\n\r\nThis is the first step to implementing the new `datasette.yaml`/`datasette.json` configuration file. \r\n\r\n- The old `--config` argument is now back, and is the path to a `datasette.yaml` file. Acts like the `--metadata` flag.\r\n- The old `settings.json` behavior has been removed.\r\n- The `\"settings\"` key inside `datasette.yaml` defines the same `--settings` flags\r\n- Values passed in `--settings` will over-write values in `datasette.yaml`\r\n\r\nDocs for the Config file is pretty light, not much to add until we add more config to the file.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2149.org.readthedocs.build/en/2149/\n\r\n", "created_at": "2023-08-22T16:24:16Z", "updated_at": "2023-08-23T01:26:11Z", "closed_at": "2023-08-23T01:26:11Z", "merged_at": "2023-08-23T01:26:11Z", "merge_commit_sha": "17ec309e14f9c2e90035ba33f2f38ecc5afba2fa", "assignee": null, "milestone": null, "draft": 0, "head": "db720cd603def51f1d0f074a16d186779a962ea7", "base": "943df09dcca93c3b9861b8c96277a01320db8662", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2149", "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

Release 7.2.1 (released Aug 17, 2023)

\n

Bugs fixed

\n\n

Release 7.2.0 (released Aug 17, 2023)

\n

Dependencies

\n\n

Deprecated

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\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

2023.08.17 -- Wonderous White

\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\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
\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": 1480615708, "node_id": "PR_kwDOBm6k_c5YQGcc", "number": 2144, "state": "closed", "locked": 0, "title": "Bump the python-packages group with 3 updates", "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

Release 7.2.1 (released Aug 17, 2023)

\n

Bugs fixed

\n\n

Release 7.2.0 (released Aug 17, 2023)

\n

Dependencies

\n\n

Deprecated

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\nUpdates `furo` from 2023.7.26 to 2023.8.17\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.08.17 -- Wonderous White

\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\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
\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--2144.org.readthedocs.build/en/2144/\n\r\n", "created_at": "2023-08-18T13:49:37Z", "updated_at": "2023-08-21T13:48:18Z", "closed_at": "2023-08-21T13:48:16Z", "merged_at": null, "merge_commit_sha": "dc265dd15d0c7f42aef86755bfea28bbb3ce557b", "assignee": null, "milestone": null, "draft": 0, "head": "3a97755e8924130e649009877a255fa9b7cc703b", "base": "943df09dcca93c3b9861b8c96277a01320db8662", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2144", "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": 1479018104, "node_id": "PR_kwDOBm6k_c5YKAZ4", "number": 2142, "state": "closed", "locked": 0, "title": "Bump the python-packages group with 2 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps the python-packages group with 2 updates: [sphinx](https://github.com/sphinx-doc/sphinx) and [blacken-docs](https://github.com/asottile/blacken-docs).\n\nUpdates `sphinx` from 7.1.2 to 7.2.0\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\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.0 (released Aug 17, 2023)

\n

Dependencies

\n\n

Deprecated

\n\n

Features added

\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
\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--2142.org.readthedocs.build/en/2142/\n\r\n", "created_at": "2023-08-17T13:07:53Z", "updated_at": "2023-08-18T13:49:29Z", "closed_at": "2023-08-18T13:49:26Z", "merged_at": null, "merge_commit_sha": "51c92d2b93052de68b53f2dbee1e8bde5e841dd8", "assignee": null, "milestone": null, "draft": 0, "head": "6b617f7f50fb72feb9767b3b430495097f16140a", "base": "943df09dcca93c3b9861b8c96277a01320db8662", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2142", "merged_by": null, "auto_merge": null} {"id": 1477525578, "node_id": "PR_kwDOBm6k_c5YEUBK", "number": 2141, "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: [blacken-docs](https://github.com/asottile/blacken-docs).\n\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.16.0 (2023-08-16)

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.15.0&new-version=1.16.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 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--2141.org.readthedocs.build/en/2141/\n\r\n", "created_at": "2023-08-16T13:47:35Z", "updated_at": "2023-08-17T13:07:48Z", "closed_at": "2023-08-17T13:07:45Z", "merged_at": null, "merge_commit_sha": "dcd7926e18195d4f301a89de73711f58dcc76c95", "assignee": null, "milestone": null, "draft": 0, "head": "e2be94a4e064464e1050964bcf41807dbfd9d809", "base": "943df09dcca93c3b9861b8c96277a01320db8662", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2141", "merged_by": null, "auto_merge": null} {"id": 1465521541, "node_id": "PR_kwDOBm6k_c5XWhWF", "number": 2128, "state": "closed", "locked": 0, "title": "Bump blacken-docs, furo, blacken-docs", "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 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\nUpdates `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\nUpdates `blacken-docs` from 1.14.0 to 1.15.0\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.15.0 (2023-07-09)

\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\n\n
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2128.org.readthedocs.build/en/2128/\n\r\n", "created_at": "2023-08-07T15:50:40Z", "updated_at": "2023-08-07T16:19:25Z", "closed_at": "2023-08-07T16:19:24Z", "merged_at": "2023-08-07T16:19:24Z", "merge_commit_sha": "5139c0886a7f6bb94d317ba0665aa6e728716028", "assignee": null, "milestone": null, "draft": 0, "head": "935d336884f4f2c900ebec7b799693ef51d337fb", "base": "adf54f5c808c16e9ad812c3a4376f35cf829a93c", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2128", "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": 1454726308, "node_id": "PR_kwDOD079W85WtVyk", "number": 39, "state": "open", "locked": 0, "title": "Missing option in datasette instructions", "user": {"value": 319473, "label": "coldclimate"}, "body": "Gotta tell it where to look", "created_at": "2023-07-29T10:34:48Z", "updated_at": "2023-07-29T10:34:48Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "bd9c51b4e3e110122f921fc6ebf10b69d7fcbb7a", "assignee": null, "milestone": null, "draft": 0, "head": "17c0ddf5113d8587247d4736e1390fe07ec33b8c", "base": "325aa38cb23d0757bb1335ee2ea94a082475a66e", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 256834907, "label": "dogsheep-photos"}, "url": "https://github.com/dogsheep/dogsheep-photos/pull/39", "merged_by": null, "auto_merge": null} {"id": 1454719622, "node_id": "PR_kwDOD079W85WtUKG", "number": 38, "state": "closed", "locked": 0, "title": "photos-to-sql not found?", "user": {"value": 319473, "label": "coldclimate"}, "body": "I wonder if `photos-to-sql` is an old name for `dogsheep-photos`, because I can't find it anywhere.\r\n\r\nI can't actually get this command to work (`sqlite3.OperationalError: no such table: attached.ZGENERICASSET` thrown) but I don't think that's related", "created_at": "2023-07-29T09:59:42Z", "updated_at": "2023-07-29T10:01:27Z", "closed_at": "2023-07-29T10:01:23Z", "merged_at": null, "merge_commit_sha": "78898d8344bd37379b9ef44384629c26ed8c4558", "assignee": null, "milestone": null, "draft": 0, "head": "dbf0213a98cfb92f49a60695d0e0094b851b1cbb", "base": "325aa38cb23d0757bb1335ee2ea94a082475a66e", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 256834907, "label": "dogsheep-photos"}, "url": "https://github.com/dogsheep/dogsheep-photos/pull/38", "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": 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": 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": 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

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.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} {"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": 1432754160, "node_id": "PR_kwDOBm6k_c5VZhfw", "number": 2100, "state": "open", "locked": 0, "title": "Make primary key view accessible to render_cell hook", "user": {"value": 1563881, "label": "meowcat"}, "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2100.org.readthedocs.build/en/2100/\n\r\n", "created_at": "2023-07-13T09:30:36Z", "updated_at": "2023-08-10T13:15:41Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "37e72ded81cba41c7597a4287e73c47570dca2c7", "assignee": null, "milestone": null, "draft": 0, "head": "5639f9d943e55d6990b40db726aa59790724899a", "base": "33251d04e78d575cca62bb59069bb43a7d924746", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2100", "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

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Packaging

\n\n

Parser

\n\n

Performance

\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

Stable style

\n\n

Preview style

\n\n

Configuration

\n\n

Packaging

\n\n

Parser

\n\n

Performance

\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": 1427574243, "node_id": "PR_kwDOBm6k_c5VFw3j", "number": 2098, "state": "closed", "locked": 0, "title": "Bump blacken-docs from 1.14.0 to 1.15.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.14.0 to 1.15.0.\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.15.0 (2023-07-09)

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.14.0&new-version=1.15.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--2098.org.readthedocs.build/en/2098/\n\r\n", "created_at": "2023-07-10T13:49:12Z", "updated_at": "2023-08-07T16:20:22Z", "closed_at": "2023-08-07T16:20:20Z", "merged_at": null, "merge_commit_sha": "f32cf40f16a5477b01069a5774909e06a6b3451d", "assignee": null, "milestone": null, "draft": 0, "head": "3d45262c1cd243a4d8848fa171c5d1a66514ac97", "base": "3a51ca901427ac93b0ed0638fd1f82fb647a299a", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2098", "merged_by": null, "auto_merge": null} {"id": 1425647904, "node_id": "PR_kwDOBm6k_c5U-akg", "number": 2096, "state": "open", "locked": 0, "title": "Clarify docs for descriptions in metadata", "user": {"value": 15906, "label": "garthk"}, "body": "G'day! I got confused while debugging, earlier today. That's on me, but it does strike me a little repetition in the metadata documentation might help those flicking around it rather than reading it from top to bottom. No worries if you think otherwise.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2096.org.readthedocs.build/en/2096/\n\r\n", "created_at": "2023-07-08T01:57:58Z", "updated_at": "2023-07-08T01:58:13Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "88388864859b24707f4be9574e357910c368b0fe", "assignee": null, "milestone": null, "draft": 0, "head": "3b787aae74b683414f3546bc9979e9f2c0ae13e9", "base": "8cd60fd1d899952f1153460469b3175465f33f80", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2096", "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": 1392480869, "node_id": "PR_kwDOBm6k_c5S_5Jl", "number": 2083, "state": "closed", "locked": 0, "title": "Bump blacken-docs from 1.13.0 to 1.14.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.13.0 to 1.14.0.\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.14.0 (2023-06-13)

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.13.0&new-version=1.14.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--2083.org.readthedocs.build/en/2083/\n\r\n", "created_at": "2023-06-14T13:57:52Z", "updated_at": "2023-06-29T14:31:55Z", "closed_at": "2023-06-29T14:31:54Z", "merged_at": "2023-06-29T14:31:54Z", "merge_commit_sha": "ede62036180993dbd9d4e5d280fc21c183cda1c3", "assignee": null, "milestone": null, "draft": 0, "head": "caee23e9ca8cbd4d189070188f90eabf97008b59", "base": "dda99fc09fb0b5523948f6d481c6c051c1c7b5de", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2083", "merged_by": null, "auto_merge": null} {"id": 1372714762, "node_id": "PR_kwDOBm6k_c5R0fcK", "number": 2082, "state": "open", "locked": 0, "title": "Catch query interrupted on facet suggest row count", "user": {"value": 10843208, "label": "redraw"}, "body": "Just like facet's `suggest()` is trapping `QueryInterrupted` for facet columns, we also need to trap `get_row_count()`, which can reach timeout if database tables are big enough. \r\n\r\nI've included `get_columns()` inside the block as that's just another query, despite it's a really cheap one and might never raise the exception.\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://datasette--2082.org.readthedocs.build/en/2082/\r\n\r\n", "created_at": "2023-05-31T18:42:46Z", "updated_at": "2023-05-31T18:45:26Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "eadc26004d50f38f28b032056821ba319c9f2e87", "assignee": null, "milestone": null, "draft": 0, "head": "dfe99af36c11b88ffcb5ca602d72cee1b8acd8bc", "base": "dda99fc09fb0b5523948f6d481c6c051c1c7b5de", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2082", "merged_by": null, "auto_merge": null} {"id": 1365439700, "node_id": "PR_kwDOBm6k_c5RYvTU", "number": 2080, "state": "closed", "locked": 0, "title": "New View base class", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n\r\n- #2078\r\n\r\nTODO:\r\n\r\n- [x] Teach router layer how to handle this\r\n- [x] Use it for something\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://datasette--2080.org.readthedocs.build/en/2080/\r\n\r\n", "created_at": "2023-05-25T23:22:55Z", "updated_at": "2023-05-26T00:18:45Z", "closed_at": "2023-05-26T00:18:44Z", "merged_at": "2023-05-26T00:18:44Z", "merge_commit_sha": "dda99fc09fb0b5523948f6d481c6c051c1c7b5de", "assignee": null, "milestone": null, "draft": 0, "head": "e990fbc00ef36c022986432e7706b3ad1c9c68a1", "base": "b49fa446d683ddcaf6faf2944dacc0d866bf2d70", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2080", "merged_by": null, "auto_merge": null} {"id": 1359311359, "node_id": "PR_kwDOBm6k_c5RBXH_", "number": 2077, "state": "closed", "locked": 0, "title": "Bump furo from 2023.3.27 to 2023.5.20", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.5.20.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\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

2022.09.29 -- Quaint Quartz

\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.5.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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--2077.org.readthedocs.build/en/2077/\n\r\n\n> **Note**\n> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.", "created_at": "2023-05-22T13:58:16Z", "updated_at": "2023-07-27T13:40:55Z", "closed_at": "2023-07-27T13:40:53Z", "merged_at": null, "merge_commit_sha": "af7a446a5245f47704e787c8a22e21f2a5cd0301", "assignee": null, "milestone": null, "draft": 0, "head": "9785c4f73e4bb15a2f407212cb664a8e4a46b6e0", "base": "ede62036180993dbd9d4e5d280fc21c183cda1c3", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2077", "merged_by": null, "auto_merge": null} {"id": 1358321208, "node_id": "PR_kwDOCGYnMM5Q9lY4", "number": 553, "state": "closed", "locked": 0, "title": "Reformatted CLI examples in docs", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #551\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--553.org.readthedocs.build/en/553/\n\r\n", "created_at": "2023-05-21T20:44:34Z", "updated_at": "2023-05-21T20:57:27Z", "closed_at": "2023-05-21T20:57:23Z", "merged_at": "2023-05-21T20:57:22Z", "merge_commit_sha": "d8fe1b0d899faaaa3d4714a39328f4c24932278f", "assignee": null, "milestone": null, "draft": 0, "head": "21036a5084a2c846a05feb6bced3111d849bbe3c", "base": "e240133b11588d31dc22c632f7a7ca636c72978d", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/553", "merged_by": null, "auto_merge": null} {"id": 1358282799, "node_id": "PR_kwDOCGYnMM5Q9cAv", "number": 549, "state": "closed", "locked": 0, "title": "TUI powered by Trogon", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #545\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--549.org.readthedocs.build/en/549/\n\r\n", "created_at": "2023-05-21T17:55:42Z", "updated_at": "2023-05-21T18:42:00Z", "closed_at": "2023-05-21T18:41:56Z", "merged_at": "2023-05-21T18:41:56Z", "merge_commit_sha": "718b0cba9b32d97a41bcf9757c97fe1d058da81c", "assignee": null, "milestone": null, "draft": 0, "head": "948692a94b22852b3147abebac9d719b69320b57", "base": "e8c5b042e49c627aefd620c8d4b1c84eb8677f73", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/549", "merged_by": null, "auto_merge": null} {"id": 1358254580, "node_id": "PR_kwDOCGYnMM5Q9VH0", "number": 546, "state": "closed", "locked": 0, "title": "Analyze tables options: --common-limit, --no-most, --no-least", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #544\r\n\r\n- [x] Documentation for CLI options\r\n- [x] Documentation for new Python API parameters: `most_common: bool` and `least_common: bool`\r\n- [x] Tests for CLI\r\n- [x] Tests for Python API", "created_at": "2023-05-21T15:54:39Z", "updated_at": "2023-05-21T16:19:30Z", "closed_at": "2023-05-21T16:19:30Z", "merged_at": "2023-05-21T16:19:30Z", "merge_commit_sha": "d2a7b15b2b930fe384e1f1715fc4af23386f4935", "assignee": null, "milestone": null, "draft": 0, "head": "2eca17d46eca2cff52c78553085ec64d9029c969", "base": "e047cc32e9d5de7025d4d3c16554d4290f4bd3d1", "author_association": "OWNER", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/546", "merged_by": null, "auto_merge": null} {"id": 1355563020, "node_id": "PR_kwDOBm6k_c5QzEAM", "number": 2076, "state": "open", "locked": 0, "title": "Datsette gpt plugin", "user": {"value": 130708713, "label": "StudioCordillera"}, "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2076.org.readthedocs.build/en/2076/\n\r\n", "created_at": "2023-05-18T11:22:30Z", "updated_at": "2023-05-18T11:22:45Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "71658bfe72b75bdceb2b29e13fd610511c8b908c", "assignee": null, "milestone": null, "draft": 0, "head": "093693edd2a177a38cbc5570aaef769e5cbffac1", "base": "49184c569cd70efbda4f3f062afef3a34401d8d5", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2076", "merged_by": null, "auto_merge": null} {"id": 1350861558, "node_id": "PR_kwDOBm6k_c5QhIL2", "number": 2075, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 7.0.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.0.1.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\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.0.1 (released May 12, 2023)

\n

Dependencies

\n\n

.. _Docutils 0.20: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04

\n

Bugs fixed

\n\n

Release 7.0.0 (released Apr 29, 2023)

\n

Incompatible changes

\n\n

Release 6.2.1 (released Apr 25, 2023)

\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.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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--2075.org.readthedocs.build/en/2075/\n\r\n\n> **Note**\n> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n", "created_at": "2023-05-15T13:59:31Z", "updated_at": "2023-07-25T13:28:39Z", "closed_at": "2023-07-25T13:28:36Z", "merged_at": null, "merge_commit_sha": "9a3b4baebf95082f994188dc7e67462b2904c7f1", "assignee": null, "milestone": null, "draft": 0, "head": "b99e1d3ee0308bce1df837f9e231d25cc44f8789", "base": "49184c569cd70efbda4f3f062afef3a34401d8d5", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2075", "merged_by": null, "auto_merge": null} {"id": 1349830554, "node_id": "PR_kwDOBm6k_c5QdMea", "number": 2074, "state": "open", "locked": 0, "title": "sort files by mtime", "user": {"value": 3919561, "label": "abbbi"}, "body": "serving multiple database files and getting tired by the default sort, changes so the sort order puts the latest changed databases to be on top of the list so don't have to scroll down, lazy as i am ;)\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2074.org.readthedocs.build/en/2074/\n\r\n", "created_at": "2023-05-14T15:25:15Z", "updated_at": "2023-05-14T15:25:29Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "4fe4822c999a3003a9e3093814274190ea05e522", "assignee": null, "milestone": null, "draft": 0, "head": "689e3b0155612c766607feea10bc2e67e1c2a6da", "base": "49184c569cd70efbda4f3f062afef3a34401d8d5", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2074", "merged_by": null, "auto_merge": null} {"id": 1333843584, "node_id": "PR_kwDOBm6k_c5PgNaA", "number": 2068, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 7.0.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.0.0.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\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.0.0 (released Apr 29, 2023)

\n

Incompatible changes

\n\n

Release 6.2.1 (released Apr 25, 2023)

\n

Bugs fixed

\n\n

Release 6.2.0 (released Apr 23, 2023)

\n

Dependencies

\n\n

Incompatible changes

\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.0.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--2068.org.readthedocs.build/en/2068/\n\r\n", "created_at": "2023-05-01T13:58:46Z", "updated_at": "2023-05-15T13:59:38Z", "closed_at": "2023-05-15T13:59:36Z", "merged_at": null, "merge_commit_sha": "262233b5f387ea64f6f71587eb14d3a4025a474c", "assignee": null, "milestone": null, "draft": 0, "head": "379a597e4e813ace6ffd032c6e9a40a682e05a7f", "base": "55c526a5373aa41c76a3f052624f92e7add59cc8", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2068", "merged_by": null, "auto_merge": null} {"id": 1327188997, "node_id": "PR_kwDOBm6k_c5PG0wF", "number": 2064, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 6.2.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.1.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\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 6.2.1 (released Apr 25, 2023)

\n

Bugs fixed

\n\n

Release 6.2.0 (released Apr 23, 2023)

\n

Dependencies

\n\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=6.2.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--2064.org.readthedocs.build/en/2064/\n\r\n", "created_at": "2023-04-25T13:57:49Z", "updated_at": "2023-05-01T13:58:53Z", "closed_at": "2023-05-01T13:58:52Z", "merged_at": null, "merge_commit_sha": "52cecfdbe83c2ee73b7e4dd90e296b48dbaf3db2", "assignee": null, "milestone": null, "draft": 0, "head": "7711a4af20ede9908867437d0baf3604281fd99f", "base": "5890a20c374fb0812d88c9b0ef26a838bfa06c76", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2064", "merged_by": null, "auto_merge": null} {"id": 1325515181, "node_id": "PR_kwDOBm6k_c5PAcGt", "number": 2063, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.3 to 6.2.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.0.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\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 6.2.0 (released Apr 23, 2023)

\n

Dependencies

\n\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=6.2.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--2063.org.readthedocs.build/en/2063/\n\r\n", "created_at": "2023-04-24T13:58:21Z", "updated_at": "2023-04-25T13:57:55Z", "closed_at": "2023-04-25T13:57:53Z", "merged_at": null, "merge_commit_sha": "e621c970bc64b2c90b801a9fc1e300b9452f6a5f", "assignee": null, "milestone": null, "draft": 0, "head": "9838c5839d591332dc9a8ffd6255918e0ac78f05", "base": "5890a20c374fb0812d88c9b0ef26a838bfa06c76", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2063", "merged_by": null, "auto_merge": null} {"id": 1319390463, "node_id": "PR_kwDOBm6k_c5OpEz_", "number": 2061, "state": "open", "locked": 0, "title": "Add \"Packaging a plugin using Poetry\" section in docs", "user": {"value": 1238873, "label": "rclement"}, "body": "This PR adds a new section about packaging a plugin using `poetry` within the \"Writing plugins\" page of the documentation.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2061.org.readthedocs.build/en/2061/\n\r\n", "created_at": "2023-04-19T07:23:28Z", "updated_at": "2023-04-19T07:27:18Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "e777f394dc770714055e48c952e04c1620454e3e", "assignee": null, "milestone": null, "draft": 0, "head": "2650e3ca2c5ae4f21efe216f9959be31d9e58eed", "base": "5890a20c374fb0812d88c9b0ef26a838bfa06c76", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2061", "merged_by": null, "auto_merge": null} {"id": 1311438738, "node_id": "PR_kwDOCGYnMM5OKveS", "number": 537, "state": "closed", "locked": 0, "title": "Support self-referencing FKs in `Table.create`", "user": {"value": 544011, "label": "numist"}, "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--537.org.readthedocs.build/en/537/\n\r\n", "created_at": "2023-04-12T20:26:58Z", "updated_at": "2023-05-08T22:45:33Z", "closed_at": "2023-05-08T21:10:01Z", "merged_at": "2023-05-08T21:10:01Z", "merge_commit_sha": "39ef137e6760d385dc48d03eccf9b89943636fc7", "assignee": null, "milestone": null, "draft": 0, "head": "a75abeb61b91a28650d3b9933e7ec80ad0d92529", "base": "c0251cc9271260de73b4227859a51fab9b4cb745", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/537", "merged_by": null, "auto_merge": null} {"id": 1308472112, "node_id": "PR_kwDOBm6k_c5N_bMw", "number": 2056, "state": "open", "locked": 0, "title": "GitHub Action to lint Python code with ruff", "user": {"value": 3709715, "label": "cclauss"}, "body": "[Ruff](https://beta.ruff.rs/) supports [over 500 lint rules](https://beta.ruff.rs/docs/rules) and can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins), [isort](https://pypi.org/project/isort/), [pydocstyle](https://pypi.org/project/pydocstyle/), [yesqa](https://github.com/asottile/yesqa), [eradicate](https://pypi.org/project/eradicate/), [pyupgrade](https://pypi.org/project/pyupgrade/), and [autoflake](https://pypi.org/project/autoflake/), all while executing (in Rust) tens or hundreds of times faster than any individual tool.\r\n\r\nThe ruff Action uses minimal steps to run in ~5 seconds, rapidly providing intuitive GitHub Annotations to contributors.\r\n\r\n![image](https://user-images.githubusercontent.com/3709715/223758136-afc386d2-70aa-4eff-953a-2c2d82ceea23.png)\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2056.org.readthedocs.build/en/2056/\n\r\n", "created_at": "2023-04-11T06:41:27Z", "updated_at": "2023-04-15T14:24:46Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "608507fe15679221ff74d437339ee66e3d21a7ae", "assignee": null, "milestone": null, "draft": 0, "head": "f53b78029321cd9bd5661accb5bd043d62e35a85", "base": "5890a20c374fb0812d88c9b0ef26a838bfa06c76", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2056", "merged_by": null, "auto_merge": null} {"id": 1306498393, "node_id": "PR_kwDOCGYnMM5N35VZ", "number": 536, "state": "closed", "locked": 0, "title": "Add paths for homebrew on Apple silicon", "user": {"value": 25778, "label": "eyeseast"}, "body": "Does what it says and nothing else. This is the same set of paths as Datasette uses.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--536.org.readthedocs.build/en/536/\n\r\n", "created_at": "2023-04-08T13:34:21Z", "updated_at": "2023-04-13T01:44:43Z", "closed_at": "2023-04-13T01:44:43Z", "merged_at": "2023-04-13T01:44:43Z", "merge_commit_sha": "8f9a729e8aff972cb18de25b40f4113e26bbc758", "assignee": null, "milestone": null, "draft": 0, "head": "cea05dc5eab8d10fbd8943e615d2ab0dceff863c", "base": "c0251cc9271260de73b4227859a51fab9b4cb745", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/536", "merged_by": null, "auto_merge": null} {"id": 1303909190, "node_id": "PR_kwDOBm6k_c5NuBNG", "number": 2053, "state": "closed", "locked": 0, "title": "WIP new JSON for queries", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #2049\r\n\r\nTODO:\r\n\r\n- [x] Read queries JSON\r\n- Implement error display with `\"ok\": false` and an errors key\r\n- Read queries HTML\r\n- Read queries other formats (plugins)\r\n- Canned read queries (dispatched to from table)\r\n- Write queries (a canned query thing)\r\n- Implement different shapes, refactoring to share code with table\r\n- Implement a sensible subset of extras, also refactoring to share code with table\r\n- Get all tests passing\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/\r\n\r\n", "created_at": "2023-04-05T23:26:15Z", "updated_at": "2023-07-26T18:28:59Z", "closed_at": "2023-07-26T18:26:45Z", "merged_at": null, "merge_commit_sha": "c69f7961e42c1103e281ca061edbe041e212cbb0", "assignee": null, "milestone": null, "draft": 1, "head": "ee24ea94525ace221f1b4d141d01cf56410c2c6d", "base": "dda99fc09fb0b5523948f6d481c6c051c1c7b5de", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2053", "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": 1299129869, "node_id": "PR_kwDOJHON9s5NbyYN", "number": 13, "state": "open", "locked": 0, "title": "use universal command", "user": {"value": 14314871, "label": "amlestin"}, "body": null, "created_at": "2023-04-02T15:10:54Z", "updated_at": "2023-04-02T15:37:34Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "b40fdee5efac03f10257f749ee7f69e4692ad6c5", "assignee": null, "milestone": null, "draft": 0, "head": "8111718e747f59dddcb5bf7820ce922e0723c04a", "base": "e55a802d37a896475b6cf475c1ba947af63cca73", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 611552758, "label": "apple-notes-to-sqlite"}, "url": "https://github.com/dogsheep/apple-notes-to-sqlite/pull/13", "merged_by": null, "auto_merge": null} {"id": 1294011106, "node_id": "PR_kwDOBm6k_c5NIQri", "number": 2047, "state": "closed", "locked": 0, "title": "Bump black from 22.12.0 to 23.3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.3.0.\n
\nRelease notes\n

Sourced from black's releases.

\n
\n

23.3.0

\n

Highlights

\n

This release fixes a longstanding confusing behavior in Black's GitHub action, where the\nversion of the action did not determine the version of Black being run (issue #3382). In\naddition, there is a small bug fix around imports and a number of improvements to the\npreview style.

\n

Please try out the\npreview style\nwith black --preview and tell us your feedback. All changes in the preview style are\nexpected to become part of Black's stable style in January 2024.

\n

Stable style

\n
    \n
  • Import lines with # fmt: skip and # fmt: off no longer have an extra blank line\nadded when they are right after another import line (#3610)
  • \n
\n

Preview style

\n
    \n
  • Add trailing commas to collection literals even if there's a comment after the last\nentry (#3393)
  • \n
  • async def, async for, and async with statements are now formatted consistently\ncompared to their non-async version. (#3609)
  • \n
  • with statements that contain two context managers will be consistently wrapped in\nparentheses (#3589)
  • \n
  • Let string splitters respect East Asian Width\n(#3445)
  • \n
  • Now long string literals can be split after East Asian commas and periods (\u3001 U+3001\nIDEOGRAPHIC COMMA, \u3002 U+3002 IDEOGRAPHIC FULL STOP, & \uff0c U+FF0C FULLWIDTH COMMA)\nbesides before spaces (#3445)
  • \n
  • For stubs, enforce one blank line after a nested class with a body other than just\n... (#3564)
  • \n
  • Improve handling of multiline strings by changing line split behavior (#1879)
  • \n
\n

Parser

\n
    \n
  • Added support for formatting files with invalid type comments (#3594)
  • \n
\n

Integrations

\n
    \n
  • Update GitHub Action to use the version of Black equivalent to action's version if\nversion input is not specified (#3543)
  • \n
  • Fix missing Python binary path in autoload script for vim (#3508)
  • \n
\n

Documentation

\n
    \n
  • Document that only the most recent release is supported for security issues;\nvulnerabilities should be reported through Tidelift (#3612)
  • \n
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from black's changelog.

\n
\n

23.3.0

\n

Highlights

\n

This release fixes a longstanding confusing behavior in Black's GitHub action, where the\nversion of the action did not determine the version of Black being run (issue #3382). In\naddition, there is a small bug fix around imports and a number of improvements to the\npreview style.

\n

Please try out the\npreview style\nwith black --preview and tell us your feedback. All changes in the preview style are\nexpected to become part of Black's stable style in January 2024.

\n

Stable style

\n
    \n
  • Import lines with # fmt: skip and # fmt: off no longer have an extra blank line\nadded when they are right after another import line (#3610)
  • \n
\n

Preview style

\n
    \n
  • Add trailing commas to collection literals even if there's a comment after the last\nentry (#3393)
  • \n
  • async def, async for, and async with statements are now formatted consistently\ncompared to their non-async version. (#3609)
  • \n
  • with statements that contain two context managers will be consistently wrapped in\nparentheses (#3589)
  • \n
  • Let string splitters respect East Asian Width\n(#3445)
  • \n
  • Now long string literals can be split after East Asian commas and periods (\u3001 U+3001\nIDEOGRAPHIC COMMA, \u3002 U+3002 IDEOGRAPHIC FULL STOP, & \uff0c U+FF0C FULLWIDTH COMMA)\nbesides before spaces (#3445)
  • \n
  • For stubs, enforce one blank line after a nested class with a body other than just\n... (#3564)
  • \n
  • Improve handling of multiline strings by changing line split behavior (#1879)
  • \n
\n

Parser

\n
    \n
  • Added support for formatting files with invalid type comments (#3594)
  • \n
\n

Integrations

\n
    \n
  • Update GitHub Action to use the version of Black equivalent to action's version if\nversion input is not specified (#3543)
  • \n
  • Fix missing Python binary path in autoload script for vim (#3508)
  • \n
\n

Documentation

\n
    \n
  • Document that only the most recent release is supported for security issues;\nvulnerabilities should be reported through Tidelift (#3612)
  • \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.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
\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2047.org.readthedocs.build/en/2047/\n\r\n", "created_at": "2023-03-29T06:09:06Z", "updated_at": "2023-03-29T06:12:21Z", "closed_at": "2023-03-29T06:12:05Z", "merged_at": "2023-03-29T06:12:05Z", "merge_commit_sha": "30c88e3570ba3febf232c7ad429d7045ea8a9915", "assignee": null, "milestone": null, "draft": 0, "head": "dff8cf08625bbf4526b400f53da9f3ceba62fa97", "base": "bbd5489dbc440c67c69396e7f752584a32d2cfbe", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2047", "merged_by": null, "auto_merge": null} {"id": 1293066318, "node_id": "PR_kwDOBm6k_c5NEqBO", "number": 2046, "state": "closed", "locked": 0, "title": "Bump furo from 2022.12.7 to 2023.3.27", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.27.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\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
  • Remove the "indent" of API entries which have a background.
  • \n
  • Break long inline code literals.
  • \n
\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
  • Replace the meta generator tag with a comment.
  • \n
  • Tweak labels with icons to prevent users selecting icons as text on touch.
  • \n
\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
  • Add support for aligning text in MyST-parser generated tables.
  • \n
\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \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=2022.12.7&new-version=2023.3.27)](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--2046.org.readthedocs.build/en/2046/\n\r\n", "created_at": "2023-03-28T13:58:14Z", "updated_at": "2023-03-29T06:08:02Z", "closed_at": "2023-03-29T06:08:01Z", "merged_at": "2023-03-29T06:08:01Z", "merge_commit_sha": "848a9a420de9b50a7c862db7fb34d930835bee89", "assignee": null, "milestone": null, "draft": 0, "head": "a8166e96eecbab1064ef7a373699320415d839a5", "base": "c025b0180fe344e4f28177ecd7cf388d492d3064", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2046", "merged_by": null, "auto_merge": null} {"id": 1290512937, "node_id": "PR_kwDODtX3eM5M66op", "number": 6, "state": "open", "locked": 0, "title": "Add permalink virtual field to items table", "user": {"value": 1231935, "label": "xavdid"}, "body": "I added a virtual column (no storage overhead) to the output that easily links back to the source. It works nicely out of the box with datasette:\r\n\r\n![](https://cdn.zappy.app/faf43661d539ee0fee02c0421de22d65.png)\r\n\r\nI got bit a bit by https://github.com/simonw/sqlite-utils/issues/411, so I went with a manual `table_xinfo` and creating the table via execute. Happy to adjust if that issue moves, but this seems like it works.\r\n\r\nI also added my best-guess instructions for local development on this package. I'm shooting in the dark, so feel free to replace with how you work on it locally.", "created_at": "2023-03-26T22:22:38Z", "updated_at": "2023-03-29T18:38:52Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "99bda9434e0adaa8459bc0abbe6262785cd4086c", "assignee": null, "milestone": null, "draft": 0, "head": "b04d6c76c26820f2e0b04da58dd82789e83cbb42", "base": "c5585c103d124b23ba1e163f8857d4ba49fe452a", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 248903544, "label": "hacker-news-to-sqlite"}, "url": "https://github.com/dogsheep/hacker-news-to-sqlite/pull/6", "merged_by": null, "auto_merge": null} {"id": 1289476973, "node_id": "PR_kwDOBm6k_c5M29tt", "number": 2044, "state": "open", "locked": 0, "title": "Expand labels in row view as well (patch for 0.64.x branch)", "user": {"value": 82332573, "label": "tmcl-it"}, "body": "This is a version of #2031 for the 0.64.x branch.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2044.org.readthedocs.build/en/2044/\n\r\n", "created_at": "2023-03-24T18:44:44Z", "updated_at": "2023-03-24T18:44:57Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "175202f5238c23fc6b76a0119d3ce9917d1570d1", "assignee": null, "milestone": null, "draft": 0, "head": "c039d23a730448a7d82f9239cfb445aa1f7a4f16", "base": "2a0a94fe972e4b1556e73026dc381d297bc906bc", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2044", "merged_by": null, "auto_merge": null} {"id": 1289104584, "node_id": "PR_kwDOBm6k_c5M1izI", "number": 2043, "state": "closed", "locked": 0, "title": "Bump furo from 2022.12.7 to 2023.3.23", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23.\n
\nChangelog\n

Sourced from furo's changelog.

\n
\n

Changelog

\n\n

2023.03.23 -- Sassy Saffron

\n
    \n
  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • \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
  • Remove the "indent" of API entries which have a background.
  • \n
  • Break long inline code literals.
  • \n
\n

2022.12.07 -- Reverent Raspberry

\n
    \n
  • \u2728 Add support for Sphinx 6.
  • \n
  • \u2728 Improve footnote presentation with docutils 0.18+.
  • \n
  • Drop support for Sphinx 4.
  • \n
  • Improve documentation about what the edit button does.
  • \n
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • \n
  • Improve styling for inline signatures.
  • \n
  • Replace the meta generator tag with a comment.
  • \n
  • Tweak labels with icons to prevent users selecting icons as text on touch.
  • \n
\n

2022.09.29 -- Quaint Quartz

\n
    \n
  • Add ability to set arbitrary URLs for edit button.
  • \n
  • Add support for aligning text in MyST-parser generated tables.
  • \n
\n

2022.09.15 -- Pragmatic Pistachio

\n
    \n
  • Add a minimum version constraint on pygments.
  • \n
  • Add an explicit dependency on sass.
  • \n
  • Change right sidebar title from "Contents" to "On this page".
  • \n
  • Correctly position sidebars on small screens.
  • \n
  • Correctly select only Furo's own svg in related pages nav.
  • \n
  • Make numpy-style documentation headers consistent.
  • \n
  • Retitle the reference section.
  • \n
  • Update npm dependencies.
  • \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=2022.12.7&new-version=2023.3.23)](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--2043.org.readthedocs.build/en/2043/\n\r\n", "created_at": "2023-03-24T13:58:08Z", "updated_at": "2023-03-28T13:58:24Z", "closed_at": "2023-03-28T13:58:21Z", "merged_at": null, "merge_commit_sha": "eb0601c965ebb12162c76259d89fb9fe6549bcc0", "assignee": null, "milestone": null, "draft": 0, "head": "85b9e5139980b0e802b6f0bcfaa2f7c975c30970", "base": "3feed1f66e2b746f349ee56970a62246a18bb164", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2043", "merged_by": null, "auto_merge": null} {"id": 1272169404, "node_id": "PR_kwDOCGYnMM5L08O8", "number": 531, "state": "closed", "locked": 0, "title": "Add paths for homebrew on Apple silicon", "user": {"value": 25778, "label": "eyeseast"}, "body": "This also passes in the extension path when specified in GIS methods. Wherever we know an extension path, we use `db.init_spatialite(find_spatialite() or load_extension)`.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--531.org.readthedocs.build/en/531/\n\r\n", "created_at": "2023-03-11T22:27:52Z", "updated_at": "2023-04-09T01:49:44Z", "closed_at": "2023-04-09T01:49:43Z", "merged_at": null, "merge_commit_sha": "24f3eb082b98b8d676bab2eab4f763cd9b50fe96", "assignee": null, "milestone": null, "draft": 0, "head": "afdf6187716b19fce8692f6887a1d45c85477fee", "base": "c0251cc9271260de73b4227859a51fab9b4cb745", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/531", "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": 1259276997, "node_id": "PR_kwDOBm6k_c5LDwrF", "number": 2031, "state": "open", "locked": 0, "title": "Expand foreign key references in row view as well", "user": {"value": 82332573, "label": "tmcl-it"}, "body": "Unlike the table view, the single row view does not resolve foreign key references into labels. This patch extracts the foreign key reference expansion code from TableView.data() into a standalone function that is then called by both TableView.data() and RowView.data().\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2031.org.readthedocs.build/en/2031/\n\r\n", "created_at": "2023-03-01T18:43:09Z", "updated_at": "2023-03-24T18:35:25Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "ee7aec6175d0934c0420002529d21a767d2a527d", "assignee": null, "milestone": null, "draft": 0, "head": "ef25867492ce6eb69492aa37fcde98936a95365c", "base": "3feed1f66e2b746f349ee56970a62246a18bb164", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2031", "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": 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": 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": 1235909998, "node_id": "PR_kwDOCGYnMM5Jqn1u", "number": 528, "state": "closed", "locked": 0, "title": "Enable `Table.convert()` on falsey values", "user": {"value": 167893, "label": "mcarpenter"}, "body": "Fixes #527\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--528.org.readthedocs.build/en/528/\n\r\n", "created_at": "2023-02-10T00:04:09Z", "updated_at": "2023-05-08T21:08:23Z", "closed_at": "2023-05-08T21:08:23Z", "merged_at": null, "merge_commit_sha": "279fb2c85c6b3fc7b593aaf4245bd3a038bff5f0", "assignee": null, "milestone": null, "draft": 0, "head": "a09df3844ab91b70cebb7b888fc07cb21dffd01c", "base": "fc221f9b62ed8624b1d2098e564f525c84497969", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/528", "merged_by": null, "auto_merge": null} {"id": 1234321667, "node_id": "PR_kwDOCGYnMM5JkkED", "number": 526, "state": "closed", "locked": 0, "title": "Fix repeated calls to `Table.convert()`", "user": {"value": 167893, "label": "mcarpenter"}, "body": "Fixes #525. All tests pass.\r\n\r\nThere's perhaps a better way to name lambdas? There could be a collision if a caller passes a function with name like `lambda_123456`.\r\n\r\nSQLite [documentation](https://www.sqlite.org/appfunc.html) is a little, ah, lite on function name specs. If there is a character that can be used in place of underscore in a SQLite function name that is not permitted in a Python function identifier then that could be a good way to prevent accidental collisions. (I tried dash, colon, dot, no joy).\r\n\r\nOtherwise, there is little chance of this happening and if it should happen the risk is mitigated by now throwing an exception in the case of a (name, arity) collision without `replace=True`.\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://sqlite-utils--526.org.readthedocs.build/en/526/\r\n\r\n", "created_at": "2023-02-09T00:14:49Z", "updated_at": "2023-05-08T21:56:05Z", "closed_at": "2023-05-08T21:53:58Z", "merged_at": "2023-05-08T21:53:58Z", "merge_commit_sha": "02f5c4d69d7b4baebde015c56e5bc62923f33314", "assignee": null, "milestone": null, "draft": 0, "head": "486e0cc1cd67e98c22d1f125403144cdedfa3d58", "base": "fc221f9b62ed8624b1d2098e564f525c84497969", "author_association": "CONTRIBUTOR", "repo": {"value": 140912432, "label": "sqlite-utils"}, "url": "https://github.com/simonw/sqlite-utils/pull/526", "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
  • Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). Specific changes:\n
      \n
    • Enforce empty lines before classes and functions with sticky leading comments (#3302) (22.12.0)
    • \n
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) (22.12.0)
    • \n
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370) (22.12.0)
    • \n
    • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168) (since 22.8.0)
    • \n
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209) (22.8.0)
    • \n
    • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) (22.8.0)
    • \n
    • Docstring quotes are no longer moved if it would violate the line length limit (#3044, #3430) (22.6.0)
    • \n
    • Parentheses around return annotations are now managed (#2990) (22.6.0)
    • \n
    • Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
    • \n
    • Remove unnecessary parentheses in with statements (#2926) (22.6.0)
    • \n
    • Remove trailing newlines after code block open (#3035) (22.6.0)
    • \n
    • Code cell separators #%% are now standardised to # %% (#2919) (22.3.0)
    • \n
    • Remove unnecessary parentheses from except statements (#2939) (22.3.0)
    • \n
    • Remove unnecessary parentheses from tuple unpacking in for loops (#2945) (22.3.0)
    • \n
    • Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
    • \n
    \n
  • \n
  • Fix a crash when a colon line is marked between # fmt: off and # fmt: on (#3439)
  • \n
\n

Preview style

\n\n
    \n
  • Format hex codes in unicode escape sequences in string literals (#2916)
  • \n
  • Add parentheses around if-else expressions (#2278)
  • \n
  • Improve performance on large expressions that contain many strings (#3467)
  • \n
  • Fix a crash in preview style with assert + parenthesized string (#3415)
  • \n
  • Fix crashes in preview style with walrus operators used in function return annotations and except clauses (#3423)
  • \n
  • Fix a crash in preview advanced string processing where mixed implicitly concatenated regular and f-strings start with an empty span (#3463)
  • \n
  • Fix a crash in preview advanced string processing where a standalone comment is placed before a dict's value (#3469)
  • \n
  • Fix an issue where extra empty lines are added when a decorator has # fmt: skip applied or there is a standalone comment between decorators (#3470)
  • \n
  • Do not put the closing quotes in a docstring on a separate line, even if the line is too long (#3430)
  • \n
  • Long values in dict literals are now wrapped in parentheses; correspondingly unnecessary parentheses around short values in dict literals are now removed; long string lambda values are now wrapped in parentheses (#3440)
  • \n
  • Fix two crashes in preview style involving edge cases with docstrings (#3451)
  • \n
  • Exclude string type annotations from improved string processing; fix crash when the return type annotation is stringified and spans across multiple lines (#3462)
  • \n
  • Wrap multiple context managers in parentheses when targeting Python 3.9+ (#3489)
  • \n
  • Fix several crashes in preview style with walrus operators used in with statements or tuples (#3473)
  • \n
  • Fix an invalid quote escaping bug in f-string expressions where it produced invalid code. Implicitly concatenated f-strings with different quotes can now be merged or quote-normalized by changing the quotes used in expressions. (#3509)
  • \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
  • Introduce the 2023 stable style, which incorporates most aspects of last year's\npreview style (#3418). Specific changes:\n
      \n
    • Enforce empty lines before classes and functions with sticky leading comments\n(#3302) (22.12.0)
    • \n
    • Reformat empty and whitespace-only files as either an empty file (if no newline is\npresent) or as a single newline character (if a newline is present) (#3348)\n(22.12.0)
    • \n
    • Implicitly concatenated strings used as function args are now wrapped inside\nparentheses (#3307) (22.12.0)
    • \n
    • Correctly handle trailing commas that are inside a line's leading non-nested parens\n(#3370) (22.12.0)
    • \n
    • --skip-string-normalization / -S now prevents docstring prefixes from being\nnormalized as expected (#3168) (since 22.8.0)
    • \n
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from\nsubscript expressions with more than 1 element (#3209) (22.8.0)
    • \n
    • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside\nparentheses (#3162) (22.8.0)
    • \n
    • Fix a string merging/split issue when a comment is present in the middle of\nimplicitly concatenated strings on its own line (#3227) (22.8.0)
    • \n
    • Docstring quotes are no longer moved if it would violate the line length limit\n(#3044, #3430) (22.6.0)
    • \n
    • Parentheses around return annotations are now managed (#2990) (22.6.0)
    • \n
    • Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
    • \n
    • Remove unnecessary parentheses in with statements (#2926) (22.6.0)
    • \n
    • Remove trailing newlines after code block open (#3035) (22.6.0)
    • \n
    • Code cell separators #%% are now standardised to # %% (#2919) (22.3.0)
    • \n
    • Remove unnecessary parentheses from except statements (#2939) (22.3.0)
    • \n
    • Remove unnecessary parentheses from tuple unpacking in for loops (#2945) (22.3.0)
    • \n
    • Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
    • \n
    \n
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • b0d1fba Prepare release 23.1.0 (#3536)
  • \n
  • 69ca0a4 Infer target version based on project metadata (#3219)
  • \n
  • c4bd2e3 Draft for Black 2023 stable style (#3418)
  • \n
  • 226cbf0 Fix unsafe cast in linegen.py w/ await yield handling (#3533)
  • \n
  • f4ebc68 Upgrade isort (#3534)
  • \n
  • 6407ebb Remove Python version in the_basics.md (#3528)
  • \n
  • 196b1f3 Fix black --help output for --python-cell-magics option to be reproducibl...
  • \n
  • d950f15 Update document now that paren wrapping CMs on Python 3.9+ is implemented (#3...
  • \n
  • a36878e Fix an invalid quote escaping bug in f-string expressions (#3509)
  • \n
  • eabff67 Format hex code in unicode escape sequences in string literals (#2916)
  • \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=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": 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": 1216059840, "node_id": "PR_kwDOBm6k_c5Ie5nA", "number": 2004, "state": "open", "locked": 0, "title": "use single quotes for string literals, fixes #2001", "user": {"value": 193185, "label": "cldellow"}, "body": "This modernizes some uses of double quotes for string literals to use only single quotes, fixes simonw/datasette#2001\r\n\r\nWhile developing it, I manually enabled the stricter mode by using the code snippet at https://gist.github.com/cldellow/85bba507c314b127f85563869cd94820\r\n\r\nI think that code snippet isn't generally safe/portable, so I haven't tried to automate it in the tests.\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://datasette--2004.org.readthedocs.build/en/2004/\r\n\r\n", "created_at": "2023-01-25T05:08:45Z", "updated_at": "2023-02-01T06:37:18Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "f678bfc05913a4b5ecf0c4cebe9ca8329c7d4a21", "assignee": null, "milestone": null, "draft": 0, "head": "dca7634c274e71fae0d95ea4ff1dfd987b9af63c", "base": "e4ebef082de90db4e1b8527abc0d582b7ae0bc9d", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2004", "merged_by": null, "auto_merge": null} {"id": 1215742203, "node_id": "PR_kwDOBm6k_c5IdsD7", "number": 2003, "state": "open", "locked": 0, "title": "Show referring tables and rows when the referring foreign key is compound", "user": {"value": 536941, "label": "fgregg"}, "body": "sqlite foreign keys can be compound, but that is not as well supported by datasette as single column foreign keys.\r\n\r\nin particular, \r\n\r\n1. in a table view, there is not a link from the row to the referenced row if the foreign key is compound\r\n2. in a row view, there is no listing of tables and rows that refer to the focal row if those referencing foreign keys are compound.\r\n\r\nBoth of these issues are discussed in #1099. \r\n\r\nThis PR only fixes the second one, because it's not clear what the right UX is for the first issue.\r\n\r\n![Screenshot 2023-01-24 at 19-47-40 nlrb bargaining_unit](https://user-images.githubusercontent.com/536941/214454749-d53deead-4151-4329-a5d4-8a7a454de7d3.png)\r\n\r\nSome things that might not be desirable about this approach.\r\n\r\n1. it changes the external API, by changing `column` => `columns` and `other_column` => `other_columns` (see inline comment for more discussion.\r\n2. There are various places where the plural foreign keys have to be checked for length and discarded or transformed to singular. \r\n", "created_at": "2023-01-24T21:31:31Z", "updated_at": "2023-01-25T18:44:42Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "fb3abeceb2785a582d2c120c7c1bf7dc3cd1de05", "assignee": null, "milestone": null, "draft": 0, "head": "1e5b42f9d6490926300953837cbaa571ef81d772", "base": "e4ebef082de90db4e1b8527abc0d582b7ae0bc9d", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/2003", "merged_by": null, "auto_merge": null} {"id": 1212277427, "node_id": "PR_kwDOBm6k_c5IQeKz", "number": 1999, "state": "closed", "locked": 0, "title": "?_extra= support (draft)", "user": {"value": 9599, "label": "simonw"}, "body": "Refs:\r\n- #262\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1999.org.readthedocs.build/en/1999/\n\r\n", "created_at": "2023-01-21T04:55:18Z", "updated_at": "2023-03-22T22:49:41Z", "closed_at": "2023-03-22T22:49:40Z", "merged_at": "2023-03-22T22:49:40Z", "merge_commit_sha": "d97e82df3c8a3f2e97038d7080167be9bb74a68d", "assignee": null, "milestone": null, "draft": 0, "head": "69a31cd5b61f0b62938efdeec5972090f1a1a508", "base": "56b0758a5fbf85d01ff80a40c9b028469d7bb65f", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1999", "merged_by": null, "auto_merge": null} {"id": 1201985064, "node_id": "PR_kwDOBm6k_c5HpNYo", "number": 1996, "state": "open", "locked": 0, "title": "Document custom json encoder", "user": {"value": 25778, "label": "eyeseast"}, "body": "Closes #1983 \r\n\r\nAll documentation here. Edits welcome.\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1996.org.readthedocs.build/en/1996/\n\r\n", "created_at": "2023-01-18T16:54:14Z", "updated_at": "2023-01-19T12:55:57Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "b608768f75e8e15ee4618ebac8bcba2da47b2aa3", "assignee": null, "milestone": null, "draft": 0, "head": "96b8b7f1ecf3abaec5921aaedee251e36eed5339", "base": "6a352e99ab988dbf8fd22a100049caa6ad33f1ec", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1996", "merged_by": null, "auto_merge": null} {"id": 1198982240, "node_id": "PR_kwDOBm6k_c5HdwRg", "number": 1992, "state": "closed", "locked": 0, "title": "Bump blacken-docs from 1.12.1 to 1.13.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.12.1 to 1.13.0.\n
\nChangelog\n

Sourced from blacken-docs's changelog.

\n
\n

1.13.0 (2023-01-16)

\n
    \n
  • \n

    Note Adam Johnson is new maintainer.

    \n
  • \n
  • \n

    Require Black 22.1.0+.

    \n
  • \n
  • \n

    Add --rst-literal-blocks option, to also format text in reStructuredText literal blocks, starting with ::.\nSphinx highlights these with the project\u2019s default language, which defaults to Python.

    \n
  • \n
\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blacken-docs&package-manager=pip&previous-version=1.12.1&new-version=1.13.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--1992.org.readthedocs.build/en/1992/\n\r\n", "created_at": "2023-01-16T13:05:05Z", "updated_at": "2023-03-29T06:11:35Z", "closed_at": "2023-03-29T06:11:34Z", "merged_at": "2023-03-29T06:11:34Z", "merge_commit_sha": "bbd5489dbc440c67c69396e7f752584a32d2cfbe", "assignee": null, "milestone": null, "draft": 0, "head": "64dd698df1d38903a5791f876c7c01e7dd6d04f4", "base": "d52402447ea5eb5a3f084e4f85a45675d34eb4da", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1992", "merged_by": null, "auto_merge": null} {"id": 1193778792, "node_id": "PR_kwDOBm6k_c5HJ55o", "number": 1986, "state": "closed", "locked": 0, "title": "Bump sphinx from 6.1.2 to 6.1.3", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.2 to 6.1.3.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

v6.1.3

\n

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

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 6.1.3 (released Jan 10, 2023)

\n

Bugs fixed

\n
    \n
  • #11116: Reverted to previous Sphinx 5 node copying method
  • \n
  • #11117: Reverted changes to parallel image processing from Sphinx 6.1.0
  • \n
  • #11119: Supress ValueError in the linkcheck builder
  • \n
\n
\n
\n
\nCommits\n
    \n
  • 776d01e Bump to 6.1.3 final
  • \n
  • a2e922a CHANGES for Sphinx 6.1.3
  • \n
  • 31162a9 Handle exceptions for get_node_source and get_node_line
  • \n
  • dcb4429 Restore Sphinx 5 nodes.Element copying behaviour
  • \n
  • 2a7c40d Undo parallel image changes
  • \n
  • 7841d3d Ignore more checks in Ruff 0.0.214
  • \n
  • ddbc5b5 Bump version
  • \n
  • See full diff 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.2&new-version=6.1.3)](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--1986.org.readthedocs.build/en/1986/\n\r\n", "created_at": "2023-01-11T13:02:36Z", "updated_at": "2023-03-29T06:09:50Z", "closed_at": "2023-03-29T06:09:49Z", "merged_at": "2023-03-29T06:09:49Z", "merge_commit_sha": "d52402447ea5eb5a3f084e4f85a45675d34eb4da", "assignee": null, "milestone": null, "draft": 0, "head": "82983b6c69c687f76e1ced0a07e0d590c3a97574", "base": "848a9a420de9b50a7c862db7fb34d930835bee89", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1986", "merged_by": null, "auto_merge": null} {"id": 1191716406, "node_id": "PR_kwDOBm6k_c5HCCY2", "number": 1984, "state": "closed", "locked": 0, "title": "Upgrade Sphinx", "user": {"value": 9599, "label": "simonw"}, "body": "Refs #1971\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1984.org.readthedocs.build/en/1984/\n\r\n", "created_at": "2023-01-10T02:00:40Z", "updated_at": "2023-01-10T02:02:33Z", "closed_at": "2023-01-10T02:02:33Z", "merged_at": "2023-01-10T02:02:32Z", "merge_commit_sha": "8e7073404379d79a2d269167a12bbb58439edd39", "assignee": null, "milestone": null, "draft": 0, "head": "0c8b3f5ca1385c804c696f1fa61c24de29ae4755", "base": "4880638f13c3a1abc53f395cde39ac848daf416d", "author_association": "OWNER", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1984", "merged_by": null, "auto_merge": null} {"id": 1190763280, "node_id": "PR_kwDOBm6k_c5G-ZsQ", "number": 1982, "state": "closed", "locked": 0, "title": "Bump sphinx from 5.3.0 to 6.1.2", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.1.2.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

v6.1.2

\n

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

\n

v6.1.1

\n

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

\n

v6.1.0

\n

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

\n

v6.0.1

\n

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

\n

v6.0.0

\n

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

\n

v6.0.0b2

\n

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

\n

v6.0.0b1

\n

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

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 6.1.2 (released Jan 07, 2023)

\n

Bugs fixed

\n
    \n
  • \n

    #11101: LaTeX: div.topic_padding key of sphinxsetup documented at 5.1.0 was\nimplemented with name topic_padding

    \n
  • \n
  • \n

    #11099: LaTeX: shadowrule key of sphinxsetup causes PDF build to crash\nsince Sphinx 5.1.0

    \n
  • \n
  • \n

    #11096: LaTeX: shadowsize key of sphinxsetup causes PDF build to crash\nsince Sphinx 5.1.0

    \n
  • \n
  • \n

    #11095: LaTeX: shadow of :dudir:topic and contents_ boxes not in page\nmargin since Sphinx 5.1.0

    \n

    .. _contents: https://docutils.sourceforge.io/docs/ref/rst/directives.html#table-of-contents

    \n
  • \n
  • \n

    #11100: Fix copying images when running under parallel mode.

    \n
  • \n
\n

Release 6.1.1 (released Jan 05, 2023)

\n

Bugs fixed

\n
    \n
  • #11091: Fix util.nodes.apply_source_workaround for literal_block nodes\nwith no source information in the node or the node's parents.
  • \n
\n

Release 6.1.0 (released Jan 05, 2023)

\n

Dependencies

\n\n

Incompatible changes

\n
    \n
  • #10979: gettext: Removed support for pluralisation in get_translation.\nThis was unused and complicated other changes to sphinx.locale.
  • \n
\n

Deprecated

\n
    \n
  • \n

    sphinx.util functions:

    \n
      \n
    • Renamed sphinx.util.typing.stringify()\nto sphinx.util.typing.stringify_annotation()
    • \n
    \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=sphinx&package-manager=pip&previous-version=5.3.0&new-version=6.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--1982.org.readthedocs.build/en/1982/\n\r\n", "created_at": "2023-01-09T13:06:11Z", "updated_at": "2023-01-10T02:03:21Z", "closed_at": "2023-01-10T02:03:19Z", "merged_at": null, "merge_commit_sha": "8e25eb9553a34438663c16a75d921f2ffe11b353", "assignee": null, "milestone": null, "draft": 0, "head": "700a12848da52e1f28a892d424319364e001ed6f", "base": "7b48664d751e59222c01c97a2739d53d6363bdda", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1982", "merged_by": null, "auto_merge": null} {"id": 1188133959, "node_id": "PR_kwDOBm6k_c5G0XxH", "number": 1977, "state": "closed", "locked": 0, "title": "Bump sphinx from 5.3.0 to 6.1.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.1.1.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

v6.1.1

\n

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

\n

v6.1.0

\n

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

\n

v6.0.1

\n

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

\n

v6.0.0

\n

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

\n

v6.0.0b2

\n

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

\n

v6.0.0b1

\n

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

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 6.1.1 (released Jan 05, 2023)

\n

Bugs fixed

\n
    \n
  • #11091: Fix util.nodes.apply_source_workaround for literal_block nodes\nwith no source information in the node or the node's parents.
  • \n
\n

Release 6.1.0 (released Jan 05, 2023)

\n

Dependencies

\n\n

Incompatible changes

\n
    \n
  • #10979: gettext: Removed support for pluralisation in get_translation.\nThis was unused and complicated other changes to sphinx.locale.
  • \n
\n

Deprecated

\n
    \n
  • \n

    sphinx.util functions:

    \n
      \n
    • Renamed sphinx.util.typing.stringify()\nto sphinx.util.typing.stringify_annotation()
    • \n
    • Moved sphinx.util.xmlname_checker()\nto sphinx.builders.epub3._XML_NAME_PATTERN
    • \n
    \n

    Moved to sphinx.util.display:

    \n
      \n
    • sphinx.util.status_iterator
    • \n
    • sphinx.util.display_chunk
    • \n
    • sphinx.util.SkipProgressMessage
    • \n
    • sphinx.util.progress_message
    • \n
    \n

    Moved to sphinx.util.http_date:

    \n
      \n
    • sphinx.util.epoch_to_rfc1123
    • \n
    • sphinx.util.rfc1123_to_epoch
    • \n
    \n

    Moved to sphinx.util.exceptions:

    \n
      \n
    • sphinx.util.save_traceback
    • \n
    \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=sphinx&package-manager=pip&previous-version=5.3.0&new-version=6.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--1977.org.readthedocs.build/en/1977/\n\r\n", "created_at": "2023-01-06T13:02:12Z", "updated_at": "2023-01-09T13:06:17Z", "closed_at": "2023-01-09T13:06:14Z", "merged_at": null, "merge_commit_sha": "23faad99fb4d7282f6170742fa7e5ef2bbd935af", "assignee": null, "milestone": null, "draft": 0, "head": "a4eebeecd723ed9bc5517fd2f05320c11df3d749", "base": "c41278b46f7936b4b1a8a14bf285bed82c81c609", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1977", "merged_by": null, "auto_merge": null} {"id": 1186476109, "node_id": "PR_kwDOBm6k_c5GuDBN", "number": 1976, "state": "closed", "locked": 0, "title": "Bump sphinx from 5.3.0 to 6.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.1.0.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

v6.1.0

\n

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

\n

v6.0.1

\n

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

\n

v6.0.0

\n

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

\n

v6.0.0b2

\n

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

\n

v6.0.0b1

\n

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

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 6.1.0 (released Jan 05, 2023)

\n

Dependencies

\n\n

Incompatible changes

\n
    \n
  • #10979: gettext: Removed support for pluralisation in get_translation.\nThis was unused and complicated other changes to sphinx.locale.
  • \n
\n

Deprecated

\n
    \n
  • \n

    sphinx.util functions:

    \n
      \n
    • Renamed sphinx.util.typing.stringify()\nto sphinx.util.typing.stringify_annotation()
    • \n
    • Moved sphinx.util.xmlname_checker()\nto sphinx.builders.epub3._XML_NAME_PATTERN
    • \n
    \n

    Moved to sphinx.util.display:

    \n
      \n
    • sphinx.util.status_iterator
    • \n
    • sphinx.util.display_chunk
    • \n
    • sphinx.util.SkipProgressMessage
    • \n
    • sphinx.util.progress_message
    • \n
    \n

    Moved to sphinx.util.http_date:

    \n
      \n
    • sphinx.util.epoch_to_rfc1123
    • \n
    • sphinx.util.rfc1123_to_epoch
    • \n
    \n

    Moved to sphinx.util.exceptions:

    \n
      \n
    • sphinx.util.save_traceback
    • \n
    • sphinx.util.format_exception_cut_frames
    • \n
    \n
  • \n
\n

Features added

\n
    \n
  • Cache doctrees in the build environment during the writing phase.
  • \n
  • Make all writing phase tasks support parallel execution.
  • \n
  • #11072: Use PEP 604 (X | Y) display conventions for typing.Optional\nand typing.Optional types within the Python domain and autodoc.
  • \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=5.3.0&new-version=6.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--1976.org.readthedocs.build/en/1976/\n\r\n", "created_at": "2023-01-05T13:02:37Z", "updated_at": "2023-01-06T13:02:17Z", "closed_at": "2023-01-06T13:02:15Z", "merged_at": null, "merge_commit_sha": "21d3f3f92f1c902ba7acb267022b1c2b38a59bf3", "assignee": null, "milestone": null, "draft": 0, "head": "af76abcf2e9a6645e3d85acbc0da1f69d04e377c", "base": "c41278b46f7936b4b1a8a14bf285bed82c81c609", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1976", "merged_by": null, "auto_merge": null} {"id": 1182593611, "node_id": "PR_kwDOBm6k_c5GfPJL", "number": 1974, "state": "closed", "locked": 0, "title": "Bump sphinx from 5.3.0 to 6.0.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.0.0.\n
\nRelease notes\n

Sourced from sphinx's releases.

\n
\n

v6.0.0

\n

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

\n

v6.0.0b2

\n

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

\n

v6.0.0b1

\n

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

\n
\n
\n
\nChangelog\n

Sourced from sphinx's changelog.

\n
\n

Release 6.0.0 (released Dec 29, 2022)

\n

Dependencies

\n
    \n
  • #10468: Drop Python 3.6 support
  • \n
  • #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and\nDocutils 0.17 support. Patch by Adam Turner
  • \n
\n

Incompatible changes

\n
    \n
  • \n

    #7405: Removed the jQuery and underscore.js JavaScript frameworks.

    \n

    These frameworks are no longer be automatically injected into themes from\nSphinx 6.0. If you develop a theme or extension that uses the\njQuery, $, or $u global objects, you need to update your\nJavaScript to modern standards, or use the mitigation below.

    \n

    The first option is to use the sphinxcontrib.jquery_ extension, which has been\ndeveloped by the Sphinx team and contributors. To use this, add\nsphinxcontrib.jquery to the extensions list in conf.py, or call\napp.setup_extension("sphinxcontrib.jquery") if you develop a Sphinx theme\nor extension.

    \n

    The second option is to manually ensure that the frameworks are present.\nTo re-add jQuery and underscore.js, you will need to copy jquery.js and\nunderscore.js from the Sphinx repository_ to your static directory,\nand add the following to your layout.html:

    \n

    .. code-block:: html+jinja

    \n

    {%- block scripts %}\n\n\n{{ super() }}\n{%- endblock %}

    \n

    .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/

    \n

    Patch by Adam Turner.

    \n
  • \n
  • \n

    #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See\n:ref:dev-deprecated-apis for details. Patch by Adam Turner.

    \n
  • \n
  • \n

    #10901: C Domain: Remove support for parsing pre-v3 style type directives and\nroles. Also remove associated configuration variables c_allow_pre_v3 and\nc_warn_on_allowed_pre_v3. Patch by Adam Turner.

    \n
  • \n
\n

Features added

\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • 5b56a23 Bump to 6.0.0 final
  • \n
  • f1d1e9c Update coverage workflow for Tox 4
  • \n
  • 66a738c Update coverage workflow for new configuration location
  • \n
  • 041e5f8 Add test coverage for 'today_fmt' reference substitution (#10980)
  • \n
  • da25145 Remove unnecessary conditional import in sphinx.ext.napoleon (#11043)
  • \n
  • 45a0ea9 Migrate coveragepy config into pyproject.toml (#11025)
  • \n
  • 3ec54f1 Create a pydata_sphinx_theme section in usage examples (#11046)
  • \n
  • 32bce8f Copy edit the tutorial (#11049)
  • \n
  • 9844162 Fix example using add_config_value (#10937)
  • \n
  • bf4a626 RTD builder: add graphviz depedendency (#11040)
  • \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=5.3.0&new-version=6.0.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--1974.org.readthedocs.build/en/1974/\n\r\n", "created_at": "2023-01-02T13:04:26Z", "updated_at": "2023-01-05T13:02:42Z", "closed_at": "2023-01-05T13:02:40Z", "merged_at": null, "merge_commit_sha": "302502126c106d20af29005bbd3bc7e86ca69052", "assignee": null, "milestone": null, "draft": 0, "head": "1e213a39f9582f881c626888d704dd3f196f6ae7", "base": "572bdb5b8095bbdc5ec2aa95400055e49ea028cb", "author_association": "CONTRIBUTOR", "repo": {"value": 107914493, "label": "datasette"}, "url": "https://github.com/simonw/datasette/pull/1974", "merged_by": null, "auto_merge": null} {"id": 1182000455, "node_id": "PR_kwDOC8tyDs5Gc-VH", "number": 23, "state": "open", "locked": 0, "title": "Include workout statistics", "user": {"value": 2129, "label": "badboy"}, "body": "Not sure when this changed (iOS 16 maybe?), but the `WorkoutStatistics` now has a whole bunch of information about workouts, e.g. for runs it contains the distance (as a `` element).\r\n\r\nAdding it as another column at leat allows me to pull these out (using SQLite's JSON support).\r\nI'm running with this patch on my own data now.", "created_at": "2023-01-01T17:29:56Z", "updated_at": "2023-01-01T17:29:57Z", "closed_at": null, "merged_at": null, "merge_commit_sha": "e0ad45055f363810085119f26df87a6804451056", "assignee": null, "milestone": null, "draft": 0, "head": "d5b9e3609961515cc52bcc5ef070e3b83b473339", "base": "9fe3cb17e03d6c73222b63e643638cf951567c4c", "author_association": "FIRST_TIME_CONTRIBUTOR", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}, "url": "https://github.com/dogsheep/healthkit-to-sqlite/pull/23", "merged_by": null, "auto_merge": null}