\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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2052/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1901483874, "node_id": "PR_kwDOBm6k_c5amULw", "number": 2190, "title": "Raise an exception if a \"plugins\" block exists in metadata.json", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 5, "created_at": "2023-09-18T18:08:56Z", "updated_at": "2023-10-12T16:20:51Z", "closed_at": "2023-10-12T16:20:51Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2190", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2190/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1901768721, "node_id": "PR_kwDOBm6k_c5anSg5", "number": 2191, "title": "Move `permissions`, `allow` blocks, canned queries and more out of `metadata.yaml` and into `datasette.yaml`", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2023-09-18T21:21:16Z", "updated_at": "2023-10-12T16:16:38Z", "closed_at": "2023-10-12T16:16:38Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2191", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2191/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1426379903, "node_id": "PR_kwDOBm6k_c5BtJNn", "number": 1870, "title": "don't use immutable=1, only mode=ro", "user": {"value": 536941, "label": "fgregg"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2022-10-27T23:33:04Z", "updated_at": "2023-10-03T19:12:37Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1870", "body": "Opening db files in immutable mode sometimes leads to the file being mutated, which causes duplication in the docker image layers: see #1836, #1480\r\n\r\nThat this happens in \"immutable\" mode is surprising, because the sqlite docs say that setting this should open the database as read only. \r\n\r\nhttps://www.sqlite.org/c3ref/open.html\r\n\r\n> immutable: The immutable parameter is a boolean query parameter that indicates that the database file is stored on read-only media. When immutable is set, SQLite assumes that the database file cannot be changed, even by a process with higher privilege, and so the database is opened read-only and all locking and change detection is disabled. Caution: Setting the immutable property on a database file that does in fact change can result in incorrect query results and/or [SQLITE_CORRUPT](https://www.sqlite.org/rescode.html#corrupt) errors. See also: [SQLITE_IOCAP_IMMUTABLE](https://www.sqlite.org/c3ref/c_iocap_atomic.html).\r\n\r\nPerhaps this is a bug in sqlite?\r\n\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1870.org.readthedocs.build/en/1870/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/1870/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1865572575, "node_id": "PR_kwDOBm6k_c5Yt2eO", "number": 2155, "title": "Fix hupper.start_reloader entry point", "user": {"value": 79087, "label": "cadeef"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-08-24T17:14:08Z", "updated_at": "2023-09-27T18:44:02Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2155", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2155/reactions\", \"total_count\": 2, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 2, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1896578249, "node_id": "PR_kwDOBm6k_c5aWACP", "number": 2185, "title": "Bump the python-packages group with 3 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-09-14T13:27:40Z", "updated_at": "2023-09-20T22:11:25Z", "closed_at": "2023-09-20T22:11:24Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2185", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.2.6
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.6 (released Sep 13, 2023)
\nBugs fixed
\n\n- #11679: Add the :envvar:
!SPHINX_AUTODOC_RELOAD_MODULES
environment variable,\nwhich if set reloads modules when using autodoc with TYPE_CHECKING = True
.\nPatch by Matt Wozniski and Adam Turner. \n- #11679: Use :py:func:
importlib.reload
to reload modules in autodoc.\nPatch by Matt Wozniski and Adam Turner. \n
\n
\n \n\nCommits
\n\n \n
\n\nUpdates `furo` from 2023.8.19 to 2023.9.10\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.09.10 -- Zesty Zaffre
\n\n- Make asset hash injection idempotent, fixing Sphinx 6 compatibility.
\n- Fix the check for HTML builders, fixing non-HTML Read the Docs builds.
\n
\n2023.08.19 -- Xenolithic Xanadu
\n\n- Fix missing search context with Sphinx 7.2, for dirhtml builds.
\n- Drop support for Python 3.7.
\n- Present configuration errors in a better format -- thanks
@\u200bAA-Turner
! \n- Bump
require_sphinx()
to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine. \n
\n2023.08.17 -- Wonderous White
\n\n- Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
\n
\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.03.23 -- Sassy Saffron
\n\n
\n... (truncated)
\n \n\nCommits
\n\n2718ca4
Prepare release: 2023.09.10 \nc22c99d
Update changelog \nc37e849
Quote a not-runtime-generic type annotation \n9cfdf44
Rework infrastructure for linting \n5abeb9f
Fix the check for HTML builders \nee2ab54
Tweak how tests are run with nox \ncdae236
Test against Sphinx minor versions in CI \n9e40071
Make asset hash injection idempotent \naab86f4
Revert "Exclude incompatible Sphinx releases (#711)" \n4dd6eec
Exclude incompatible Sphinx releases (#711) \n- Additional commits viewable in compare view
\n
\n \n
\n\nUpdates `black` from 23.7.0 to 23.9.1\n\nRelease notes
\nSourced from black's releases.
\n\n23.9.1
\nDue 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.
\nThere 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.
\nPackaging
\n\n- Upgrade to mypy 1.5.1 (#3864)
\n
\nPerformance
\n\n- Store raw tuples instead of NamedTuples in Black's cache, improving performance and\ndecreasing the size of the cache (#3877)
\n
\n23.9.0
\nPreview style
\n\n- More concise formatting for dummy implementations (#3796)
\n- In stub files, add a blank line between a statement with a body (e.g an\n
if sys.version_info > (3, x):
) and a function definition on the same level (#3862) \n- Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
\n
\nConfiguration
\n\n- Black now applies exclusion and ignore logic before resolving symlinks (#3846)
\n
\nPerformance
\n\n- Avoid importing
IPython
if notebook cells do not contain magics (#3782) \n- Improve caching by comparing file hashes as fallback for mtime and size (#3821)
\n
\nBlackd
\n\n- Fix an issue in
blackd
with single character input (#3558) \n
\nIntegrations
\n\n- Black now has an\nofficial pre-commit mirror. Swapping\n
https://github.com/psf/black
to https://github.com/psf/black-pre-commit-mirror
in\nyour .pre-commit-config.yaml
will make Black about 2x faster (#3828) \n- The
.black.env
folder specified by ENV_PATH
will now be removed on the completion\nof the GitHub Action (#3759) \n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n23.9.1
\nDue 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.
\nThere 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.
\nPackaging
\n\n- Upgrade to mypy 1.5.1 (#3864)
\n
\nPerformance
\n\n- Store raw tuples instead of NamedTuples in Black's cache, improving performance and\ndecreasing the size of the cache (#3877)
\n
\n23.9.0
\nPreview style
\n\n- More concise formatting for dummy implementations (#3796)
\n- In stub files, add a blank line between a statement with a body (e.g an\n
if sys.version_info > (3, x):
) and a function definition on the same level (#3862) \n- Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
\n
\nConfiguration
\n\n- Black now applies exclusion and ignore logic before resolving symlinks (#3846)
\n
\nPerformance
\n\n- Avoid importing
IPython
if notebook cells do not contain magics (#3782) \n- Improve caching by comparing file hashes as fallback for mtime and size (#3821)
\n
\nBlackd
\n\n- Fix an issue in
blackd
with single character input (#3558) \n
\nIntegrations
\n\n- Black now has an\nofficial pre-commit mirror. Swapping\n
https://github.com/psf/black
to https://github.com/psf/black-pre-commit-mirror
in\nyour .pre-commit-config.yaml
will make Black about 2x faster (#3828) \n- The
.black.env
folder specified by ENV_PATH
will now be removed on the completion\nof the GitHub Action (#3759) \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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2185/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1903932086, "node_id": "PR_kwDOBm6k_c5aumyn", "number": 2192, "title": "Stop using parallel SQL queries for tables", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-09-20T01:28:43Z", "updated_at": "2023-09-20T22:10:56Z", "closed_at": "2023-09-20T22:10:55Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2192", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2192/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1890593563, "node_id": "PR_kwDOBm6k_c5aBx3g", "number": 2182, "title": "Bump the python-packages group with 2 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-09-11T14:01:25Z", "updated_at": "2023-09-14T13:27:30Z", "closed_at": "2023-09-14T13:27:28Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2182", "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
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.09.10 -- Zesty Zaffre
\n\n- Make asset hash injection idempotent, fixing Sphinx 6 compatibility.
\n- Fix the check for HTML builders, fixing non-HTML Read the Docs builds.
\n
\n2023.08.19 -- Xenolithic Xanadu
\n\n- Fix missing search context with Sphinx 7.2, for dirhtml builds.
\n- Drop support for Python 3.7.
\n- Present configuration errors in a better format -- thanks
@\u200bAA-Turner
! \n- Bump
require_sphinx()
to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine. \n
\n2023.08.17 -- Wonderous White
\n\n- Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
\n
\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.03.23 -- Sassy Saffron
\n\n
\n... (truncated)
\n \n\nCommits
\n\n2718ca4
Prepare release: 2023.09.10 \nc22c99d
Update changelog \nc37e849
Quote a not-runtime-generic type annotation \n9cfdf44
Rework infrastructure for linting \n5abeb9f
Fix the check for HTML builders \nee2ab54
Tweak how tests are run with nox \ncdae236
Test against Sphinx minor versions in CI \n9e40071
Make asset hash injection idempotent \naab86f4
Revert "Exclude incompatible Sphinx releases (#711)" \n4dd6eec
Exclude incompatible Sphinx releases (#711) \n- Additional commits viewable in compare view
\n
\n \n
\n\nUpdates `black` from 23.7.0 to 23.9.1\n\nRelease notes
\nSourced from black's releases.
\n\n23.9.1
\nDue 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.
\nThere 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.
\nPackaging
\n\n- Upgrade to mypy 1.5.1 (#3864)
\n
\nPerformance
\n\n- Store raw tuples instead of NamedTuples in Black's cache, improving performance and\ndecreasing the size of the cache (#3877)
\n
\n23.9.0
\nPreview style
\n\n- More concise formatting for dummy implementations (#3796)
\n- In stub files, add a blank line between a statement with a body (e.g an\n
if sys.version_info > (3, x):
) and a function definition on the same level (#3862) \n- Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
\n
\nConfiguration
\n\n- Black now applies exclusion and ignore logic before resolving symlinks (#3846)
\n
\nPerformance
\n\n- Avoid importing
IPython
if notebook cells do not contain magics (#3782) \n- Improve caching by comparing file hashes as fallback for mtime and size (#3821)
\n
\nBlackd
\n\n- Fix an issue in
blackd
with single character input (#3558) \n
\nIntegrations
\n\n- Black now has an\nofficial pre-commit mirror. Swapping\n
https://github.com/psf/black
to https://github.com/psf/black-pre-commit-mirror
in\nyour .pre-commit-config.yaml
will make Black about 2x faster (#3828) \n- The
.black.env
folder specified by ENV_PATH
will now be removed on the completion\nof the GitHub Action (#3759) \n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n23.9.1
\nDue 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.
\nThere 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.
\nPackaging
\n\n- Upgrade to mypy 1.5.1 (#3864)
\n
\nPerformance
\n\n- Store raw tuples instead of NamedTuples in Black's cache, improving performance and\ndecreasing the size of the cache (#3877)
\n
\n23.9.0
\nPreview style
\n\n- More concise formatting for dummy implementations (#3796)
\n- In stub files, add a blank line between a statement with a body (e.g an\n
if sys.version_info > (3, x):
) and a function definition on the same level (#3862) \n- Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
\n
\nConfiguration
\n\n- Black now applies exclusion and ignore logic before resolving symlinks (#3846)
\n
\nPerformance
\n\n- Avoid importing
IPython
if notebook cells do not contain magics (#3782) \n- Improve caching by comparing file hashes as fallback for mtime and size (#3821)
\n
\nBlackd
\n\n- Fix an issue in
blackd
with single character input (#3558) \n
\nIntegrations
\n\n- Black now has an\nofficial pre-commit mirror. Swapping\n
https://github.com/psf/black
to https://github.com/psf/black-pre-commit-mirror
in\nyour .pre-commit-config.yaml
will make Black about 2x faster (#3828) \n- The
.black.env
folder specified by ENV_PATH
will now be removed on the completion\nof the GitHub Action (#3759) \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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2182/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1891212159, "node_id": "PR_kwDOBm6k_c5aD33C", "number": 2183, "title": "`datasette.yaml` plugin support", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2023-09-11T20:26:04Z", "updated_at": "2023-09-13T21:06:25Z", "closed_at": "2023-09-13T21:06:25Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2183", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2183/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1886783150, "node_id": "PR_kwDOCGYnMM5Z1H1d", "number": 593, "title": ".transform() now preserves rowid values, refs #592", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-09-08T01:02:28Z", "updated_at": "2023-09-10T17:44:59Z", "closed_at": "2023-09-09T00:45:30Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/593", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/593/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1886812002, "node_id": "PR_kwDOBm6k_c5Z1N2L", "number": 2181, "title": "actors_from_ids plugin hook and datasette.actors_from_ids() method", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-09-08T01:51:07Z", "updated_at": "2023-09-08T04:24:00Z", "closed_at": "2023-09-08T04:23:59Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2181", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2181/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 954546309, "node_id": "MDExOlB1bGxSZXF1ZXN0Njk4NDIzNjY3", "number": 8, "title": "Add Gmail takeout mbox import (v2)", "user": {"value": 28565, "label": "maxhawkins"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2021-07-28T07:05:32Z", "updated_at": "2023-09-08T01:22:49Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/google-takeout-to-sqlite/pulls/8", "body": "WIP\r\n\r\nThis PR builds on #5 to continue implementing gmail import support.\r\n\r\nBuilding on @UtahDave's work, these commits add a few performance and bug fixes:\r\n\r\n* Decreased memory overhead for import by manually parsing mbox headers.\r\n* Fixed error where some messages in the mbox would yield a row with NULL in all columns.\r\n\r\nI will send more commits to fix any errors I encounter as I run the importer on my personal takeout data.", "repo": {"value": 206649770, "label": "google-takeout-to-sqlite"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/8/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1884330740, "node_id": "PR_kwDOBm6k_c5ZszDF", "number": 2174, "title": "Use $DATASETTE_INTERNAL in absence of --internal", "user": {"value": 15178711, "label": "asg017"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-09-06T16:07:15Z", "updated_at": "2023-09-08T00:46:13Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2174", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2174/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1884499674, "node_id": "PR_kwDODFE5qs5ZtYMc", "number": 13, "title": "use poetry for packages, asdf for versioning, and gh actions for ci", "user": {"value": 150855, "label": "iloveitaly"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-09-06T17:59:16Z", "updated_at": "2023-09-06T17:59:16Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/google-takeout-to-sqlite/pulls/13", "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", "repo": {"value": 206649770, "label": "google-takeout-to-sqlite"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/13/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1875519316, "node_id": "PR_kwDOBm6k_c5ZPO5y", "number": 2166, "title": "Bump the python-packages group with 1 update", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-08-31T13:19:57Z", "updated_at": "2023-09-06T16:34:32Z", "closed_at": "2023-09-06T16:34:31Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2166", "body": "Bumps the python-packages group with 1 update: [sphinx](https://github.com/sphinx-doc/sphinx).\n\n\nRelease notes
\nSourced from sphinx's releases.
\n\nSphinx 7.2.5
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.5 (released Aug 30, 2023)
\nBugs fixed
\n\n- #11645: Fix a regression preventing autodoc from importing modules within\npackages that make use of
if typing.TYPE_CHECKING:
to guard circular\nimports needed by type checkers.\nPatch by Matt Wozniski. \n- #11634: Fixed inheritance diagram relative link resolution\nfor sibling files in a subdirectory.\nPatch by Albert Shih.
\n- #11659: Allow
?config=...
in :confval:mathjax_path
. \n- #11654: autodoc: Fail with a more descriptive error message\nwhen an object claims to be an instance of
type
,\nbut is not a class.\nPatch by James Braza. \n- 11620: Cease emitting :event:
source-read
events for files read via\nthe :dudir:include
directive. \n- 11620: Add a new :event:
include-read
for observing and transforming\nthe content of included files via the :dudir:include
directive. \n- #11627: Restore support for copyright lines of the form
YYYY
\nwhen SOURCE_DATE_EPOCH
is set. \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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2166/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1884333600, "node_id": "PR_kwDOBm6k_c5Zszqk", "number": 2175, "title": "Test against Python 3.12 preview", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-09-06T16:09:05Z", "updated_at": "2023-09-06T16:16:28Z", "closed_at": "2023-09-06T16:16:27Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2175", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2175/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1883055640, "node_id": "PR_kwDOBm6k_c5ZociX", "number": 2173, "title": "click-default-group>=1.2.3", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-09-06T02:33:28Z", "updated_at": "2023-09-06T02:50:10Z", "closed_at": "2023-09-06T02:50:10Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2173", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2173/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1880968405, "node_id": "PR_kwDOJHON9s5ZhYny", "number": 14, "title": "fix: fix the problem of Chinese character garbling", "user": {"value": 2698003, "label": "barretlee"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-09-04T23:48:28Z", "updated_at": "2023-09-04T23:48:28Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/apple-notes-to-sqlite/pulls/14", "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.", "repo": {"value": 611552758, "label": "apple-notes-to-sqlite"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/14/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1874327336, "node_id": "PR_kwDOBm6k_c5ZLMSe", "number": 2165, "title": "DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 6, "created_at": "2023-08-30T20:33:30Z", "updated_at": "2023-08-30T22:12:25Z", "closed_at": "2023-08-30T22:12:25Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2165", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2165/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1865281760, "node_id": "PR_kwDOBm6k_c5Ys3C5", "number": 2154, "title": "Cascade for restricted token view-table/view-database/view-instance operations", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 8, "created_at": "2023-08-24T14:24:23Z", "updated_at": "2023-08-29T16:32:35Z", "closed_at": "2023-08-29T16:32:34Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2154", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2154/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1870672704, "node_id": "PR_kwDOBm6k_c5Y-7Em", "number": 2162, "title": "Add new `--internal internal.db` option, deprecate legacy `_internal` database", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2023-08-29T00:05:07Z", "updated_at": "2023-08-29T03:24:23Z", "closed_at": "2023-08-29T03:24:23Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2162", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2162/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1869807874, "node_id": "PR_kwDOBm6k_c5Y8AN0", "number": 2160, "title": "Bump sphinx, furo, blacken-docs dependencies", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 5, "created_at": "2023-08-28T13:49:31Z", "updated_at": "2023-08-29T00:38:33Z", "closed_at": "2023-08-29T00:38:32Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2160", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.2.4
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.3
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.2
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.4 (released Aug 28, 2023)
\nBugs fixed
\n\n- #11618: Fix a regression in the MoveModuleTargets transform,\nintroduced in #10478 (#9662).
\n- #11649: linkcheck: Resolve hanging tests for timezones west of London\nand incorrect conversion from UTC to offsets from the UNIX epoch.\nPatch by Dmitry Shachnev and Adam Turner.
\n
\nRelease 7.2.3 (released Aug 23, 2023)
\nDependencies
\n\n- #11576: Require sphinxcontrib-serializinghtml 1.1.9.
\n
\nBugs fixed
\n\n- Fix regression in
autodoc.Documenter.parse_name()
. \n- Fix regression in JSON serialisation.
\n- #11543: autodoc: Support positional-only parameters in
classmethod
methods\nwhen autodoc_preserve_defaults
is True
. \n- Restore support string methods on path objects.\nThis is deprecated and will be removed in Sphinx 8.\nUse :py:func:
os.fspath
to convert :py:class:~pathlib.Path
objects to strings,\nor :py:class:~pathlib.Path
's methods to work with path objects. \n
\nRelease 7.2.2 (released Aug 17, 2023)
\nBugs fixed
\n\n- Fix the signature of the
StateMachine.insert_input()
patch,\nfor when calling with keyword arguments. \n- Fixed membership testing (
in
) for the :py:class:str
interface\nof the asset classes (_CascadingStyleSheet
and _JavaScript
),\nwhich several extensions relied upon. \n- Fixed a type error in
SingleFileHTMLBuilder._get_local_toctree
,\nincludehidden
may be passed as a string or a boolean. \n- Fix
:noindex:
for PyModule
and JSModule
. \n
\nRelease 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
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.08.19 -- Xenolithic Xanadu
\n\n- Fix missing search context with Sphinx 7.2, for dirhtml builds.
\n- Drop support for Python 3.7.
\n- Present configuration errors in a better format -- thanks
@\u200bAA-Turner
! \n- Bump
require_sphinx()
to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine. \n
\n2023.08.17 -- Wonderous White
\n\n- Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
\n
\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.03.23 -- Sassy Saffron
\n\n- Update Python version classifiers.
\n- Increase the icon size in mobile header.
\n- Increase admonition title bg opacity.
\n- Change the default API background to transparent.
\n- Transition the API background change.
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\nUpdates `blacken-docs` from 1.15.0 to 1.16.0\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.16.0 (2023-08-16)
\n\n- \n
Allow Markdown fence options.
\nThanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.
\n \n- \n
Expand Markdown detection to all Python language names from Pygments: py
, sage
, python3
, py3
, and numpy
.
\n \n- \n
Preserve leading whitespace lines in reStructuredText code blocks.
\nThanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.
\n \n- \n
Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.
\nThanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.
\n \n- \n
Support passing the --preview
option through to Black, to select the future style.
\n \n- \n
Remove language_version
from .pre-commit-hooks.yaml
.\nThis change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.
\nThanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.
\n \n
\n
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` 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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2160/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1859415334, "node_id": "PR_kwDOBm6k_c5YY5Ea", "number": 2148, "title": "Bump sphinx, furo, blacken-docs dependencies", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 9, "created_at": "2023-08-21T13:48:11Z", "updated_at": "2023-08-29T00:15:31Z", "closed_at": "2023-08-29T00:15:27Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2148", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.2.2
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.2 (released Aug 17, 2023)
\nBugs fixed
\n\n- Fix the signature of the
StateMachine.insert_input()
patch,\nfor when calling with keyword arguments. \n- Fixed membership testing (
in
) for the :py:class:str
interface\nof the asset classes (_CascadingStyleSheet
and _JavaScript
),\nwhich several extensions relied upon. \n- Fixed a type error in
SingleFileHTMLBuilder._get_local_toctree
,\nincludehidden
may be passed as a string or a boolean. \n- Fix
:noindex:
for PyModule
and JSModule``. \n
\nRelease 7.2.1 (released Aug 17, 2023)
\nBugs fixed
\n\n- Restored the the :py:class:
str
interface of the asset classes\n(_CascadingStyleSheet
and _JavaScript
), which several extensions relied upon.\nThis will be removed in Sphinx 9. \n- Restored calls to
Builder.add_{css,js}_file()
,\nwhich several extensions relied upon. \n- Restored the private API
TocTree.get_toctree_ancestors()
,\nwhich several extensions relied upon. \n
\nRelease 7.2.0 (released Aug 17, 2023)
\nDependencies
\n\n- #11511: Drop Python 3.8 support.
\n- #11576: Require Pygments 2.14 or later.
\n
\nDeprecated
\n\n- #11512: Deprecate
sphinx.util.md5
and sphinx.util.sha1
.\nUse hashlib
instead. \n- #11526: Deprecate
sphinx.testing.path
.\nUse os.path
or pathlib
instead. \n- #11528: Deprecate
sphinx.util.split_index_msg
and sphinx.util.split_into
.\nUse sphinx.util.index_entries.split_index_msg
instead. \n- Deprecate
sphinx.builders.html.Stylesheet
\nand sphinx.builders.html.Javascript
.\nUse sphinx.application.Sphinx.add_css_file()
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\ned84d63
Bump to 7.2.2 final \nea4a73e
[bot]: Update message catalogues (#11612) \ne47846a
Fix :noindex:
for PyModule
and JSModule`` \nb2fc47f
Add CHANGES entry for renaming the StateMachine.insert_input()
parameter \n0835c3e
Fix regression in SingleFileHTMLBuilder._get_local_toctree
\n49dc0dd
Fix asset class string interface membership testing \n8512855
Fix signature of docutils include_source monkeypatch (#11610) \ne1d9068
Bump version \n441a9e4
Bump to 7.2.1 final \nec31853
Restore TocTree.get_toctree_ancestors()
\n- Additional commits viewable in compare view
\n
\n \n
\n\nUpdates `furo` from 2023.7.26 to 2023.8.19\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.08.19 -- Xenolithic Xanadu
\n\n- Fix missing search context with Sphinx 7.2, for dirhtml builds.
\n- Drop support for Python 3.7.
\n- Present configuration errors in a better format -- thanks
@\u200bAA-Turner
! \n- Bump
require_sphinx()
to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine. \n
\n2023.08.17 -- Wonderous White
\n\n- Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
\n
\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.03.23 -- Sassy Saffron
\n\n- Update Python version classifiers.
\n- Increase the icon size in mobile header.
\n- Increase admonition title bg opacity.
\n- Change the default API background to transparent.
\n- Transition the API background change.
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\nUpdates `blacken-docs` from 1.15.0 to 1.16.0\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.16.0 (2023-08-16)
\n\n- \n
Allow Markdown fence options.
\nThanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.
\n \n- \n
Expand Markdown detection to all Python language names from Pygments: py
, sage
, python3
, py3
, and numpy
.
\n \n- \n
Preserve leading whitespace lines in reStructuredText code blocks.
\nThanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.
\n \n- \n
Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.
\nThanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.
\n \n- \n
Support passing the --preview
option through to Black, to select the future style.
\n \n- \n
Remove language_version
from .pre-commit-hooks.yaml
.\nThis change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.
\nThanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.
\n \n
\n
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore dependency` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2148.org.readthedocs.build/en/2148/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2148/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1870345352, "node_id": "PR_kwDOBm6k_c5Y90K9", "number": 2161, "title": "-s/--setting x y gets merged into datasette.yml, refs #2143, #2156", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-08-28T19:30:42Z", "updated_at": "2023-08-28T20:06:15Z", "closed_at": "2023-08-28T20:06:14Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2161", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2161/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1865174661, "node_id": "PR_kwDOBm6k_c5YsfZ7", "number": 2152, "title": "Bump the python-packages group with 3 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-08-24T13:34:44Z", "updated_at": "2023-08-28T13:49:39Z", "closed_at": "2023-08-28T13:49:37Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2152", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.2.3
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.2
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.3 (released Aug 23, 2023)
\nDependencies
\n\n- #11576: Require sphinxcontrib-serializinghtml 1.1.9.
\n
\nBugs fixed
\n\n- Fix regression in
autodoc.Documenter.parse_name()
. \n- Fix regression in JSON serialisation.
\n- #11543: autodoc: Support positional-only parameters in
classmethod
methods\nwhen autodoc_preserve_defaults
is True
. \n- Restore support string methods on path objects.\nThis is deprecated and will be removed in Sphinx 8.\nUse :py:func
os.fspath
to convert :py:class:pathlib.Path
objects to strings,\nor :py:class:pathlib.Path
's methods to work with path objects. \n
\nRelease 7.2.2 (released Aug 17, 2023)
\nBugs fixed
\n\n- Fix the signature of the
StateMachine.insert_input()
patch,\nfor when calling with keyword arguments. \n- Fixed membership testing (
in
) for the :py:class:str
interface\nof the asset classes (_CascadingStyleSheet
and _JavaScript
),\nwhich several extensions relied upon. \n- Fixed a type error in
SingleFileHTMLBuilder._get_local_toctree
,\nincludehidden
may be passed as a string or a boolean. \n- Fix
:noindex:
for PyModule
and JSModule``. \n
\nRelease 7.2.1 (released Aug 17, 2023)
\nBugs fixed
\n\n- Restored the the :py:class:
str
interface of the asset classes\n(_CascadingStyleSheet
and _JavaScript
), which several extensions relied upon.\nThis will be removed in Sphinx 9. \n- Restored calls to
Builder.add_{css,js}_file()
,\nwhich several extensions relied upon. \n- Restored the private API
TocTree.get_toctree_ancestors()
,\nwhich several extensions relied upon. \n
\nRelease 7.2.0 (released Aug 17, 2023)
\n\n
\n... (truncated)
\n \n\nCommits
\n\n2f6ea14
Bump to 7.2.3 final \n511e407
Implement bool()
for string paths \n494de73
Implement hash()
for string paths \n2986aa1
Override special methods for string paths \n07b87e9
Update CHANGES for 7.2.3 \n6b17dd1
Support string methods on path objects (#11619) \na73fb59
Support positional-only parameters in classmethods (#11635) \n02cb02c
Fix invocation of python -m sphinx build
\n6183b6a
Require sphinxcontrib-serializinghtml 1.1.9 or later \n1e16f21
Fix regression in autodoc.Documenter.parse_name
(#11613) \n- Additional commits viewable in compare view
\n
\n \n
\n\nUpdates `furo` from 2023.7.26 to 2023.8.19\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.08.19 -- Xenolithic Xanadu
\n\n- Fix missing search context with Sphinx 7.2, for dirhtml builds.
\n- Drop support for Python 3.7.
\n- Present configuration errors in a better format -- thanks
@\u200bAA-Turner
! \n- Bump
require_sphinx()
to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine. \n
\n2023.08.17 -- Wonderous White
\n\n- Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
\n
\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.03.23 -- Sassy Saffron
\n\n- Update Python version classifiers.
\n- Increase the icon size in mobile header.
\n- Increase admonition title bg opacity.
\n- Change the default API background to transparent.
\n- Transition the API background change.
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\nUpdates `blacken-docs` from 1.15.0 to 1.16.0\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.16.0 (2023-08-16)
\n\n- \n
Allow Markdown fence options.
\nThanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.
\n \n- \n
Expand Markdown detection to all Python language names from Pygments: py
, sage
, python3
, py3
, and numpy
.
\n \n- \n
Preserve leading whitespace lines in reStructuredText code blocks.
\nThanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.
\n \n- \n
Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.
\nThanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.
\n \n- \n
Support passing the --preview
option through to Black, to select the future style.
\n \n- \n
Remove language_version
from .pre-commit-hooks.yaml
.\nThis change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.
\nThanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.
\n \n
\n
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` 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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2152/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1866815458, "node_id": "PR_kwDOBm6k_c5YyF-C", "number": 2159, "title": "Implement Dark Mode colour scheme", "user": {"value": 3315059, "label": "jamietanna"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-08-25T10:46:23Z", "updated_at": "2023-08-25T10:46:35Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2159", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2159/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 1, "state_reason": null}
{"id": 1865983069, "node_id": "PR_kwDOBm6k_c5YvQSi", "number": 2158, "title": "add brand option to metadata.json.", "user": {"value": 52261150, "label": "publicmatt"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-08-24T22:37:41Z", "updated_at": "2023-08-24T22:37:57Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2158", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2158/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1864112887, "node_id": "PR_kwDOBm6k_c5Yo7bk", "number": 2151, "title": "Test Datasette on multiple SQLite versions", "user": {"value": 15178711, "label": "asg017"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-08-23T22:42:51Z", "updated_at": "2023-08-23T22:58:13Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2151", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2151/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 1, "state_reason": null}
{"id": 459689615, "node_id": "MDExOlB1bGxSZXF1ZXN0MjkwOTcxMjk1", "number": 524, "title": "Sort commits using isort, refs #516", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2019-06-24T05:04:48Z", "updated_at": "2023-08-23T01:31:08Z", "closed_at": "2023-08-23T01:31:08Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/524", "body": "Also added a lint unit test to ensure they stay sorted. #516", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/524/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1861812208, "node_id": "PR_kwDOBm6k_c5YhH-W", "number": 2149, "title": "Start a new `datasette.yaml` configuration file, with settings support", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-08-22T16:24:16Z", "updated_at": "2023-08-23T01:26:11Z", "closed_at": "2023-08-23T01:26:11Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2149", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2149/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1856760386, "node_id": "PR_kwDOBm6k_c5YQGcc", "number": 2144, "title": "Bump the python-packages group with 3 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-08-18T13:49:37Z", "updated_at": "2023-08-21T13:48:18Z", "closed_at": "2023-08-21T13:48:16Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2144", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.2.2
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.2 (released Aug 17, 2023)
\nBugs fixed
\n\n- Fix the signature of the
StateMachine.insert_input()
patch,\nfor when calling with keyword arguments. \n- Fixed membership testing (
in
) for the :py:class:str
interface\nof the asset classes (_CascadingStyleSheet
and _JavaScript
),\nwhich several extensions relied upon. \n- Fixed a type error in
SingleFileHTMLBuilder._get_local_toctree
,\nincludehidden
may be passed as a string or a boolean. \n- Fix
:noindex:
for PyModule
and JSModule``. \n
\nRelease 7.2.1 (released Aug 17, 2023)
\nBugs fixed
\n\n- Restored the the :py:class:
str
interface of the asset classes\n(_CascadingStyleSheet
and _JavaScript
), which several extensions relied upon.\nThis will be removed in Sphinx 9. \n- Restored calls to
Builder.add_{css,js}_file()
,\nwhich several extensions relied upon. \n- Restored the private API
TocTree.get_toctree_ancestors()
,\nwhich several extensions relied upon. \n
\nRelease 7.2.0 (released Aug 17, 2023)
\nDependencies
\n\n- #11511: Drop Python 3.8 support.
\n- #11576: Require Pygments 2.14 or later.
\n
\nDeprecated
\n\n- #11512: Deprecate
sphinx.util.md5
and sphinx.util.sha1
.\nUse hashlib
instead. \n- #11526: Deprecate
sphinx.testing.path
.\nUse os.path
or pathlib
instead. \n- #11528: Deprecate
sphinx.util.split_index_msg
and sphinx.util.split_into
.\nUse sphinx.util.index_entries.split_index_msg
instead. \n- Deprecate
sphinx.builders.html.Stylesheet
\nand sphinx.builders.html.Javascript
.\nUse sphinx.application.Sphinx.add_css_file()
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\ned84d63
Bump to 7.2.2 final \nea4a73e
[bot]: Update message catalogues (#11612) \ne47846a
Fix :noindex:
for PyModule
and JSModule`` \nb2fc47f
Add CHANGES entry for renaming the StateMachine.insert_input()
parameter \n0835c3e
Fix regression in SingleFileHTMLBuilder._get_local_toctree
\n49dc0dd
Fix asset class string interface membership testing \n8512855
Fix signature of docutils include_source monkeypatch (#11610) \ne1d9068
Bump version \n441a9e4
Bump to 7.2.1 final \nec31853
Restore TocTree.get_toctree_ancestors()
\n- Additional commits viewable in compare view
\n
\n \n
\n\nUpdates `furo` from 2023.7.26 to 2023.8.17\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.08.17 -- Wonderous White
\n\n- Fix compatiblity with Sphinx 7.2.0 and 7.2.1.
\n
\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.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
\n2022.12.07 -- Reverent Raspberry
\n\n- \u2728 Add support for Sphinx 6.
\n- \u2728 Improve footnote presentation with docutils 0.18+.
\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
\nSourced from blacken-docs's changelog.
\n\n1.16.0 (2023-08-16)
\n\n- \n
Allow Markdown fence options.
\nThanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.
\n \n- \n
Expand Markdown detection to all Python language names from Pygments: py
, sage
, python3
, py3
, and numpy
.
\n \n- \n
Preserve leading whitespace lines in reStructuredText code blocks.
\nThanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.
\n \n- \n
Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.
\nThanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.
\n \n- \n
Support passing the --preview
option through to Black, to select the future style.
\n \n- \n
Remove language_version
from .pre-commit-hooks.yaml
.\nThis change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.
\nThanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.
\n \n
\n
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore dependency` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2144.org.readthedocs.build/en/2144/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2144/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1854970601, "node_id": "PR_kwDOBm6k_c5YKAZ4", "number": 2142, "title": "Bump the python-packages group with 2 updates", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-08-17T13:07:53Z", "updated_at": "2023-08-18T13:49:29Z", "closed_at": "2023-08-18T13:49:26Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2142", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.2.0 (released Aug 17, 2023)
\nDependencies
\n\n- #11511: Drop Python 3.8 support.
\n- #11576: Require Pygments 2.14 or later.
\n
\nDeprecated
\n\n- #11512: Deprecate
sphinx.util.md5
and sphinx.util.sha1
.\nUse hashlib
instead. \n- #11526: Deprecate
sphinx.testing.path
.\nUse os.path
or pathlib
instead. \n- #11528: Deprecate
sphinx.util.split_index_msg
and sphinx.util.split_into
.\nUse sphinx.util.index_entries.split_index_msg
instead. \n- Deprecate
sphinx.builders.html.Stylesheet
\nand sphinx.builders.html.Javascript
.\nUse sphinx.application.Sphinx.add_css_file()
\nand sphinx.application.Sphinx.add_js_file()
instead. \n- #11582: Deprecate
sphinx.builders.html.StandaloneHTMLBuilder.css_files
and\nsphinx.builders.html.StandaloneHTMLBuilder.script_files
.\nUse sphinx.application.Sphinx.add_css_file()
\nand sphinx.application.Sphinx.add_js_file()
instead. \n- #11459: Deprecate
sphinx.ext.autodoc.preserve_defaults.get_function_def()
.\nPatch by B\u00e9n\u00e9dikt Tran. \n
\nFeatures added
\n\n- #11526: Support
os.PathLike
types and pathlib.Path
objects\nin many more places. \n- #5474: coverage: Print summary statistics tables.\nPatch by Jorge Leitao.
\n- #6319: viewcode: Add :confval:
viewcode_line_numbers
to control\nwhether line numbers are added to rendered source code.\nPatch by Ben Krikler. \n- #9662: Add the
:no-typesetting:
option to suppress textual output\nand only create a linkable anchor.\nPatch by Latosha Maltba. \n- #11221: C++: Support domain objects in the table of contents.\nPatch by Rouslan Korneychuk.
\n- #10938: doctest: Add :confval:
doctest_show_successes
option.\nPatch by Trey Hunner. \n- #11533: Add
:no-index:
, :no-index-entry:
, and :no-contents-entry:
. \n- #11572: Improve
debug
logging of reasons why files are detected as out of\ndate.\nPatch by Eric Larson. \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
\nSourced from blacken-docs's changelog.
\n\n1.16.0 (2023-08-16)
\n\n- \n
Allow Markdown fence options.
\nThanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.
\n \n- \n
Expand Markdown detection to all Python language names from Pygments: py
, sage
, python3
, py3
, and numpy
.
\n \n- \n
Preserve leading whitespace lines in reStructuredText code blocks.
\nThanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.
\n \n- \n
Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.
\nThanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.
\n \n- \n
Support passing the --preview
option through to Black, to select the future style.
\n \n- \n
Remove language_version
from .pre-commit-hooks.yaml
.\nThis change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.
\nThanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.
\n \n
\n
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore dependency` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2142.org.readthedocs.build/en/2142/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2142/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1855838223, "node_id": "PR_kwDOCGYnMM5YM-I3", "number": 584, "title": ".transform() instead of modifying sqlite_master for add_foreign_keys", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 13, "created_at": "2023-08-17T23:32:45Z", "updated_at": "2023-08-18T00:48:13Z", "closed_at": "2023-08-18T00:48:08Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/584", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/584/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1853289039, "node_id": "PR_kwDOBm6k_c5YEUBK", "number": 2141, "title": "Bump the python-packages group with 1 update", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-08-16T13:47:35Z", "updated_at": "2023-08-17T13:07:48Z", "closed_at": "2023-08-17T13:07:45Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2141", "body": "Bumps the python-packages group with 1 update: [blacken-docs](https://github.com/asottile/blacken-docs).\n\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.16.0 (2023-08-16)
\n\n- \n
Allow Markdown fence options.
\nThanks to initial work from Matthew Anderson in PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.
\n \n- \n
Expand Markdown detection to all Python language names from Pygments: py
, sage
, python3
, py3
, and numpy
.
\n \n- \n
Preserve leading whitespace lines in reStructuredText code blocks.
\nThanks to Julianus Pfeuffer for the report in Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.
\n \n- \n
Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for \u201cfiles have been formatted\u201d.
\nThanks to Julianus Pfeuffer for the report in Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.
\n \n- \n
Support passing the --preview
option through to Black, to select the future style.
\n \n- \n
Remove language_version
from .pre-commit-hooks.yaml
.\nThis change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.
\nThanks to Aneesh Agrawal in PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.
\n \n
\n
\n \n\nCommits
\n\n \n
\n\n\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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2141/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1802613340, "node_id": "PR_kwDOBm6k_c5VZhfw", "number": 2100, "title": "Make primary key view accessible to render_cell hook", "user": {"value": 1563881, "label": "meowcat"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-07-13T09:30:36Z", "updated_at": "2023-08-10T13:15:41Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2100", "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2100.org.readthedocs.build/en/2100/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2100/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 771511344, "node_id": "MDExOlB1bGxSZXF1ZXN0NTQzMDE1ODI1", "number": 31, "title": "Update for Big Sur", "user": {"value": 41546558, "label": "RhetTbull"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2020-12-20T04:36:45Z", "updated_at": "2023-08-08T15:52:52Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "dogsheep/dogsheep-photos/pulls/31", "body": "Refactored out the SQL for extracting aesthetic scores to use osxphotos -- adds compatbility for Big Sur via osxphotos which has been updated for new table names in Big Sur. Have not yet refactored the SQL for extracting labels which is still compatible with Big Sur.", "repo": {"value": 256834907, "label": "dogsheep-photos"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/dogsheep-photos/issues/31/reactions\", \"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1823352380, "node_id": "PR_kwDOBm6k_c5Wfgd9", "number": 2118, "title": "New JSON design for query views", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 9700784, "label": "Datasette 1.0a3"}, "comments": 11, "created_at": "2023-07-26T23:29:21Z", "updated_at": "2023-08-08T01:47:40Z", "closed_at": "2023-08-08T01:47:39Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2118", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2118/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1833193570, "node_id": "PR_kwDOBm6k_c5XArm3", "number": 2125, "title": "Bump sphinx from 6.1.3 to 7.1.2", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-08-02T13:28:39Z", "updated_at": "2023-08-07T16:20:30Z", "closed_at": "2023-08-07T16:20:27Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2125", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.2.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nSphinx 7.1.2
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.1.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.1.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0rc1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.1.2 (released Aug 02, 2023)
\nBugs fixed
\n\n- #11542: linkcheck: Properly respect :confval:
linkcheck_anchors
\nand do not spuriously report failures to validate anchors.\nPatch by James Addison. \n
\nRelease 7.1.1 (released Jul 27, 2023)
\nBugs fixed
\n\n- #11514: Fix
SOURCE_DATE_EPOCH
in multi-line copyright footer.\nPatch by B\u00e9n\u00e9dikt Tran. \n
\nRelease 7.1.0 (released Jul 24, 2023)
\nIncompatible changes
\n\nDeprecated
\n\n- #11412: Emit warnings on using a deprecated Python-specific index entry type\n(namely,
module
, keyword
, operator
, object
, exception
,\nstatement
, and builtin
) in the :rst:dir:index
directive, and\nset the removal version to Sphinx 9. Patch by Adam Turner. \n
\nFeatures added
\n\n- #11415: Add a checksum to JavaScript and CSS asset URIs included within\ngenerated HTML, using the CRC32 algorithm.
\n- :meth:
~sphinx.application.Sphinx.require_sphinx
now allows the version\nrequirement to be specified as (major, minor)
. \n- #11011: Allow configuring a line-length limit for object signatures, via\n:confval:
maximum_signature_line_length
and the domain-specific variants.\nIf the length of the signature (in characters) is greater than the configured\nlimit, each parameter in the signature will be split to its own logical line.\nThis behaviour may also be controlled by options on object description\ndirectives, for example :rst:dir:py:function:single-line-parameter-list
. \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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2125/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1824399610, "node_id": "PR_kwDOBm6k_c5WjCS8", "number": 2121, "title": "Bump furo from 2023.3.27 to 2023.7.26", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-07-27T13:40:48Z", "updated_at": "2023-08-07T16:20:23Z", "closed_at": "2023-08-07T16:20:20Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2121", "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.7.26.\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.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
\n2022.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
\n\n
\n... (truncated)
\n \n\nCommits
\n\n35f5307
Prepare release: 2023.07.26 \n0a8bedc
Update changelog \na92dd0c
Make _add_asset_hashes
a no-op with Sphinx 7.1 \nf8db95b
Improve literals with inline code are handled \n1680dbe
Document the use of figclass
with figure
directive \nbeebd7e
Increase the specificity of the admonition title selector \n834e951
Setup uploads to Percy \n27bf2c0
[pre-commit.ci] pre-commit autoupdate (#672) \nc8b51d0
Fix how content overflow is handled \n80afa27
[pre-commit.ci] pre-commit autoupdate (#652) \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=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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2121/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1796830110, "node_id": "PR_kwDOBm6k_c5VFw3j", "number": 2098, "title": "Bump blacken-docs from 1.14.0 to 1.15.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-07-10T13:49:12Z", "updated_at": "2023-08-07T16:20:22Z", "closed_at": "2023-08-07T16:20:20Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2098", "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.14.0 to 1.15.0.\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.15.0 (2023-07-09)
\n\n- Drop Python 3.7 support.
\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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2098/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1839766197, "node_id": "PR_kwDOBm6k_c5XWhWF", "number": 2128, "title": "Bump blacken-docs, furo, blacken-docs", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-08-07T15:50:40Z", "updated_at": "2023-08-07T16:19:25Z", "closed_at": "2023-08-07T16:19:24Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2128", "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
\nSourced from sphinx's releases.
\n\nSphinx 7.1.2
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.1.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.1.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0rc1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.1.2 (released Aug 02, 2023)
\nBugs fixed
\n\n- #11542: linkcheck: Properly respect :confval:
linkcheck_anchors
\nand do not spuriously report failures to validate anchors.\nPatch by James Addison. \n
\nRelease 7.1.1 (released Jul 27, 2023)
\nBugs fixed
\n\n- #11514: Fix
SOURCE_DATE_EPOCH
in multi-line copyright footer.\nPatch by B\u00e9n\u00e9dikt Tran. \n
\nRelease 7.1.0 (released Jul 24, 2023)
\nIncompatible changes
\n\nDeprecated
\n\n- #11412: Emit warnings on using a deprecated Python-specific index entry type\n(namely,
module
, keyword
, operator
, object
, exception
,\nstatement
, and builtin
) in the :rst:dir:index
directive, and\nset the removal version to Sphinx 9. Patch by Adam Turner. \n
\nFeatures added
\n\n- #11415: Add a checksum to JavaScript and CSS asset URIs included within\ngenerated HTML, using the CRC32 algorithm.
\n- :meth:
~sphinx.application.Sphinx.require_sphinx
now allows the version\nrequirement to be specified as (major, minor)
. \n- #11011: Allow configuring a line-length limit for object signatures, via\n:confval:
maximum_signature_line_length
and the domain-specific variants.\nIf the length of the signature (in characters) is greater than the configured\nlimit, each parameter in the signature will be split to its own logical line.\nThis behaviour may also be controlled by options on object description\ndirectives, for example :rst:dir:py:function:single-line-parameter-list
. \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\nUpdates `furo` from 2023.3.27 to 2023.7.26\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.07.26 -- Vigilant Volt
\n\n- Fix compatiblity with Sphinx 7.1.
\n- Improve how content overflow is handled.
\n- Improve how literal blocks containing inline code are handled.
\n
\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.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
\n2022.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
\n\n
\n... (truncated)
\n \n\nCommits
\n\n35f5307
Prepare release: 2023.07.26 \n0a8bedc
Update changelog \na92dd0c
Make _add_asset_hashes
a no-op with Sphinx 7.1 \nf8db95b
Improve literals with inline code are handled \n1680dbe
Document the use of figclass
with figure
directive \nbeebd7e
Increase the specificity of the admonition title selector \n834e951
Setup uploads to Percy \n27bf2c0
[pre-commit.ci] pre-commit autoupdate (#672) \nc8b51d0
Fix how content overflow is handled \n80afa27
[pre-commit.ci] pre-commit autoupdate (#652) \n- Additional commits viewable in compare view
\n
\n \n
\n\nUpdates `blacken-docs` from 1.14.0 to 1.15.0\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.15.0 (2023-07-09)
\n\n- Drop Python 3.7 support.
\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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2128/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1826424151, "node_id": "PR_kwDOBm6k_c5Wp6Hs", "number": 2124, "title": "Bump sphinx from 6.1.3 to 7.1.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-07-28T13:23:11Z", "updated_at": "2023-08-02T13:28:47Z", "closed_at": "2023-08-02T13:28:44Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2124", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.1.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nSphinx 7.1.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nSphinx 7.1.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0rc1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.1.1 (released Jul 27, 2023)
\nBugs fixed
\n\n- #11514: Fix
SOURCE_DATE_EPOCH
in multi-line copyright footer.\nPatch by B\u00e9n\u00e9dikt Tran. \n
\nRelease 7.1.0 (released Jul 24, 2023)
\nIncompatible changes
\n\nDeprecated
\n\n- #11412: Emit warnings on using a deprecated Python-specific index entry type\n(namely,
module
, keyword
, operator
, object
, exception
,\nstatement
, and builtin
) in the :rst:dir:index
directive, and\nset the removal version to Sphinx 9. Patch by Adam Turner. \n
\nFeatures added
\n\n- #11415: Add a checksum to JavaScript and CSS asset URIs included within\ngenerated HTML, using the CRC32 algorithm.
\n- :meth:
~sphinx.application.Sphinx.require_sphinx
now allows the version\nrequirement to be specified as (major, minor)
. \n- #11011: Allow configuring a line-length limit for object signatures, via\n:confval:
maximum_signature_line_length
and the domain-specific variants.\nIf the length of the signature (in characters) is greater than the configured\nlimit, each parameter in the signature will be split to its own logical line.\nThis behaviour may also be controlled by options on object description\ndirectives, for example :rst:dir:py:function:single-line-parameter-list
.\nPatch by Thomas Louf, Adam Turner, and Jean-Fran\u00e7ois B. \n- #10983: Support for multiline copyright statements in the footer block.\nPatch by Stefanie Molin
\nsphinx.util.display.status_iterator
now clears the current line\nwith ANSI control codes, rather than overprinting with space characters. \n- #11431: linkcheck: Treat SSL failures as broken links.\nPatch by B\u00e9n\u00e9dikt Tran
\n- #11157: Keep the
translated
attribute on translated nodes. \n- #11451: Improve the traceback displayed when using :option:
sphinx-build -T
\nin parallel builds. Patch by B\u00e9n\u00e9dikt Tran \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\nd8d73c1
Bump to 7.1.1 final \na54e630
[internationalisation] Update message catalogues \n8452300
Fix multi-line copyright when SOURCE_DATE_EPOCH
is set (#11524) \nfe08cec
bump version \ne560f63
Bump to 7.1.0 final \n066e0fa
Add translation progress information (#11509) \n0882914
Target PyPI in create-release.yml \n21fbee5
Fix OIDC token payload \n1a403e4
Add informational log messaging \n258b0ea
Revert "Switch to using github.request
" \n- Additional commits viewable in compare view
\n
\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=7.1.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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2124/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 774332247, "node_id": "MDExOlB1bGxSZXF1ZXN0NTQ1MjY0NDM2", "number": 1159, "title": "Improve the display of facets information", "user": {"value": 552629, "label": "lovasoa"}, "state": "open", "locked": 0, "assignee": null, "milestone": {"value": 3268330, "label": "Datasette 1.0"}, "comments": 9, "created_at": "2020-12-24T11:01:47Z", "updated_at": "2023-07-31T18:57:59Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1159", "body": "This PR changes the display of facets to hopefully make them more readable.\r\n\r\nBefore | After\r\n---|---\r\n![image](https://user-images.githubusercontent.com/552629/103084609-b1ec2980-45df-11eb-85bc-68ab8df3e8d9.png) | ![image](https://user-images.githubusercontent.com/552629/103085220-620e6200-45e1-11eb-8189-5dd5d3e2569e.png)\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/1159/reactions\", \"total_count\": 4, \"+1\": 4, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1827436260, "node_id": "PR_kwDOD079W85WtVyk", "number": 39, "title": "Missing option in datasette instructions", "user": {"value": 319473, "label": "coldclimate"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-07-29T10:34:48Z", "updated_at": "2023-07-29T10:34:48Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/dogsheep-photos/pulls/39", "body": "Gotta tell it where to look", "repo": {"value": 256834907, "label": "dogsheep-photos"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/dogsheep-photos/issues/39/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1827427757, "node_id": "PR_kwDOD079W85WtUKG", "number": 38, "title": "photos-to-sql not found?", "user": {"value": 319473, "label": "coldclimate"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-07-29T09:59:42Z", "updated_at": "2023-07-29T10:01:27Z", "closed_at": "2023-07-29T10:01:23Z", "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/dogsheep-photos/pulls/38", "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", "repo": {"value": 256834907, "label": "dogsheep-photos"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/dogsheep-photos/issues/38/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1820346348, "node_id": "PR_kwDOBm6k_c5WVYor", "number": 2107, "title": "Bump sphinx from 6.1.3 to 7.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-07-25T13:28:30Z", "updated_at": "2023-07-28T13:23:19Z", "closed_at": "2023-07-28T13:23:17Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2107", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.1.0.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nSphinx 7.1.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0rc1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.1.0 (released Jul 24, 2023)
\nIncompatible changes
\n\nDeprecated
\n\n- #11412: Emit warnings on using a deprecated Python-specific index entry type\n(namely,
module
, keyword
, operator
, object
, exception
,\nstatement
, and builtin
) in the :rst:dir:index
directive, and\nset the removal version to Sphinx 9. Patch by Adam Turner. \n
\nFeatures added
\n\n- #11415: Add a checksum to JavaScript and CSS asset URIs included within\ngenerated HTML, using the CRC32 algorithm.
\n- :meth:
~sphinx.application.Sphinx.require_sphinx
now allows the version\nrequirement to be specified as (major, minor)
. \n- #11011: Allow configuring a line-length limit for object signatures, via\n:confval:
maximum_signature_line_length
and the domain-specific variants.\nIf the length of the signature (in characters) is greater than the configured\nlimit, each parameter in the signature will be split to its own logical line.\nThis behaviour may also be controlled by options on object description\ndirectives, for example :rst:dir:py:function:single-line-parameter-list
.\nPatch by Thomas Louf, Adam Turner, and Jean-Fran\u00e7ois B. \n- #10983: Support for multiline copyright statements in the footer block.\nPatch by Stefanie Molin
\nsphinx.util.display.status_iterator
now clears the current line\nwith ANSI control codes, rather than overprinting with space characters. \n- #11431: linkcheck: Treat SSL failures as broken links.\nPatch by B\u00e9n\u00e9dikt Tran
\n- #11157: Keep the
translated
attribute on translated nodes. \n- #11451: Improve the traceback displayed when using :option:
sphinx-build -T
\nin parallel builds. Patch by B\u00e9n\u00e9dikt Tran \n- #11324: linkcheck: Use session-basd HTTP requests.
\n- #11438: Add support for the :rst:dir:
py:class
and :rst:dir:py:function
\ndirectives for PEP 695 (generic classes and functions declarations) and\nPEP 696 (default type parameters). Multi-line support (#11011) is enabled\nfor type parameters list and can be locally controlled on object description\ndirectives, e.g., :rst:dir:py:function:single-line-type-parameter-list
.\nPatch by B\u00e9n\u00e9dikt Tran. \n- #11484: linkcheck: Allow HTML anchors to be ignored on a per-URL basis\nvia :confval:
linkcheck_anchors_ignore_for_url
while \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\ne560f63
Bump to 7.1.0 final \n066e0fa
Add translation progress information (#11509) \n0882914
Target PyPI in create-release.yml \n21fbee5
Fix OIDC token payload \n1a403e4
Add informational log messaging \n258b0ea
Revert "Switch to using github.request
" \nf9c89e5
Switch to using github.request
\n52c7f66
Use the correct token minting URL for TestPyPI \n6079f28
Install twine in PyPI publish workflow \n3d43b9e
Fix github-script syntax in create-release.yml \n- Additional commits viewable in compare view
\n
\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=7.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n \r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2107.org.readthedocs.build/en/2107/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2107/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1719759468, "node_id": "PR_kwDOBm6k_c5RBXH_", "number": 2077, "title": "Bump furo from 2023.3.27 to 2023.5.20", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-05-22T13:58:16Z", "updated_at": "2023-07-27T13:40:55Z", "closed_at": "2023-07-27T13:40:53Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2077", "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.5.20.\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.05.20 -- Unassuming Ultramarine
\n\n- \u2728 Add support for Sphinx 7.
\n- Drop support for Sphinx 5.
\n- Improve the screen-reader label for sidebar collapse.
\n- Make it easier to create derived themes from Furo.
\n- Bump all JS dependencies (NodeJS and npm packages).
\n
\n2023.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
\n2023.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
\n2022.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
\n2022.09.29 -- Quaint Quartz
\n\n- Add ability to set arbitrary URLs for edit button.
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\nd2c9ca8
Prepare release: 2023.05.20 \n662d21b
Update changelog \n591780b
Bump compatible Sphinx version \nc2e7837
Bump NodeJS and package versions \ndd85574
Use the reference HtmlFormatter class defined on PygmentsBridge. (#657) \n6bff419
Fix broken link (#654) \ne7f732e
Improve the screen-reader label for sidebar collapse \n48c0bf2
Drop the check for the theme name \n1b17d81
[pre-commit.ci] pre-commit autoupdate (#646) \n4904fd5
Remove Python 3.8 constraint from Black pre-commit config (#647) \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=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.", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2077/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1656432059, "node_id": "PR_kwDOBm6k_c5NuBNG", "number": 2053, "title": "WIP new JSON for queries", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 12, "created_at": "2023-04-05T23:26:15Z", "updated_at": "2023-07-26T18:28:59Z", "closed_at": "2023-07-26T18:26:45Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2053", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2053/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 1, "state_reason": null}
{"id": 1710164693, "node_id": "PR_kwDOBm6k_c5QhIL2", "number": 2075, "title": "Bump sphinx from 6.1.3 to 7.0.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-05-15T13:59:31Z", "updated_at": "2023-07-25T13:28:39Z", "closed_at": "2023-07-25T13:28:36Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2075", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.0.1.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nv7.0.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0rc1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.0.1 (released May 12, 2023)
\nDependencies
\n\n- #11411: Support
Docutils 0.20
_. Patch by Adam Turner. \n
\n.. _Docutils 0.20: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04
\nBugs fixed
\n\n- #11418: Clean up remaining references to
sphinx.setup_command
\nfollowing the removal of support for setuptools.\nPatch by Willem Mulder. \n
\nRelease 7.0.0 (released Apr 29, 2023)
\nIncompatible changes
\n\n- #11359: Remove long-deprecated aliases for
MecabSplitter
and\nDefaultSplitter
in sphinx.search.ja
. \n- #11360: Remove deprecated
make_old_id
functions in domain object\ndescription classes. \n- #11363: Remove the Setuptools integration (
build_sphinx
hook in\nsetup.py
). \n- #11364: Remove deprecated
sphinx.ext.napoleon.iterators
module. \n- #11365: Remove support for the
jsdump
format in sphinx.search
. \n- #11366: Make
locale
a required argument to\nsphinx.util.i18n.format_date()
. \n- #11370: Remove deprecated
sphinx.util.stemmer
module. \n- #11371: Remove deprecated
sphinx.pycode.ast.parse()
function. \n- #11372: Remove deprecated
sphinx.io.read_doc()
function. \n- #11373: Removed deprecated
sphinx.util.get_matching_files()
function. \n- #11378: Remove deprecated
sphinx.util.docutils.is_html5_writer_available()
\nfunction. \n- #11379: Make the
env
argument to Builder
subclasses required. \n- #11380: autosummary: Always emit grouped import exceptions.
\n- #11381: Remove deprecated
style
key for HTML templates. \n- #11382: Remove deprecated
sphinx.writers.latex.LaTeXTranslator.docclasses
\nattribute. \n- #11383: Remove deprecated
sphinx.builders.html.html5_ready
and\nsphinx.builders.html.HTMLTranslator
attributes. \n- #11385: Remove support for HTML 4 output.
\n
\nRelease 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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2075/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1816917522, "node_id": "PR_kwDOCGYnMM5WJ6Jm", "number": 573, "title": "feat: Implement a prepare_connection plugin hook", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2023-07-22T22:48:44Z", "updated_at": "2023-07-22T22:59:09Z", "closed_at": "2023-07-22T22:59:09Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/573", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/573/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1798901709, "node_id": "PR_kwDOBm6k_c5VM2MK", "number": 2099, "title": "Bump black from 23.3.0 to 23.7.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-07-11T13:05:53Z", "updated_at": "2023-07-21T21:19:25Z", "closed_at": "2023-07-21T21:19:24Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2099", "body": "Bumps [black](https://github.com/psf/black) from 23.3.0 to 23.7.0.\n\nRelease notes
\nSourced from black's releases.
\n\n23.7.0
\nHighlights
\n\n- Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be\nsupported until further notice (#3765)
\n
\nStable style
\n\n- Fix a bug where an illegal trailing comma was added to return type annotations using\nPEP 604 unions (#3735)
\n- Fix several bugs and crashes where comments in stub files were removed or mishandled\nunder some circumstances (#3745)
\n- Fix a crash with multi-line magic comments like
type: ignore
within parentheses\n(#3740) \n- Fix error in AST validation when Black removes trailing whitespace in a type comment\n(#3773)
\n
\nPreview style
\n\n- Implicitly concatenated strings used as function args are no longer wrapped inside\nparentheses (#3640)
\n- Remove blank lines between a class definition and its docstring (#3692)
\n
\nConfiguration
\n\n- The
--workers
argument to Black can now be specified via the BLACK_NUM_WORKERS
\nenvironment variable (#3743) \n.pytest_cache
, .ruff_cache
and .vscode
are now excluded by default (#3691) \n- Fix Black not honouring
pyproject.toml
settings when running --stdin-filename
\nand the pyproject.toml
found isn't in the current working directory (#3719) \n- Black will now error if
exclude
and extend-exclude
have invalid data types in\npyproject.toml
, instead of silently doing the wrong thing (#3764) \n
\nPackaging
\n\n- Upgrade mypyc from 0.991 to 1.3 (#3697)
\n- Remove patching of Click that mitigated errors on Python 3.6 with
LANG=C
(#3768) \n
\nParser
\n\n- Add support for the new PEP 695 syntax in Python 3.12 (#3703)
\n
\nPerformance
\n\n- Speed up Black significantly when the cache is full (#3751)
\n- Avoid importing
IPython
in a case where we wouldn't need it (#3748) \n
\nOutput
\n\n
\n... (truncated)
\n \n\nChangelog
\nSourced from black's changelog.
\n\n23.7.0
\nHighlights
\n\n- Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be\nsupported until further notice (#3765)
\n
\nStable style
\n\n- Fix a bug where an illegal trailing comma was added to return type annotations using\nPEP 604 unions (#3735)
\n- Fix several bugs and crashes where comments in stub files were removed or mishandled\nunder some circumstances (#3745)
\n- Fix a crash with multi-line magic comments like
type: ignore
within parentheses\n(#3740) \n- Fix error in AST validation when Black removes trailing whitespace in a type comment\n(#3773)
\n
\nPreview style
\n\n- Implicitly concatenated strings used as function args are no longer wrapped inside\nparentheses (#3640)
\n- Remove blank lines between a class definition and its docstring (#3692)
\n
\nConfiguration
\n\n- The
--workers
argument to Black can now be specified via the BLACK_NUM_WORKERS
\nenvironment variable (#3743) \n.pytest_cache
, .ruff_cache
and .vscode
are now excluded by default (#3691) \n- Fix Black not honouring
pyproject.toml
settings when running --stdin-filename
\nand the pyproject.toml
found isn't in the current working directory (#3719) \n- Black will now error if
exclude
and extend-exclude
have invalid data types in\npyproject.toml
, instead of silently doing the wrong thing (#3764) \n
\nPackaging
\n\n- Upgrade mypyc from 0.991 to 1.3 (#3697)
\n- Remove patching of Click that mitigated errors on Python 3.6 with
LANG=C
(#3768) \n
\nParser
\n\n- Add support for the new PEP 695 syntax in Python 3.12 (#3703)
\n
\nPerformance
\n\n- Speed up Black significantly when the cache is full (#3751)
\n- Avoid importing
IPython
in a case where we wouldn't need it (#3748) \n
\nOutput
\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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2099/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1794604602, "node_id": "PR_kwDOBm6k_c5U-akg", "number": 2096, "title": "Clarify docs for descriptions in metadata", "user": {"value": 15906, "label": "garthk"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-07-08T01:57:58Z", "updated_at": "2023-07-08T01:58:13Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2096", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2096/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1756975532, "node_id": "PR_kwDOBm6k_c5S_5Jl", "number": 2083, "title": "Bump blacken-docs from 1.13.0 to 1.14.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-06-14T13:57:52Z", "updated_at": "2023-06-29T14:31:55Z", "closed_at": "2023-06-29T14:31:54Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2083", "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.13.0 to 1.14.0.\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2083/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1773458985, "node_id": "PR_kwDOCGYnMM5T2mMb", "number": 560, "title": "Use sqlean if available in environment", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 10, "created_at": "2023-06-25T19:48:48Z", "updated_at": "2023-06-26T08:21:00Z", "closed_at": "2023-06-25T23:25:51Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/560", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/560/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1734786661, "node_id": "PR_kwDOBm6k_c5R0fcK", "number": 2082, "title": "Catch query interrupted on facet suggest row count", "user": {"value": 10843208, "label": "redraw"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-05-31T18:42:46Z", "updated_at": "2023-05-31T18:45:26Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2082", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2082/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1726603778, "node_id": "PR_kwDOBm6k_c5RYvTU", "number": 2080, "title": "New View base class", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-05-25T23:22:55Z", "updated_at": "2023-05-26T00:18:45Z", "closed_at": "2023-05-26T00:18:44Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/2080", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2080/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1718635018, "node_id": "PR_kwDOCGYnMM5Q9lY4", "number": 553, "title": "Reformatted CLI examples in docs", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-05-21T20:44:34Z", "updated_at": "2023-05-21T20:57:27Z", "closed_at": "2023-05-21T20:57:23Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/553", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/553/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1718586377, "node_id": "PR_kwDOCGYnMM5Q9cAv", "number": 549, "title": "TUI powered by Trogon", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-05-21T17:55:42Z", "updated_at": "2023-05-21T18:42:00Z", "closed_at": "2023-05-21T18:41:56Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/549", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/549/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1718550688, "node_id": "PR_kwDOCGYnMM5Q9VH0", "number": 546, "title": "Analyze tables options: --common-limit, --no-most, --no-least", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-05-21T15:54:39Z", "updated_at": "2023-05-21T16:19:30Z", "closed_at": "2023-05-21T16:19:30Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/546", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/546/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1715468032, "node_id": "PR_kwDOBm6k_c5QzEAM", "number": 2076, "title": "Datsette gpt plugin", "user": {"value": 130708713, "label": "StudioCordillera"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-05-18T11:22:30Z", "updated_at": "2023-05-18T11:22:45Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2076", "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--2076.org.readthedocs.build/en/2076/\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2076/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1690842199, "node_id": "PR_kwDOBm6k_c5PgNaA", "number": 2068, "title": "Bump sphinx from 6.1.3 to 7.0.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-05-01T13:58:46Z", "updated_at": "2023-05-15T13:59:38Z", "closed_at": "2023-05-15T13:59:36Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2068", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.0.0.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nv7.0.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv7.0.0rc1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 7.0.0 (released Apr 29, 2023)
\nIncompatible changes
\n\n- #11359: Remove long-deprecated aliases for
MecabSplitter
and\nDefaultSplitter
in sphinx.search.ja
. \n- #11360: Remove deprecated
make_old_id
functions in domain object\ndescription classes. \n- #11363: Remove the Setuptools integration (
build_sphinx
hook in\nsetup.py
). \n- #11364: Remove deprecated
sphinx.ext.napoleon.iterators
module. \n- #11365: Remove support for the
jsdump
format in sphinx.search
. \n- #11366: Make
locale
a required argument to\nsphinx.util.i18n.format_date()
. \n- #11370: Remove deprecated
sphinx.util.stemmer
module. \n- #11371: Remove deprecated
sphinx.pycode.ast.parse()
function. \n- #11372: Remove deprecated
sphinx.io.read_doc()
function. \n- #11373: Removed deprecated
sphinx.util.get_matching_files()
function. \n- #11378: Remove deprecated
sphinx.util.docutils.is_html5_writer_available()
\nfunction. \n- #11379: Make the
env
argument to Builder
subclasses required. \n- #11380: autosummary: Always emit grouped import exceptions.
\n- #11381: Remove deprecated
style
key for HTML templates. \n- #11382: Remove deprecated
sphinx.writers.latex.LaTeXTranslator.docclasses
\nattribute. \n- #11383: Remove deprecated
sphinx.builders.html.html5_ready
and\nsphinx.builders.html.HTMLTranslator
attributes. \n- #11385: Remove support for HTML 4 output.
\n
\nRelease 6.2.1 (released Apr 25, 2023)
\nBugs fixed
\n\n- #11355: Revert the default type of :confval:
nitpick_ignore
and\n:confval:nitpick_ignore_regex
to list
. \n
\nRelease 6.2.0 (released Apr 23, 2023)
\nDependencies
\n\n- Require Docutils 0.18.1 or greater.
\n
\nIncompatible changes
\n\n
\n... (truncated)
\n \n\nCommits
\n\nd568b2f
Bump to 7.0.0 final \nff79edf
Remove jsdump
references post removal \n1a5133a
Bump to 7.0.0rc1 final \n5795fc7
Update sphinx.deprecation
for Sphinx 7.0 (#11386) \n6202087
Add a note to CHANGES for PR 11385 \nad47373
Remove HTML 4 support (#11385) \n3e3251d
Remove HTMLTranslator
and html5_ready
from sphinx.builders.html
(... \n77fd819
Remove deprecated LaTeXTranslator.docclasses
attribute (#11382) \n4be56f3
Remove deprecated style
key for HTML templates (#11381) \n49027a9
Autosummary: Always emit grouped ImportError
exceptions (#11380) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=7.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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2068/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1708981860, "node_id": "PR_kwDOBm6k_c5QdMea", "number": 2074, "title": "sort files by mtime", "user": {"value": 3919561, "label": "abbbi"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-05-14T15:25:15Z", "updated_at": "2023-05-14T15:25:29Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2074", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2074/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1665200812, "node_id": "PR_kwDOCGYnMM5OKveS", "number": 537, "title": "Support self-referencing FKs in `Table.create`", "user": {"value": 544011, "label": "numist"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2023-04-12T20:26:59Z", "updated_at": "2023-05-08T22:45:33Z", "closed_at": "2023-05-08T21:10:01Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/537", "body": "\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--537.org.readthedocs.build/en/537/\n\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/537/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1576990618, "node_id": "PR_kwDOCGYnMM5JkkED", "number": 526, "title": "Fix repeated calls to `Table.convert()`", "user": {"value": 167893, "label": "mcarpenter"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-02-09T00:14:49Z", "updated_at": "2023-05-08T21:56:05Z", "closed_at": "2023-05-08T21:53:58Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/526", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/526/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1465194930, "node_id": "PR_kwDOCGYnMM5DvZxa", "number": 515, "title": "upsert new rows with constraints, fixes #514", "user": {"value": 193185, "label": "cldellow"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-11-26T16:15:21Z", "updated_at": "2023-05-08T21:27:11Z", "closed_at": "2023-05-08T21:27:10Z", "author_association": "NONE", "pull_request": "simonw/sqlite-utils/pulls/515", "body": "This fixes #514 by making the initial insert for upserts include all columns, so that new rows can be added to tables with non-pkey columns that have constraints.\r\n\r\n(aside: I'm not a python programmer. `pip`? `pipenv`? `venv`? These are mystical incantations to me. The process to set up this repo for local development and testing was _so easy_. Thank you for the excellent contributing documentation!)\r\n\r\n\r\n----\r\n:books: Documentation preview :books:: https://sqlite-utils--515.org.readthedocs.build/en/515/\r\n\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/515/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1505568103, "node_id": "PR_kwDOCGYnMM5F609a", "number": 519, "title": "Fixes breaking DEFAULT values", "user": {"value": 13819005, "label": "rhoboro"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-12-21T01:27:52Z", "updated_at": "2023-05-08T21:13:37Z", "closed_at": "2023-05-08T21:13:37Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/519", "body": "Fixes #509, Fixes #336\r\n\r\nThanks for the great library!\r\nI fixed a bug that `sqlite-utils transform` breaks DEFAULT values.\r\nAll tests already present passed with no changes, and I added some tests for this PR.\r\n\r\nIn #509 case, fixed here.\r\n\r\n```shell\r\n$ sqlite3 test.db << EOF\r\nCREATE TABLE mytable (\r\n col1 TEXT DEFAULT 'foo',\r\n col2 TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))\r\n)\r\nEOF\r\n\r\n$ sqlite3 test.db \"SELECT sql FROM sqlite_master WHERE name = 'mytable';\"\r\nCREATE TABLE mytable (\r\n col1 TEXT DEFAULT 'foo',\r\n col2 TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))\r\n)\r\n\r\n$ sqlite3 test.db \"INSERT INTO mytable DEFAULT VALUES; SELECT * FROM mytable;\"\r\nfoo|2022-12-21 01:15:39.669\r\n\r\n$ sqlite-utils transform test.db mytable --rename col1 renamedcol1\r\n$ sqlite3 test.db \"SELECT sql FROM sqlite_master WHERE name = 'mytable';\"\r\nCREATE TABLE \"mytable\" (\r\n [renamedcol1] TEXT DEFAULT 'foo',\r\n [col2] TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')) # \u2190 Non-String Value\r\n)\r\n\r\n$ sqlite3 test.db \"INSERT INTO mytable DEFAULT VALUES; SELECT * FROM mytable;\"\r\nfoo|2022-12-21 01:15:39.669\r\nfoo|2022-12-21 01:15:56.432\r\n```\r\n\r\nAnd #336 case also fixed.\r\nSpecial values are described [here](https://www.sqlite.org/lang_createtable.html).\r\n\r\n> 3.2. The DEFAULT clause\r\n> ... A default value may also be one of the special case-independent keywords CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP.\r\n\r\n```shell\r\n$ echo 'create table bar (baz text, created_at timestamp default CURRENT_TIMESTAMP)' | sqlite3 foo.db\r\n$ sqlite3 foo.db\r\nSQLite version 3.39.5 2022-10-14 20:58:05\r\nEnter \".help\" for usage hints.\r\nsqlite> .schema bar\r\nCREATE TABLE bar (baz text, created_at timestamp default CURRENT_TIMESTAMP);\r\nsqlite> .exit\r\n\r\n$ sqlite-utils transform foo.db bar --column-order baz\r\n$ sqlite3 foo.db\r\nSQLite version 3.39.5 2022-10-14 20:58:05\r\nEnter \".help\" for usage hints.\r\nsqlite> .schema bar\r\nCREATE TABLE IF NOT EXISTS \"bar\" (\r\n [baz] TEXT,\r\n [created_at] FLOAT DEFAULT CURRENT_TIMESTAMP\r\n);\r\nsqlite> .exit\r\n\r\n$ sqlite-utils transform foo.db bar --column-order baz\r\n$ sqlite3 foo.db\r\nSQLite version 3.39.5 2022-10-14 20:58:05\r\nEnter \".help\" for usage hints.\r\nsqlite> .schema bar\r\nCREATE TABLE IF NOT EXISTS \"bar\" (\r\n [baz] TEXT,\r\n [created_at] FLOAT DEFAULT CURRENT_TIMESTAMP # \u2190 Non-String Value\r\n);\r\n```\r\n\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://sqlite-utils--519.org.readthedocs.build/en/519/\n\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/519/reactions\", \"total_count\": 3, \"+1\": 3, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1578793661, "node_id": "PR_kwDOCGYnMM5Jqn1u", "number": 528, "title": "Enable `Table.convert()` on falsey values", "user": {"value": 167893, "label": "mcarpenter"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-02-10T00:04:09Z", "updated_at": "2023-05-08T21:08:23Z", "closed_at": "2023-05-08T21:08:23Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/528", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/528/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1683229834, "node_id": "PR_kwDOBm6k_c5PG0wF", "number": 2064, "title": "Bump sphinx from 6.1.3 to 6.2.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-04-25T13:57:49Z", "updated_at": "2023-05-01T13:58:53Z", "closed_at": "2023-05-01T13:58:52Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2064", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.1.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nv6.2.1
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 6.2.1 (released Apr 25, 2023)
\nBugs fixed
\n\n- #11355: Revert the default type of :confval:
nitpick_ignore
and\n:confval:nitpick_ignore_regex
to list
. \n
\nRelease 6.2.0 (released Apr 23, 2023)
\nDependencies
\n\n- Require Docutils 0.18.1 or greater.
\n
\nIncompatible changes
\n\n- LaTeX: removal of some internal TeX
\\dimen
registers (not previously\npublicly documented) as per 5.1.0 code comments in sphinx.sty
:\n\\sphinxverbatimsep
, \\sphinxverbatimborder
, \\sphinxshadowsep
,\n\\sphinxshadowsize
, and \\sphinxshadowrule
. (refs: #11105) \n- Remove
.egg
support from pycode ModuleAnalyser
; Python eggs are a\nnow-obsolete binary distribution format \n- #11089: Remove deprecated code in
sphinx.builders.linkcheck
.\nPatch by Daniel Eades \n- Remove internal-only
sphinx.locale.setlocale
\n
\nDeprecated
\n\n- #11247: Deprecate the legacy
intersphinx_mapping
format \nsphinx.util.osutil.cd
is deprecated in favour of contextlib.chdir
. \n
\nFeatures added
\n\n- #11277: :rst:dir:
autoproperty
allows the return type to be specified as\na type comment (e.g., # type: () -> int
). Patch by B\u00e9n\u00e9dikt Tran \n- #10811: Autosummary: extend
__all__
to imported members for template rendering\nwhen option autosummary_ignore_module_all
is set to False
. Patch by\nClement Pinard \n- #11147: Add a
content_offset
parameter to nested_parse_with_titles()
,\nallowing for correct line numbers during nested parsing.\nPatch by Jeremy Maitin-Shepard \n- Update to Unicode CLDR 42
\n- Add a
--jobs
synonym for -j
. Patch by Hugo van Kemenade \n- LaTeX: a command
\\sphinxbox
for styling text elements with a (possibly \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\nec993dd
Bump to 6.2.1 final \nd2aa91f
Revert the default type of nitpick_ignore[_regex]
to list
\n60d8fa1
Bump version \n70102ac
Bump to 6.2.0 final \n4e27a5f
Remove unneeded JavaScript from sphinx13
theme \nbffb547
Note correct deprecation version for sphinx.util.osutil.cd
\n59de8d5
Revert "Support and prefer .jinja
to _t
for static templates (#11165)... \naee3c0a
Partially revert "Disable localisation when SOURCE_DATE_EPOCH is set (#10949)... \n186d596
Use overwrite_file
context manager in test_ext_autodoc_configs
(#11320) \n77483f2
Add missing test decorator for test_util_inspect
(#11321) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2064/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1681339696, "node_id": "PR_kwDOBm6k_c5PAcGt", "number": 2063, "title": "Bump sphinx from 6.1.3 to 6.2.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-04-24T13:58:21Z", "updated_at": "2023-04-25T13:57:55Z", "closed_at": "2023-04-25T13:57:53Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2063", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.0.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nv6.2.0
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 6.2.0 (released Apr 23, 2023)
\nDependencies
\n\n- Require Docutils 0.18.1 or greater.
\n
\nIncompatible changes
\n\n- LaTeX: removal of some internal TeX
\\dimen
registers (not previously\npublicly documented) as per 5.1.0 code comments in sphinx.sty
:\n\\sphinxverbatimsep
, \\sphinxverbatimborder
, \\sphinxshadowsep
,\n\\sphinxshadowsize
, and \\sphinxshadowrule
. (refs: #11105) \n- Remove
.egg
support from pycode ModuleAnalyser
; Python eggs are a\nnow-obsolete binary distribution format \n- #11089: Remove deprecated code in
sphinx.builders.linkcheck
.\nPatch by Daniel Eades \n- Remove internal-only
sphinx.locale.setlocale
\n
\nDeprecated
\n\n- #11247: Deprecate the legacy
intersphinx_mapping
format \nsphinx.util.osutil.cd
is deprecated in favour of contextlib.chdir
. \n
\nFeatures added
\n\n- #11277: :rst:dir:
autoproperty
allows the return type to be specified as\na type comment (e.g., # type: () -> int
). Patch by B\u00e9n\u00e9dikt Tran \n- #10811: Autosummary: extend
__all__
to imported members for template rendering\nwhen option autosummary_ignore_module_all
is set to False
. Patch by\nClement Pinard \n- #11147: Add a
content_offset
parameter to nested_parse_with_titles()
,\nallowing for correct line numbers during nested parsing.\nPatch by Jeremy Maitin-Shepard \n- Update to Unicode CLDR 42
\n- Add a
--jobs
synonym for -j
. Patch by Hugo van Kemenade \n- LaTeX: a command
\\sphinxbox
for styling text elements with a (possibly\nrounded) box, optional background color and shadow, has been added.\nSee :ref:sphinxbox
. (refs: #11224) \n- LaTeX: add
\\sphinxstylenotetitle
, ..., \\sphinxstylewarningtitle
, ...,\nfor an extra layer of mark-up freeing up \\sphinxstrong
for other uses.\nSee :ref:latex-macros
. (refs: #11267) \n- LaTeX: :dudir:
note
, :dudir:hint
, :dudir:important
and :dudir:tip
can\nnow each be styled as the other admonitions, i.e. possibly with a background\ncolor, individual border widths and paddings, possibly rounded corners, and\noptional shadow. See :ref:additionalcss
. (refs: #11234) \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\ne7d4c36
Bump to 6.2.0 final \n4e27a5f
Remove unneeded JavaScript from sphinx13
theme \nbffb547
Note correct deprecation version for sphinx.util.osutil.cd
\n59de8d5
Revert "Support and prefer .jinja
to _t
for static templates (#11165)... \naee3c0a
Partially revert "Disable localisation when SOURCE_DATE_EPOCH is set (#10949)... \n186d596
Use overwrite_file
context manager in test_ext_autodoc_configs
(#11320) \n77483f2
Add missing test decorator for test_util_inspect
(#11321) \nd8f15c7
Increase timeout threshold for linkcheck
tests (#11326) \nb430e05
Create a 'search field' component for themes (#11045) \ne2f66ce
Update CHANGES for PR #11333 \n- Additional commits viewable in compare view
\n
\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=6.1.3&new-version=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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2063/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1674322631, "node_id": "PR_kwDOBm6k_c5OpEz_", "number": 2061, "title": "Add \"Packaging a plugin using Poetry\" section in docs", "user": {"value": 1238873, "label": "rclement"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-04-19T07:23:28Z", "updated_at": "2023-04-19T07:27:18Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2061", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2061/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1661860507, "node_id": "PR_kwDOBm6k_c5N_bMw", "number": 2056, "title": "GitHub Action to lint Python code with ruff", "user": {"value": 3709715, "label": "cclauss"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 6, "created_at": "2023-04-11T06:41:27Z", "updated_at": "2023-04-15T14:24:46Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2056", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2056/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1659525418, "node_id": "PR_kwDOCGYnMM5N35VZ", "number": 536, "title": "Add paths for homebrew on Apple silicon", "user": {"value": 25778, "label": "eyeseast"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-04-08T13:34:21Z", "updated_at": "2023-04-13T01:44:43Z", "closed_at": "2023-04-13T01:44:43Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/536", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/536/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1620164673, "node_id": "PR_kwDOCGYnMM5L08O8", "number": 531, "title": "Add paths for homebrew on Apple silicon", "user": {"value": 25778, "label": "eyeseast"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2023-03-11T22:27:52Z", "updated_at": "2023-04-09T01:49:44Z", "closed_at": "2023-04-09T01:49:43Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/sqlite-utils/pulls/531", "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", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/531/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1650984552, "node_id": "PR_kwDOJHON9s5NbyYN", "number": 13, "title": "use universal command", "user": {"value": 14314871, "label": "amlestin"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-04-02T15:10:54Z", "updated_at": "2023-04-02T15:37:34Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/apple-notes-to-sqlite/pulls/13", "body": null, "repo": {"value": 611552758, "label": "apple-notes-to-sqlite"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/13/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1613974869, "node_id": "PR_kwDOBm6k_c5LgPS-", "number": 2034, "title": "remove an unused `app` var in cli.py", "user": {"value": 4370201, "label": "wenhoujx"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-03-07T18:19:05Z", "updated_at": "2023-03-29T20:56:20Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2034", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2034/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1641117021, "node_id": "PR_kwDODtX3eM5M66op", "number": 6, "title": "Add permalink virtual field to items table", "user": {"value": 1231935, "label": "xavdid"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-03-26T22:22:38Z", "updated_at": "2023-03-29T18:38:52Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "dogsheep/hacker-news-to-sqlite/pulls/6", "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.", "repo": {"value": 248903544, "label": "hacker-news-to-sqlite"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/dogsheep/hacker-news-to-sqlite/issues/6/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1645098678, "node_id": "PR_kwDOBm6k_c5NIQri", "number": 2047, "title": "Bump black from 22.12.0 to 23.3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-03-29T06:09:06Z", "updated_at": "2023-03-29T06:12:21Z", "closed_at": "2023-03-29T06:12:05Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2047", "body": "Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.3.0.\n\nRelease notes
\nSourced from black's releases.
\n\n23.3.0
\nHighlights
\nThis 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.
\nPlease 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.
\nStable 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
\nPreview style
\n\n- Add trailing commas to collection literals even if there's a comment after the last\nentry (#3393)
\nasync def
, async for
, and async with
statements are now formatted consistently\ncompared to their non-async version. (#3609) \nwith
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
\nParser
\n\n- Added support for formatting files with invalid type comments (#3594)
\n
\nIntegrations
\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
\nDocumentation
\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
\nSourced from black's changelog.
\n\n23.3.0
\nHighlights
\nThis 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.
\nPlease 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.
\nStable 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
\nPreview style
\n\n- Add trailing commas to collection literals even if there's a comment after the last\nentry (#3393)
\nasync def
, async for
, and async with
statements are now formatted consistently\ncompared to their non-async version. (#3609) \nwith
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
\nParser
\n\n- Added support for formatting files with invalid type comments (#3594)
\n
\nIntegrations
\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
\nDocumentation
\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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2047/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1534904478, "node_id": "PR_kwDOBm6k_c5HdwRg", "number": 1992, "title": "Bump blacken-docs from 1.12.1 to 1.13.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-01-16T13:05:05Z", "updated_at": "2023-03-29T06:11:35Z", "closed_at": "2023-03-29T06:11:34Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1992", "body": "Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.12.1 to 1.13.0.\n\nChangelog
\nSourced from blacken-docs's changelog.
\n\n1.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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/1992/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1528995601, "node_id": "PR_kwDOBm6k_c5HJ55o", "number": 1986, "title": "Bump sphinx from 6.1.2 to 6.1.3", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-01-11T13:02:36Z", "updated_at": "2023-03-29T06:09:50Z", "closed_at": "2023-03-29T06:09:49Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1986", "body": "Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.2 to 6.1.3.\n\nRelease notes
\nSourced from sphinx's releases.
\n\nv6.1.3
\nChangelog: https://www.sphinx-doc.org/en/master/changes.html
\n
\n \n\nChangelog
\nSourced from sphinx's changelog.
\n\nRelease 6.1.3 (released Jan 10, 2023)
\nBugs 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\n776d01e
Bump to 6.1.3 final \na2e922a
CHANGES for Sphinx 6.1.3 \n31162a9
Handle exceptions for get_node_source
and get_node_line
\ndcb4429
Restore Sphinx 5 nodes.Element
copying behaviour \n2a7c40d
Undo parallel image changes \n7841d3d
Ignore more checks in Ruff 0.0.214 \nddbc5b5
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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/1986/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1566081801, "node_id": "PR_kwDOBm6k_c5JAcGy", "number": 2014, "title": "Bump black from 22.12.0 to 23.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-02-01T13:06:16Z", "updated_at": "2023-03-29T06:09:14Z", "closed_at": "2023-03-29T06:09:12Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2014", "body": "Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.1.0.\n\nRelease notes
\nSourced from black's releases.
\n\n23.1.0
\nHighlights
\nThis 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.
\nThere 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.
\nIn 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.
\nStable 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
\nPreview 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
\nSourced from black's changelog.
\n\n23.1.0
\nHighlights
\nThis 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.
\nThere 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.
\nIn 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.
\nStable 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\nb0d1fba
Prepare release 23.1.0 (#3536) \n69ca0a4
Infer target version based on project metadata (#3219) \nc4bd2e3
Draft for Black 2023 stable style (#3418) \n226cbf0
Fix unsafe cast in linegen.py w/ await yield handling (#3533) \nf4ebc68
Upgrade isort (#3534) \n6407ebb
Remove Python version in the_basics.md (#3528) \n196b1f3
Fix black --help
output for --python-cell-magics
option to be reproducibl... \nd950f15
Update document now that paren wrapping CMs on Python 3.9+ is implemented (#3... \na36878e
Fix an invalid quote escaping bug in f-string expressions (#3509) \neabff67
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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2014/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1644018605, "node_id": "PR_kwDOBm6k_c5NEqBO", "number": 2046, "title": "Bump furo from 2022.12.7 to 2023.3.27", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-03-28T13:58:14Z", "updated_at": "2023-03-29T06:08:02Z", "closed_at": "2023-03-29T06:08:01Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2046", "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.27.\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.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
\n2023.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
\n2022.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
\n2022.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
\n2022.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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2046/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1639446870, "node_id": "PR_kwDOBm6k_c5M1izI", "number": 2043, "title": "Bump furo from 2022.12.7 to 2023.3.23", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-03-24T13:58:08Z", "updated_at": "2023-03-28T13:58:24Z", "closed_at": "2023-03-28T13:58:21Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2043", "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23.\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2023.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
\n2022.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
\n2022.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
\n2022.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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2043/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1639873822, "node_id": "PR_kwDOBm6k_c5M29tt", "number": 2044, "title": "Expand labels in row view as well (patch for 0.64.x branch)", "user": {"value": 82332573, "label": "tmcl-it"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-03-24T18:44:44Z", "updated_at": "2023-03-24T18:44:57Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2044", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2044/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1605481359, "node_id": "PR_kwDOBm6k_c5LDwrF", "number": 2031, "title": "Expand foreign key references in row view as well", "user": {"value": 82332573, "label": "tmcl-it"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 5, "created_at": "2023-03-01T18:43:09Z", "updated_at": "2023-03-24T18:35:25Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2031", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2031/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1551694938, "node_id": "PR_kwDOBm6k_c5IQeKz", "number": 1999, "title": "?_extra= support (draft)", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 49, "created_at": "2023-01-21T04:55:18Z", "updated_at": "2023-03-22T22:49:41Z", "closed_at": "2023-03-22T22:49:40Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1999", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/1999/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1590839187, "node_id": "PR_kwDOBm6k_c5KSs9T", "number": 2028, "title": "add Python 3.11 classifier", "user": {"value": 614233, "label": "dtrodrigues"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2023-02-19T20:16:03Z", "updated_at": "2023-03-06T21:01:20Z", "closed_at": "2023-03-06T21:01:19Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2028", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2028/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1586980089, "node_id": "PR_kwDOBm6k_c5KF-by", "number": 2026, "title": "Avoid repeating primary key columns if included in _col args", "user": {"value": 8513, "label": "runderwood"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-02-16T04:16:25Z", "updated_at": "2023-02-16T04:16:41Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2026", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2026/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1581218043, "node_id": "PR_kwDOBm6k_c5JyqPy", "number": 2025, "title": "Add database metadata to index.html template context", "user": {"value": 9993, "label": "palewire"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2023-02-12T11:16:58Z", "updated_at": "2023-02-12T11:17:14Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2025", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2025/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 473288428, "node_id": "MDExOlB1bGxSZXF1ZXN0MzAxNDgzNjEz", "number": 564, "title": "First proof-of-concept of Datasette Library", "user": {"value": 9599, "label": "simonw"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2019-07-26T10:22:26Z", "updated_at": "2023-02-07T15:14:11Z", "closed_at": null, "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/564", "body": "Refs #417. Run it like this:\r\n\r\n datasette -d ~/Library\r\n\r\nUses a new plugin hook - available_databases()\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/564/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 1, "state_reason": null}
{"id": 1556065335, "node_id": "PR_kwDOBm6k_c5Ie5nA", "number": 2004, "title": "use single quotes for string literals, fixes #2001", "user": {"value": 193185, "label": "cldellow"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2023-01-25T05:08:46Z", "updated_at": "2023-02-01T06:37:18Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2004", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2004/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}
{"id": 1560982210, "node_id": "PR_kwDOBm6k_c5IvYKw", "number": 2008, "title": "array facet: don't materialize unnecessary columns", "user": {"value": 193185, "label": "cldellow"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 8, "created_at": "2023-01-28T19:33:40Z", "updated_at": "2023-01-29T18:17:40Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/2008", "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", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/2008/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null}