. I didn't include this in the PR yet since I didn't look into the issue too far, but I can if you would like.", "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/1757/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": 1352931076, "node_id": "PR_kwDOBm6k_c495vvy", "number": 1794, "title": "fix word break in facets by adding ul.tight-bullets li word-break: break-all", "user": {"value": 128286, "label": "dmr"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-08-27T03:47:25Z", "updated_at": "2022-09-06T00:45:41Z", "closed_at": "2022-09-06T00:45:41Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1794", "body": "I noticed that long words break the layout of facets:\r\n\r\n![image](https://user-images.githubusercontent.com/128286/187013146-fb2bbb60-a225-441b-ba8e-b9e74fb04f93.png)\r\n\r\nSo I added CSS to add a line break. This is how the result looks now:\r\n\r\n![image](https://user-images.githubusercontent.com/128286/187013175-a706fc72-9e69-4a75-9bdf-bdaa34a0cf51.png)\r\n\r\nI don't know enough about facet edge cases to decide if this change might break other things but it looks better for me so maybe this is helpful.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1794.org.readthedocs.build/en/1794/\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/1794/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": 1351949898, "node_id": "PR_kwDOBm6k_c492dPw", "number": 1793, "title": "Added a useful resource", "user": {"value": 111973926, "label": "MobiWancode"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-08-26T08:41:26Z", "updated_at": "2022-09-06T00:41:25Z", "closed_at": "2022-09-06T00:41:24Z", "author_association": "NONE", "pull_request": "simonw/datasette/pulls/1793", "body": "Have added a useful resource about the types of databases in SQL i.e SQLite, PostgreSQL, MySQL &, etc from the scaler topics.\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1793.org.readthedocs.build/en/1793/\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/1793/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": 1362567197, "node_id": "PR_kwDOBm6k_c4-ZxWD", "number": 1803, "title": "Workaround for test failure: RuntimeError: There is no current event loop", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-09-06T00:31:06Z", "updated_at": "2022-09-06T00:40:19Z", "closed_at": "2022-09-06T00:40:19Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1803", "body": "Closes #1802\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/\n\r\n", "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/1803/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": 1358848933, "node_id": "PR_kwDOBm6k_c4-NhzQ", "number": 1797, "title": "Bump black from 22.6.0 to 22.8.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2022-09-01T13:25:14Z", "updated_at": "2022-09-05T18:51:52Z", "closed_at": "2022-09-05T18:51:52Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1797", "body": "Bumps [black](https://github.com/psf/black) from 22.6.0 to 22.8.0.\n\nRelease notes
\nSourced from black's releases.
\n\n22.8.0
\nHighlights
\n\n- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
\n- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
\n- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
\n
\nStable style
\n\n- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158) \n- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148) \n- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
\n
\nPreview style
\n\n- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
\n--skip-string-normalization
/ -S
now prevents docstring prefixes from being normalized as expected (#3168) \n- When using
--skip-magic-trailing-comma
or -C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209) \n- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
\n- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
\n
\nBlackd
\n\nblackd
now supports enabling the preview style via the X-Preview
header (#3217) \n
\nConfiguration
\n\n- Black now uses the presence of debug f-strings to detect target version (#3215)
\n- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216) \n- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only .gitignore
files in the project root and automatically discovered directories were respected (#3237) \n
\nDocumentation
\n\n- Recommend using BlackConnect in IntelliJ IDEs (#3150)
\n
\nIntegrations
\n\n- Vim plugin: prefix messages with
Black:
so it's clear they come from Black (#3194) \n- Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)
\n
\nOutput
\n\n- Change from deprecated
asyncio.get_event_loop()
to create our event loop which removes DeprecationWarning (#3164) \n- Remove logging from internal
blib2to3
library since it regularly emits error logs about failed caching that can and should be ignored (#3193) \n
\nParser
\n\n- Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)
\n
\nPerformance
\n\n
\n... (truncated)
\n \n\nChangelog
\nSourced from black's changelog.
\n\n22.8.0
\nHighlights
\n\n- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as\nof publishing (#3234)
\n- This is the last release that supports running Black on Python 3.6 (formatting 3.6\ncode will continue to be supported until further notice)
\n- Reword the stability policy to say that we may, in rare cases, make changes that\naffect code that was not previously formatted by Black (#3155)
\n
\nStable style
\n\n- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code\nblock (#3158) \n- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148) \n- Comments are no longer deleted when a line had spaces removed around power operators\n(#2874)
\n
\nPreview style
\n\n- Single-character closing docstring quotes are no longer moved to their own line as\nthis is invalid. This was a bug introduced in version 22.6.0. (#3166)
\n--skip-string-normalization
/ -S
now prevents docstring prefixes from being\nnormalized as expected (#3168) \n- When using
--skip-magic-trailing-comma
or -C
, trailing commas are stripped from\nsubscript expressions with more than 1 element (#3209) \n- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside\nparentheses (#3162)
\n- Fix a string merging/split issue when a comment is present in the middle of implicitly\nconcatenated strings on its own line (#3227)
\n
\nBlackd
\n\nblackd
now supports enabling the preview style via the X-Preview
header (#3217) \n
\nConfiguration
\n\n- Black now uses the presence of debug f-strings to detect target version (#3215)
\n- Fix misdetection of project root and verbose logging of sources in cases involving\n
--stdin-filename
(#3216) \n- Immediate
.gitignore
files in source directories given on the command line are now\nalso respected, previously only .gitignore
files in the project root and\nautomatically discovered directories were respected (#3237) \n
\nDocumentation
\n\n- Recommend using BlackConnect in IntelliJ IDEs (#3150)
\n
\nIntegrations
\n\n
\n... (truncated)
\n \n\nCommits
\n\n2018e66
Prepare docs for release 22.8.0 (#3248) \n0019261
Update stable branch after publishing to PyPI (#3223) \n7757078
Improve & update release process to reflect recent changes (#3242) \n767604e
Use .gitignore files in the initial source directories (#3237) \n2c90480
Use strict mypy checking (#3222) \nba618a3
Add parens around implicit string concatenations where it increases readabili... \nc0cc19b
Delay worker count determination \nafed2c0
Load .gitignore and exclude regex at time of use \ne269f44
Lazily import parallelized format modules \nc47b91f
Fix misdetection of project root with --stdin-filename
(#3216) \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.6.0&new-version=22.8.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--1797.org.readthedocs.build/en/1797/\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/1797/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": 1180778860, "node_id": "PR_kwDOBm6k_c41BFWj", "number": 1685, "title": "Update jinja2 requirement from <3.1.0,>=2.10.3 to >=2.10.3,<3.2.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2022-03-25T13:12:13Z", "updated_at": "2022-09-05T18:36:49Z", "closed_at": "2022-09-05T18:36:48Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1685", "body": "Updates the requirements on [jinja2](https://github.com/pallets/jinja) to permit the latest version.\n\nRelease notes
\nSourced from jinja2's releases.
\n\n3.1.0
\nThis is a feature release, which includes new features and removes previously deprecated features. The 3.1.x branch is now the supported bugfix branch, the 3.0.x branch has become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. We also encourage upgrading to MarkupSafe 2.1.1, the latest version at this time.
\n\n
\n \n\nChangelog
\nSourced from jinja2's changelog.
\n\nVersion 3.1.0
\nReleased 2022-03-24
\n\n- \n
Drop support for Python 3.6. :pr:1534
\n \n- \n
Remove previously deprecated code. :pr:1544
\n\nWithExtension
and AutoEscapeExtension
are built-in now. \ncontextfilter
and contextfunction
are replaced by\npass_context
. evalcontextfilter
and\nevalcontextfunction
are replaced by pass_eval_context
.\nenvironmentfilter
and environmentfunction
are replaced\nby pass_environment
. \nMarkup
and escape
should be imported from MarkupSafe. \n- Compiled templates from very old Jinja versions may need to be\nrecompiled.
\n- Legacy resolve mode for
Context
subclasses is no longer\nsupported. Override resolve_or_missing
instead of\nresolve
. \nunicode_urlencode
is renamed to url_quote
. \n
\n \n- \n
Add support for native types in macros. :issue:1510
\n \n- \n
The {% trans %}
tag can use pgettext
and npgettext
by\npassing a context string as the first token in the tag, like\n{% trans "title" %}
. :issue:1430
\n \n- \n
Update valid identifier characters from Python 3.6 to 3.7.\n:pr:1571
\n \n- \n
Filters and tests decorated with @async_variant
are pickleable.\n:pr:1612
\n \n- \n
Add items
filter. :issue:1561
\n \n- \n
Subscriptions ([0]
, etc.) can be used after filters, tests, and\ncalls when the environment is in async mode. :issue:1573
\n \n- \n
The groupby
filter is case-insensitive by default, matching\nother comparison filters. Added the case_sensitive
parameter to\ncontrol this. :issue:1463
\n \n- \n
Windows drive-relative path segments in template names will not\nresult in FileSystemLoader
and PackageLoader
loading from\ndrive-relative paths. :pr:1621
\n \n
\nVersion 3.0.3
\nReleased 2021-11-09
\n\n- Fix traceback rewriting internals for Python 3.10 and 3.11.\n:issue:
1535
\n- Fix how the native environment treats leading and trailing spaces\nwhen parsing values on Python 3.10. :pr:
1537
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n84c0e2c
Merge pull request #1625 from pallets/release-3.1.0 \n7b0c47f
release version 3.1.0 \nede0f98
Merge pull request #1621 from pallets/template-safe-path \n040088a
use posixpath.join
when loading template names \na292075
Merge pull request #1620 from janfilips/patch-1 \n6e4df02
Fix formatting in tricks.rst \n3a050b1
Merge pull request #1617 from pallets/docs-prose \n4b63cd8
rewrite include statement section \na98d482
clean up faq, move technical discussions \n9de99f8
clean up engine comparisons \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1685/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": 1362242558, "node_id": "PR_kwDOBm6k_c4-Yqgo", "number": 1799, "title": "Update aiofiles requirement from <0.9,>=0.4 to >=0.4,<22.2", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-09-05T16:13:48Z", "updated_at": "2022-09-05T18:36:44Z", "closed_at": "2022-09-05T18:36:43Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1799", "body": "Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version.\n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@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--1799.org.readthedocs.build/en/1799/\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/1799/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": 1362367821, "node_id": "PR_kwDOBm6k_c4-ZGW6", "number": 1801, "title": "Don't use upper bound dependencies, refs #1800", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-09-05T18:29:28Z", "updated_at": "2022-09-05T18:35:41Z", "closed_at": "2022-09-05T18:35:41Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1801", "body": "See https://iscinumpy.dev/post/bound-version-constraints/\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1801.org.readthedocs.build/en/1801/\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/1801/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": 1348394901, "node_id": "PR_kwDOBm6k_c49qmC2", "number": 1792, "title": "Test `--load-extension` in GitHub Actions", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2022-08-23T18:43:29Z", "updated_at": "2022-08-24T00:11:46Z", "closed_at": "2022-08-24T00:11:45Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1792", "body": "Refs:\r\n- #1789\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/\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/1792/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": 1344823170, "node_id": "PR_kwDOBm6k_c49e3_k", "number": 1789, "title": "Add new entrypoint option to `--load-extension`", "user": {"value": 15178711, "label": "asg017"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 9, "created_at": "2022-08-19T19:27:47Z", "updated_at": "2022-08-23T18:42:52Z", "closed_at": "2022-08-23T18:34:30Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1789", "body": "Closes #1784 \r\n\r\nThe `--load-extension` flag can now accept an optional \"entrypoint\" value, to specify which entrypoint SQLite should load from the given extension. \r\n\r\n```bash\r\n# would load default entrypoint like before\r\ndatasette data.db --load-extension ext\r\n\r\n# loads the extensions with the \"sqlite3_foo_init\" entrpoint\r\ndatasette data.db --load-extension ext:sqlite3_foo_init\r\n\r\n# loads the extensions with the \"sqlite3_bar_init\" entrpoint\r\ndatasette data.db --load-extension ext:sqlite3_bar_init\r\n```\r\n\r\nFor testing, I added a small SQLite extension in C at `tests/ext.c`. If compiled, then pytest will run the unit tests in `test_load_extensions.py`to verify that Datasette loads in extensions correctly (and loads the correct entrypoints). Compiling the extension requires a C compiler, I compiled it on my Mac with:\r\n\r\n```\r\ngcc ext.c -I path/to/sqlite -fPIC -shared -o ext.dylib\r\n```\r\n\r\nWhere `path/to/sqlite` is a directory that contains the SQLite amalgamation header files.\r\n\r\nRe documentation: I added a bit to the help text for `--load-extension` (which I believe should auto-add to documentation?), and the existing extension documentation is spatialite specific. Let me know if a new extensions documentation page would be helpful!", "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/1789/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": 1334415381, "node_id": "PR_kwDOBm6k_c488nq6", "number": 1778, "title": "Use Read the Docs action v1", "user": {"value": 244656, "label": "humitos"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2022-08-10T10:30:50Z", "updated_at": "2022-08-20T00:04:17Z", "closed_at": "2022-08-20T00:04:17Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1778", "body": "Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1`\r\n\r\n\r\n----\n:books: Documentation preview :books:: https://datasette--1778.org.readthedocs.build/en/1778/\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/1778/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": 1084193403, "node_id": "PR_kwDOBm6k_c4wDKmb", "number": 1574, "title": "introduce new option for datasette package to use a slim base image", "user": {"value": 33631, "label": "fs111"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 6, "created_at": "2021-12-19T21:18:19Z", "updated_at": "2022-08-15T08:49:31Z", "closed_at": "2022-08-15T08:49:31Z", "author_association": "NONE", "pull_request": "simonw/datasette/pulls/1574", "body": "The official python images on docker hub come with a slim variant that is significantly smaller than the default. The diff does not change the default, but allows to switch to the `slim` variant with commandline switch (`--slim-base-image`)\r\n\r\nSize comparison:\r\n\r\n```\r\n$ datasette package some.db -t fat --install \"datasette-basemap datasette-cluster-map\"\r\n\r\n$ datasette package some.db -t slim --slim-base-image --install \"datasette-basemap datasette-cluster-map\"\r\n\r\n$ docker images\r\nREPOSITORY TAG IMAGE ID CREATED SIZE\r\nfat latest 807b393ace0d 9 seconds ago 978MB\r\nslim latest 31bc5e63505c 8 minutes ago 191MB\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/1574/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": 1307359454, "node_id": "PR_kwDOBm6k_c47iWbd", "number": 1772, "title": "Convert to setup.cfg", "user": {"value": 89725, "label": "kfdm"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2022-07-18T03:39:53Z", "updated_at": "2022-07-18T03:39:53Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1772", "body": "Recent versions of setuptools can run most things from setup.cfg so one can have a simpler version that does not require executing code on install.\r\n\r\nThe bulk of the changes were automated by running https://pypi.org/project/setup-py-upgrade/ with a few minor edits for the bits that it can not auto convert (the initial `get_long_description()` and `get_version()` can not be automatically converted)", "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/1772/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": 1292377561, "node_id": "PR_kwDOBm6k_c46wdOW", "number": 1766, "title": "Keep track of config_dir", "user": {"value": 25778, "label": "eyeseast"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2022-07-03T17:37:02Z", "updated_at": "2022-07-18T01:12:45Z", "closed_at": "2022-07-18T01:12:45Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1766", "body": "Closes #1764 \r\n\r\nSmall change that adds `self.config_dir = config_dir` to `Datasette.__init__`. This will let plugins also use `config_dir`, if available.", "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/1766/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": 1306020162, "node_id": "PR_kwDOBm6k_c47eFtx", "number": 1769, "title": "Update pytest-asyncio requirement from <0.19,>=0.17 to >=0.17,<0.20", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-07-15T13:10:15Z", "updated_at": "2022-07-18T01:06:38Z", "closed_at": "2022-07-18T01:06:38Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1769", "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n\nRelease notes
\nSourced from pytest-asyncio's releases.
\n\npytest-asyncio 0.19.0
\n
\ntitle: 'pytest-asyncio: pytest support for asyncio'
\n
\n
\n
\n
\n
\npytest-asyncio is an Apache2 licensed library, written in Python, for\ntesting asyncio code with pytest.
\nasyncio code is usually written in the form of coroutines, which makes\nit slightly more difficult to test using normal testing tools.\npytest-asyncio provides useful fixtures and markers to make testing\neasier.
\n@pytest.mark.asyncio\nasync def test_some_asyncio_code():\n res = await library.do_something()\n assert b"expected result" == res\n
\npytest-asyncio has been strongly influenced by\npytest-tornado.
\nFeatures
\n\n- fixtures for creating and injecting versions of the asyncio event\nloop
\n- fixtures for injecting unused tcp/udp ports
\n- pytest markers for treating tests as asyncio coroutines
\n- easy testing with non-default event loops
\n- support for [async def]{.title-ref} fixtures and async generator\nfixtures
\n- support auto mode to handle all async fixtures and tests\nautomatically by asyncio; provide strict mode if a test suite\nshould work with different async frameworks simultaneously, e.g.\n
asyncio
and trio
. \n
\nInstallation
\n\n
\n... (truncated)
\n \n\nChangelog
\nSourced from pytest-asyncio's changelog.
\n\n0.19.0 (22-07-13)
\n\n- BREAKING: The default
asyncio_mode
is now strict. [#293](https://github.com/pytest-dev/pytest-asyncio/issues/293) <https://github.com/pytest-dev/pytest-asyncio/issues/293>
_ \n- Removes
setup.py
since all relevant configuration is present setup.cfg
. Users requiring an editable installation of pytest-asyncio need to use pip v21.1 or newer. [#283](https://github.com/pytest-dev/pytest-asyncio/issues/283) <https://github.com/pytest-dev/pytest-asyncio/issues/283>
_ \n- Declare support for Python 3.11.
\n
\n0.18.3 (22-03-25)
\n\n- Adds
pytest-trio <https://pypi.org/project/pytest-trio/>
_ to the test dependencies \n- Fixes a bug that caused pytest-asyncio to try to set up async pytest_trio fixtures in strict mode.
[#298](https://github.com/pytest-dev/pytest-asyncio/issues/298) <https://github.com/pytest-dev/pytest-asyncio/issues/298>
_ \n
\n0.18.2 (22-03-03)
\n\n- Fix asyncio auto mode not marking static methods.
[#295](https://github.com/pytest-dev/pytest-asyncio/issues/295) <https://github.com/pytest-dev/pytest-asyncio/issues/295>
_ \n- Fix a compatibility issue with Hypothesis 6.39.0.
[#302](https://github.com/pytest-dev/pytest-asyncio/issues/302) <https://github.com/pytest-dev/pytest-asyncio/issues/302>
_ \n
\n0.18.1 (22-02-10)
\n\n- Fixes a regression that prevented async fixtures from working in synchronous tests.
[#286](https://github.com/pytest-dev/pytest-asyncio/issues/286) <https://github.com/pytest-dev/pytest-asyncio/issues/286>
_ \n
\n0.18.0 (22-02-07)
\n\n- Raise a warning if
@\u200bpytest
.mark.asyncio is applied to non-async function. [#275](https://github.com/pytest-dev/pytest-asyncio/issues/275) <https://github.com/pytest-dev/pytest-asyncio/issues/275>
_ \n- Support parametrized
event_loop
fixture. [#278](https://github.com/pytest-dev/pytest-asyncio/issues/278) <https://github.com/pytest-dev/pytest-asyncio/issues/278>
_ \n
\n0.17.2 (22-01-17)
\n\n- Require
typing-extensions
on Python`_ \n- Fix a regression in tests collection introduced by 0.17.1, the plugin works fine with non-python tests again.
[#267](https://github.com/pytest-dev/pytest-asyncio/issues/267) <https://github.com/pytest-dev/pytest-asyncio/issues/267>
_ \n
\n0.17.1 (22-01-16)
\n\n- Fixes a bug that prevents async Hypothesis tests from working without explicit
asyncio
marker when --asyncio-mode=auto
is set. [#258](https://github.com/pytest-dev/pytest-asyncio/issues/258) <https://github.com/pytest-dev/pytest-asyncio/issues/258>
_ \n- Fixed a bug that closes the default event loop if the loop doesn't exist
[#257](https://github.com/pytest-dev/pytest-asyncio/issues/257) <https://github.com/pytest-dev/pytest-asyncio/issues/257>
_ \n- Added type annotations.
[#198](https://github.com/pytest-dev/pytest-asyncio/issues/198) <https://github.com/pytest-dev/pytest-asyncio/issues/198>
_ \n- Show asyncio mode in pytest report headers.
[#266](https://github.com/pytest-dev/pytest-asyncio/issues/266) <https://github.com/pytest-dev/pytest-asyncio/issues/266>
_ \n- Relax
asyncio_mode
type definition; it allows to support pytest 6.1+. [#262](https://github.com/pytest-dev/pytest-asyncio/issues/262) <https://github.com/pytest-dev/pytest-asyncio/issues/262>
_ \n
\n0.17.0 (22-01-13)
\n\npytest-asyncio
no longer alters existing event loop policies. [#168](https://github.com/pytest-dev/pytest-asyncio/issues/168) <https://github.com/pytest-dev/pytest-asyncio/issues/168>
, [#188](https://github.com/pytest-dev/pytest-asyncio/issues/188) <https://github.com/pytest-dev/pytest-asyncio/issues/168>
\n- Drop support for Python 3.6
\n- Fixed an issue when pytest-asyncio was used in combination with
flaky
or inherited asynchronous Hypothesis tests. [#178](https://github.com/pytest-dev/pytest-asyncio/issues/178) <https://github.com/pytest-dev/pytest-asyncio/issues/178>
_ [#231](https://github.com/pytest-dev/pytest-asyncio/issues/231) <https://github.com/pytest-dev/pytest-asyncio/issues/231>
_ \n- Added
flaky <https://pypi.org/project/flaky/>
_ to test dependencies \n- Added
unused_udp_port
and unused_udp_port_factory
fixtures (similar to unused_tcp_port
and unused_tcp_port_factory
counterparts. [#99](https://github.com/pytest-dev/pytest-asyncio/issues/99) <https://github.com/pytest-dev/pytest-asyncio/issues/99>
_ \n- Added the plugin modes: strict, auto, and legacy. See
documentation <https://github.com/pytest-dev/pytest-asyncio#modes>
_ for details. [#125](https://github.com/pytest-dev/pytest-asyncio/issues/125) <https://github.com/pytest-dev/pytest-asyncio/issues/125>
_ \n- Correctly process
KeyboardInterrupt
during async fixture setup phase [#219](https://github.com/pytest-dev/pytest-asyncio/issues/219) <https://github.com/pytest-dev/pytest-asyncio/issues/219>
_ \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n2da33c4
docs: Prepare v0.19.0 release. (#385) \n07beb80
opt into strict mode by default (#380) \n25c54a5
Clarify documentation of event_loop fixture (#375) \n49f07a4
Bump typing-extensions from 4.2.0 to 4.3.0 in /dependencies/default (#382) \n739198b
Bump hypothesis from 6.48.0 to 6.48.3 in /dependencies/default (#381) \ndb72f25
Bump importlib-metadata from 4.11.4 to 4.12.0 in /dependencies/default (#378) \n4cf16cf
Bump hypothesis from 6.47.3 to 6.48.0 in /dependencies/default (#377) \nf13c85f
docs: Fix typo in README. \nb463f72
Python 3.11 support (#370) \n860ff51
Bump hypothesis from 6.47.2 to 6.47.3 in /dependencies/default (#373) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1769/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": 1280136357, "node_id": "PR_kwDOBm6k_c46Hsvj", "number": 1760, "title": "Bump furo from 2022.4.7 to 2022.6.21", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-06-22T13:22:31Z", "updated_at": "2022-07-18T01:06:27Z", "closed_at": "2022-07-18T01:06:27Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1760", "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.21.\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2022.06.21 -- Opulent Opal
\n\n- Fix
docutils <= 0.17.x
compatibility \n- Bump to the latest Node.js LTS
\n
\n2022.06.04.1 -- Naughty Nickel bugfix
\n\n- Fix the URL used in the "Edit this page" for Read the Docs builds.
\n
\n2022.06.04 -- Naughty Nickel
\n\n- \u2728 Advertise Sphinx 5 compatibility.
\n- \u2728 Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
). \n- Document site-wide announcement banners.
\n- Drop the pin on pygments.
\n- Improve edit button, using
basic-ng
's edit-this-page
component. \n- Tweak headings to better match what users expect.
\n- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
\n- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
\n
\n2022.04.07 -- Magical Mauve
\n\n- \u2728 Make sphinx-copybutton look better.
\n- Add margin to indentations in line blocks.
\n- Add styling for non-arabic list styles
\n- Add support for
html_baseurl
. \n- Improve "Edit this page" icon to be more accessible.
\n- Improve
html_sidebars
example. \n- Tweak positioning of back to top on desktop.
\n
\n2022.03.04 -- Lucent Lilac
\n\n- Improve support for print media.
\n- Reduce heading sizes for h3 and below.
\n- Don't allow selecting headerlink content.
\n- Improve how overflow wrapping is handled.
\n- Add a reference from the configuration variables to the color customisation page.
\n
\n2022.02.23 -- Keen Kobi
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=furo&package-manager=pip&previous-version=2022.4.7&new-version=2022.6.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1760/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": 1287325944, "node_id": "PR_kwDOBm6k_c46ftHo", "number": 1763, "title": "Bump black from 22.1.0 to 22.6.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-06-28T13:11:32Z", "updated_at": "2022-06-28T17:40:25Z", "closed_at": "2022-06-28T17:40:25Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1763", "body": "Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.6.0.\n\nRelease notes
\nSourced from black's releases.
\n\n22.6.0
\nStyle
\n\n- Fix unstable formatting involving
#fmt: skip
and # fmt:skip
comments (notice the lack of spaces) (#2970) \n
\nPreview style
\n\n- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
\n- Parentheses around return annotations are now managed (#2990)
\n- Remove unnecessary parentheses around awaited objects (#2991)
\n- Remove unnecessary parentheses in
with
statements (#2926) \n- Remove trailing newlines after code block open (#3035)
\n
\nIntegrations
\n\n- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project (#3038) \n
\nOutput
\n\n- Output Python version and implementation as part of
--version
flag (#2997) \n
\nPackaging
\n\n- Use
tomli
instead of tomllib
on Python 3.11 builds where tomllib
is not available (#2987) \n
\nParser
\n\n- PEP 654 syntax (for example,
except *ExceptionGroup:
) is now supported (#3016) \n- PEP 646 syntax (for example,
Array[Batch, *Shape]
or def fn(*args: *T) -> None
) is now supported (#3071) \n
\nVim Plugin
\n\n- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025) \n
\nFull Changelog: https://github.com/psf/black/compare/22.3.0...22.6.0
\n
\nThank you!
\n\n@\u200bjpy-git
for improving our parentheses formatting significantly \n@\u200bsiuryan
for fixing a fmt: skip bug, making it a little less annoying to use :) \n@\u200bisidentical
for implementing support for PEP 654 and 646 syntax \n@\u200bdefntvdm
for fixing our vim plugin, especially as we (the maintainers) don't really know vim script sadly \n@\u200bidorrington92
for fixing the docstring bug where Black would move the closing quotes causing it to violate the line length limit (whoops!) \n@\u200bhbrunn
for contributing the migrate-black script \n@\u200bsaroad2
for improving newline handling after code blocks and test infrastructure improvements \n
\n... and everyone else who contributed documentation, tests, or other improvements to the Black project!
\n\n
\n... (truncated)
\n \n\nChangelog
\nSourced from black's changelog.
\n\n22.6.0
\nStyle
\n\n- Fix unstable formatting involving
#fmt: skip
and # fmt:skip
comments (notice the\nlack of spaces) (#2970) \n
\nPreview style
\n\n- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
\n- Parentheses around return annotations are now managed (#2990)
\n- Remove unnecessary parentheses around awaited objects (#2991)
\n- Remove unnecessary parentheses in
with
statements (#2926) \n- Remove trailing newlines after code block open (#3035)
\n
\nIntegrations
\n\n- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project\n(#3038) \n
\nOutput
\n\n- Output Python version and implementation as part of
--version
flag (#2997) \n
\nPackaging
\n\n- Use
tomli
instead of tomllib
on Python 3.11 builds where tomllib
is not\navailable (#2987) \n
\nParser
\n\n- PEP 654 syntax (for example,\n
except *ExceptionGroup:
) is now supported (#3016) \n- PEP 646 syntax (for example,\n
Array[Batch, *Shape]
or def fn(*args: *T) -> None
) is now supported (#3071) \n
\nVim Plugin
\n\n- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025) \n
\n22.3.0
\nPreview style
\n\n- Code cell separators
#%%
are now standardised to # %%
(#2919) \n- Remove unnecessary parentheses from
except
statements (#2939) \n- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945) \n- Avoid magic-trailing-comma in single-element subscripts (#2942)
\n
\nConfiguration
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.1.0&new-version=22.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1763/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": 1184850337, "node_id": "PR_kwDOBm6k_c41OrSL", "number": 1693, "title": "Bump black from 22.1.0 to 22.3.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2022-03-29T13:11:09Z", "updated_at": "2022-06-28T13:11:38Z", "closed_at": "2022-06-28T13:11:36Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1693", "body": "Bumps [black](https://github.com/psf/black) from 22.1.0 to 22.3.0.\n\nRelease notes
\nSourced from black's releases.
\n\n22.3.0
\nPreview style
\n\n- Code cell separators
#%%
are now standardised to # %%
(#2919) \n- Remove unnecessary parentheses from
except
statements (#2939) \n- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945) \n- Avoid magic-trailing-comma in single-element subscripts (#2942)
\n
\nConfiguration
\n\n- Do not format
__pypackages__
directories by default (#2836) \n- Add support for specifying stable version with
--required-version
(#2832). \n- Avoid crashing when the user has no homedir (#2814)
\n- Avoid crashing when md5 is not available (#2905)
\n- Fix handling of directory junctions on Windows (#2904)
\n
\nDocumentation
\n\n- Update pylint config documentation (#2931)
\n
\nIntegrations
\n\n- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
\n
\nOutput
\n\n- In verbose, mode, log when Black is using user-level config (#2861)
\n
\nPackaging
\n\n- Fix Black to work with Click 8.1.0 (#2966)
\n- On Python 3.11 and newer, use the standard library's
tomllib
instead of tomli
\n(#2903) \nblack-primer
, the deprecated internal devtool, has been removed and copied to a\nseparate repository (#2924) \n
\nParser
\n\n- Black can now parse starred expressions in the target of
for
and async for
\nstatements, e.g for item in *items_1, *items_2: pass
(#2879). \n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n22.3.0
\nPreview style
\n\n- Code cell separators
#%%
are now standardised to # %%
(#2919) \n- Remove unnecessary parentheses from
except
statements (#2939) \n- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945) \n- Avoid magic-trailing-comma in single-element subscripts (#2942)
\n
\nConfiguration
\n\n- Do not format
__pypackages__
directories by default (#2836) \n- Add support for specifying stable version with
--required-version
(#2832). \n- Avoid crashing when the user has no homedir (#2814)
\n- Avoid crashing when md5 is not available (#2905)
\n- Fix handling of directory junctions on Windows (#2904)
\n
\nDocumentation
\n\n- Update pylint config documentation (#2931)
\n
\nIntegrations
\n\n- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
\n
\nOutput
\n\n- In verbose, mode, log when Black is using user-level config (#2861)
\n
\nPackaging
\n\n- Fix Black to work with Click 8.1.0 (#2966)
\n- On Python 3.11 and newer, use the standard library's
tomllib
instead of tomli
\n(#2903) \nblack-primer
, the deprecated internal devtool, has been removed and copied to a\nseparate repository (#2924) \n
\nParser
\n\n- Black can now parse starred expressions in the target of
for
and async for
\nstatements, e.g for item in *items_1, *items_2: pass
(#2879). \n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=22.1.0&new-version=22.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1693/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": 1261826957, "node_id": "PR_kwDOBm6k_c45Kojn", "number": 1753, "title": "Bump furo from 2022.4.7 to 2022.6.4.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2022-06-06T13:10:22Z", "updated_at": "2022-06-22T13:22:37Z", "closed_at": "2022-06-22T13:22:35Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1753", "body": "Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.4.1.\n\nChangelog
\nSourced from furo's changelog.
\n\nChangelog
\n\n2022.06.04.1 -- Naughty Nickel bugfix
\n\n- Fix the URL used in the "Edit this page" for Read the Docs builds.
\n
\n2022.06.04 -- Naughty Nickel
\n\n- \u2728 Advertise Sphinx 5 compatibility.
\n- \u2728 Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
). \n- Document site-wide announcement banners.
\n- Drop the pin on pygments.
\n- Improve edit button, using
basic-ng
's edit-this-page
component. \n- Tweak headings to better match what users expect.
\n- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
\n- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
\n
\n2022.04.07 -- Magical Mauve
\n\n- \u2728 Make sphinx-copybutton look better.
\n- Add margin to indentations in line blocks.
\n- Add styling for non-arabic list styles
\n- Add support for
html_baseurl
. \n- Improve "Edit this page" icon to be more accessible.
\n- Improve
html_sidebars
example. \n- Tweak positioning of back to top on desktop.
\n
\n2022.03.04 -- Lucent Lilac
\n\n- Improve support for print media.
\n- Reduce heading sizes for h3 and below.
\n- Don't allow selecting headerlink content.
\n- Improve how overflow wrapping is handled.
\n- Add a reference from the configuration variables to the color customisation page.
\n
\n2022.02.23 -- Keen Kobi
\n\n- \u2728 Add a "Back to Top" button that shows up when scrolling up.
\n- Add a URL to GitHub in Project-URLs.
\n- Break long words in the prev/next buttons.
\n- Fix includes in Kitchen sink.
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n1142fad
Prepare release: 2022.06.04.1 \n211abb4
Update changelog \n06cdba6
Fix the edit this page URL \n43ce491
Back to development \nfb6e486
Prepare release: 2022.06.04 \n090b02e
Update changelog \n098d51d
Fix the Just the Docs link \n7fa8d08
Change to a post-transform for wrapping math blocks and table \n51f1e52
Speed up determining if there's multiple toc entries \n99a6ff8
Update caniuse-lite NPM package \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=2022.4.7&new-version=2022.6.4.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 ", "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/1753/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": 1275523220, "node_id": "PR_kwDOBm6k_c454SlE", "number": 1759, "title": "Extract facet portions of table.html out into included templates", "user": {"value": 19872, "label": "nsmgr8"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2022-06-17T22:04:04Z", "updated_at": "2022-06-20T18:05:45Z", "closed_at": "2022-06-20T18:05:45Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1759", "body": "To allow users customise the facet content as they would prefer such as sorting of facet results. ordering of suggested facets etc.", "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/1759/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": 1226106354, "node_id": "PR_kwDOBm6k_c43U1z7", "number": 1740, "title": "chore: Set permissions for GitHub actions", "user": {"value": 172697, "label": "naveensrinivasan"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-05-05T01:03:08Z", "updated_at": "2022-05-31T19:28:41Z", "closed_at": "2022-05-31T19:28:40Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1740", "body": " Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won\u2019t be able to do much.\n\n- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions\n\nhttps://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions\n\nhttps://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs\n\n[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)\n\nSigned-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>\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/1740/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": 1223312279, "node_id": "PR_kwDOBm6k_c43MIU0", "number": 1736, "title": "Clean up compatibility with Pyodide", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2022-05-02T20:14:38Z", "updated_at": "2022-05-02T20:15:28Z", "closed_at": "2022-05-02T20:15:27Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1736", "body": "Closes #1735, closes #1733", "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/1736/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": 1213281044, "node_id": "PR_kwDOBm6k_c42qyUI", "number": 1717, "title": "Add timeout option to Cloudrun build", "user": {"value": 127565, "label": "wragge"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2022-04-23T11:51:21Z", "updated_at": "2022-04-24T14:03:08Z", "closed_at": "2022-04-24T14:03:08Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1717", "body": "I've found that the Cloudrun build phase often hits a timeout limit with large databases. I believe the default timeout is 10 minutes. This pull request just adds a `--timeout` option to the cloudrun `publish` command and passes the value on to the build step.", "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/1717/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": 810507413, "node_id": "MDExOlB1bGxSZXF1ZXN0NTc1MTg3NDU3", "number": 1229, "title": "ensure immutable databses when starting in configuration directory mode with", "user": {"value": 295329, "label": "camallen"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-02-17T20:18:26Z", "updated_at": "2022-04-22T13:16:36Z", "closed_at": "2021-03-29T00:17:32Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1229", "body": "fixes #1224 \r\n\r\nThis PR ensures all databases found in a configuration directory that match the files in `inspect-data.json` will be set to `immutable` as outlined in https://docs.datasette.io/en/latest/settings.html#configuration-directory-mode\r\n\r\nspecifically on building the `datasette` instance it checks:\r\n- if `immutables` is an empty tuple - as passed by the cli code\r\n- if `immutables` is the default function value `None` - when it's not explicitly set\r\n\r\nAnd correctly builds the immutable database list from the `inspect-data[file]` keys.\r\n\r\nNote for this to work the `inspect-data.json` file must contain `file` paths which are relative to the configuration directory otherwise the file paths won't match and the dbs won't be set to immutable. \r\n\r\nI couldn't find an easy way to test this due to the way `make_app_client` works, happy to take directions on adding a test for this. \r\n\r\nI've updated the relevant docs as well, i.e. use the `inspect` cli cmd from the config directory path to create the relevant file\r\n```\r\ncd $config_dir\r\ndatasette inspect *.db --inspect-file=inspect-data.json\r\n```\r\nhttps://docs.datasette.io/en/latest/performance.html#using-datasette-inspect", "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/1229/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": 1184850675, "node_id": "PR_kwDOBm6k_c41OrWq", "number": 1694, "title": "Update click requirement from <8.1.0,>=7.1.1 to >=7.1.1,<8.2.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-03-29T13:11:23Z", "updated_at": "2022-04-08T23:05:10Z", "closed_at": "2022-04-08T23:05:09Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1694", "body": "Updates the requirements on [click](https://github.com/pallets/click) to permit the latest version.\n\nRelease notes
\nSourced from click's releases.
\n\n8.1.0
\nThis is a feature release, which includes new features and removes previously deprecated features. The 8.1.x branch is now the supported bugfix branch, the 8.0.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.
\n\n
\n \n\nChangelog
\nSourced from click's changelog.
\n\nVersion 8.1.0
\nReleased 2022-03-28
\n\n- \n
Drop support for Python 3.6. :pr:2129
\n \n- \n
Remove previously deprecated code. :pr:2130
\n\nGroup.resultcallback
is renamed to result_callback
. \nautocompletion
parameter to Command
is renamed to\nshell_complete
. \nget_terminal_size
is removed, use\nshutil.get_terminal_size
instead. \nget_os_args
is removed, use sys.argv[1:]
instead. \n
\n \n- \n
Rely on :pep:538
and :pep:540
to handle selecting UTF-8 encoding\ninstead of ASCII. Click's locale encoding detection is removed.\n:issue:2198
\n \n- \n
Single options boolean flags with show_default=True
only show\nthe default if it is True
. :issue:1971
\n \n- \n
The command
and group
decorators can be applied with or\nwithout parentheses. :issue:1359
\n \n- \n
The Path
type can check whether the target is executable.\n:issue:1961
\n \n- \n
Command.show_default
overrides Context.show_default
, instead\nof the other way around. :issue:1963
\n \n- \n
Parameter decorators and @group
handles cls=None
the same as\nnot passing cls
. @option
handles help=None
the same as\nnot passing help
. :issue:[#1959](https://github.com/pallets/click/issues/1959)
\n \n- \n
A flag option with required=True
requires that the flag is\npassed instead of choosing the implicit default value. :issue:1978
\n \n- \n
Indentation in help text passed to Option
and Command
is\ncleaned the same as using the @option
and @command
\ndecorators does. A command's epilog
and short_help
are also\nprocessed. :issue:1985
\n \n- \n
Store unprocessed Command.help
, epilog
and short_help
\nstrings. Processing is only done when formatting help text for\noutput. :issue:2149
\n \n- \n
Allow empty str input for prompt()
when\nconfirmation_prompt=True
and default=""
. :issue:2157
\n \n- \n
Windows glob pattern expansion doesn't fail if a value is an invalid\npattern. :issue:2195
\n \n- \n
It's possible to pass a list of params
to @command
. Any\nparams defined with decorators are appended to the passed params.\n:issue:2131
.
\n \n- \n
@command
decorator is annotated as returning the correct type if\na cls
argument is used. :issue:2211
\n \n- \n
A Group
with invoke_without_command=True
and chain=False
\nwill invoke its result callback with the group function's return\nvalue. :issue:2124
\n \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\ne4aceee
Merge pull request #2224 from pallets/release-8.1.0 \nf8d811e
release version 8.1.0 \n20c88f0
Merge pull request #2223 from pallets/env-var \n8d7f03d
treat empty auto_envvar as None \nef11be6
Merge pull request #2041 from spanglerco/shell-completion-option-values \nf2e579a
shell completion prioritizes option values over new options \nd251cb0
Merge pull request #2219 from pallets/paramtype-name \ne003331
fix ParamType.to_info_dict() with no name \n19be092
Merge pull request #2217 from pallets/group-return \n7d3a871
group without command passes return value to result callback \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1694/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": 1197298420, "node_id": "PR_kwDOBm6k_c4132NJ", "number": 1703, "title": "Update beautifulsoup4 requirement from <4.11.0,>=4.8.1 to >=4.8.1,<4.12.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-04-08T13:08:53Z", "updated_at": "2022-04-08T22:51:05Z", "closed_at": "2022-04-08T22:51:05Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1703", "body": "Updates the requirements on [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) to permit the latest version.\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1703/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": 1090055810, "node_id": "PR_kwDOBm6k_c4wWDxH", "number": 1582, "title": "don't set far expiry if hash is '000'", "user": {"value": 536941, "label": "fgregg"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-12-28T18:16:13Z", "updated_at": "2022-03-24T04:07:58Z", "closed_at": "2022-03-24T04:07:58Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1582", "body": "This will close #1581.\r\n\r\nI couldn't find any unit tests related to the testing hashed urls, and I know that you want to break that code out of the core application (#1561), so I'm not quite sure what you would like me to for testing.", "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/1582/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": 1173828092, "node_id": "PR_kwDOBm6k_c40q1eP", "number": 1665, "title": "Pin setup-gcloud to v0 instead of master", "user": {"value": 408570, "label": "sethvargo"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-03-18T17:17:22Z", "updated_at": "2022-03-23T19:31:10Z", "closed_at": "2022-03-23T17:55:39Z", "author_association": "NONE", "pull_request": "simonw/datasette/pulls/1665", "body": "setup-gcloud will be updating the branch name from master to main in\r\na future release. Even though GitHub will establish redirects, this\r\nwill break any GitHub Actions workflows that pin to master. This PR\r\nupdates your GitHub Actions workflows to pin to v0, which is the\r\nrecommended best practice.", "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/1665/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": 1173017980, "node_id": "PR_kwDOBm6k_c40oRq-", "number": 1664, "title": "Remove hashed URL mode", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2022-03-17T23:19:10Z", "updated_at": "2022-03-19T00:12:04Z", "closed_at": "2022-03-19T00:12:04Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1664", "body": "Refs #1661.", "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/1664/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": 1168357113, "node_id": "PR_kwDOBm6k_c40ZRDA", "number": 1656, "title": "Update pytest requirement from <7.1.0,>=5.2.2 to >=5.2.2,<7.2.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-03-14T13:11:53Z", "updated_at": "2022-03-15T18:03:03Z", "closed_at": "2022-03-15T18:03:02Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1656", "body": "Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version.\n\nRelease notes
\nSourced from pytest's releases.
\n\n7.1.0
\npytest 7.1.0 (2022-03-13)
\nBreaking Changes
\n\n- \n
#8838: As per our policy, the following features have been deprecated in the 6.X series and are now\nremoved:
\n\npytest._fillfuncargs
function. \npytest_warning_captured
hook - use pytest_warning_recorded
instead. \n-k -foobar
syntax - use -k 'not foobar'
instead. \n-k foobar:
syntax. \npytest.collect
module - import from pytest
directly. \n
\nFor more information consult\nDeprecations and Removals in the docs.
\n \n- \n
#9437: Dropped support for Python 3.6, which reached end-of-life at 2021-12-23.
\n \n
\nImprovements
\n\n- \n
#5192: Fixed test output for some data types where -v
would show less information.
\nAlso, when showing diffs for sequences, -q
would produce full diffs instead of the expected diff.
\n \n- \n
#9362: pytest now avoids specialized assert formatting when it is detected that the default __eq__
is overridden in attrs
or dataclasses
.
\n \n- \n
#9536: When -vv
is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.
\n \n- \n
#9644: More information about the location of resources that led Python to raise ResourceWarning
{.interpreted-text role="class"} can now\nbe obtained by enabling tracemalloc
{.interpreted-text role="mod"}.
\nSee resource-warnings
{.interpreted-text role="ref"} for more information.
\n \n- \n
#9678: More types are now accepted in the ids
argument to @pytest.mark.parametrize
.\nPreviously only [str]{.title-ref}, [float]{.title-ref}, [int]{.title-ref} and [bool]{.title-ref} were accepted;\nnow [bytes]{.title-ref}, [complex]{.title-ref}, [re.Pattern]{.title-ref}, [Enum]{.title-ref} and anything with a [__name__]{.title-ref} are also accepted.
\n \n- \n
#9692: pytest.approx
{.interpreted-text role="func"} now raises a TypeError
{.interpreted-text role="class"} when given an unordered sequence (such as set
{.interpreted-text role="class"}).
\nNote that this implies that custom classes which only implement __iter__
and __len__
are no longer supported as they don't guarantee order.
\n \n
\nBug Fixes
\n\n- #8242: The deprecation of raising
unittest.SkipTest
{.interpreted-text role="class"} to skip collection of\ntests during the pytest collection phase is reverted - this is now a supported\nfeature again. \n- #9493: Symbolic link components are no longer resolved in conftest paths.\nThis means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n1dbffcc
[pre-commit.ci] auto fixes from pre-commit.com hooks \nd53a5fb
Prepare release version 7.1.0 \nd306ec0
Update upcoming trainings (#9744) \n3e4c14b
Merge pull request #9751 from fabianegli/main \n7f924b1
Fix typo in deprecation documentation \n4a8f8ad
build(deps): Bump django from 4.0.2 to 4.0.3 in /testing/plugins_integration ... \nc0fd2d8
build(deps): Bump pytest-asyncio from 0.18.1 to 0.18.2 in /testing/plugins_in... \n843e018
Merge pull request #9732 from nicoddemus/9730-toml-failure \nbc43d66
[automated] Update plugin list (#9733) \ne38d1ca
Improve error message for malformed pyproject.toml files \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1656/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": 1169895600, "node_id": "PR_kwDOBm6k_c40eW7C", "number": 1659, "title": "Tilde encoding", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-03-15T16:19:07Z", "updated_at": "2022-03-15T18:01:58Z", "closed_at": "2022-03-15T18:01:57Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1659", "body": "Refs #1657", "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/1659/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": 1160432941, "node_id": "PR_kwDOBm6k_c4z_p6S", "number": 1648, "title": "Use dash encoding for table names and row primary keys in URLs", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2022-03-05T19:50:45Z", "updated_at": "2022-03-07T15:38:30Z", "closed_at": "2022-03-07T15:38:30Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1648", "body": "Refs #1439.\r\n\r\n- [x] Build `dash_encode` / `dash_decode` functions\r\n- [x] Use dash encoding for row primary keys\r\n- [x] Use dash encoding for `?_next=` pagination tokens\r\n- [x] Use dash encoding for table names in URLs\r\n- [x] Use dash encoding for database name\r\n- ~~Implement redirects from previous `%` URLs that replace those with `-`~~ - separate issue: #1650", "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/1648/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": 1160677684, "node_id": "PR_kwDOBm6k_c40AW_v", "number": 1649, "title": "Add /opt/homebrew to where spatialite extension can be found", "user": {"value": 2182, "label": "danp"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-03-06T18:09:35Z", "updated_at": "2022-03-06T22:46:00Z", "closed_at": "2022-03-06T19:39:15Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1649", "body": "Helps homebrew on Apple Silicon setups find spatialite without needing\r\na full path.\r\n\r\nSimilar to #1114", "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/1649/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": 1098275181, "node_id": "PR_kwDOBm6k_c4wwNCl", "number": 1589, "title": "Typo in docs about default redirect status code", "user": {"value": 3556, "label": "davidbgk"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-01-10T19:14:36Z", "updated_at": "2022-03-06T02:27:49Z", "closed_at": "2022-03-06T01:58:32Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1589", "body": null, "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/1589/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": 1108084641, "node_id": "PR_kwDOBm6k_c4xQ0uZ", "number": 1602, "title": "Update pytest-timeout requirement from <2.1,>=1.4.2 to >=1.4.2,<2.2", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-01-19T13:11:50Z", "updated_at": "2022-03-06T01:41:50Z", "closed_at": "2022-03-06T01:41:49Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1602", "body": "Updates the requirements on [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) to permit the latest version.\n\nCommits
\n\n8e4800e
Fixup readme \ndc1efca
2.1.0 release \ndd9d608
Add custom hooks specifications for overriding setup_timeout and teardown_tim... \ned8ecd6
module names, they're difficult \n3ab4319
Add changelog \n4f7ebae
Replace deprecated py.io.get_terminal_width() with shutil.get_terminal_size()... \nb8a2fa6
Prep release \n951972d
Update changelog \n748a9c3
Making detection of whether a debugger is currently attached more flexible. (... \nf8a46a1
Github removed the git protocol (#112) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1602/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": 1112633417, "node_id": "PR_kwDOBm6k_c4xfryi", "number": 1610, "title": "Update asgiref requirement from <3.5.0,>=3.2.10 to >=3.2.10,<3.6.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2022-01-24T13:14:18Z", "updated_at": "2022-03-06T01:30:27Z", "closed_at": "2022-03-06T01:30:27Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1610", "body": "Updates the requirements on [asgiref](https://github.com/django/asgiref) to permit the latest version.\n\nChangelog
\nSourced from asgiref's changelog.
\n\n3.5.0 (2022-01-22)
\n\n- \n
Python 3.6 is no longer supported, and asyncio calls have been changed to\nuse only the modern versions of the APIs as a result
\n \n- \n
Several causes of RuntimeErrors in cases where an event loop was assigned\nto a thread but not running
\n \n- \n
Speed improvements in the Local class
\n \n
\n3.4.1 (2021-07-01)
\n\n- Fixed an issue with the deadlock detection where it had false positives\nduring exception handling.
\n
\n3.4.0 (2021-06-27)
\n\n- \n
Calling sync_to_async directly from inside itself (which causes a deadlock\nwhen in the default, thread-sensitive mode) now has deadlock detection.
\n \n- \n
asyncio usage has been updated to use the new versions of get_event_loop,\nensure_future, wait and gather, avoiding deprecation warnings in Python 3.10.\nPython 3.6 installs continue to use the old versions; this is only for 3.7+
\n \n- \n
sync_to_async and async_to_sync now have improved type hints that pass\nthrough the underlying function type correctly.
\n \n- \n
All Websocket* types are now spelled WebSocket, to match our specs and the\nofficial spelling. The old names will work until release 3.5.0, but will\nraise deprecation warnings.
\n \n- \n
The typing for WebSocketScope and HTTPScope's extensions
key has been\nfixed.
\n \n
\n3.3.4 (2021-04-06)
\n\n- The async_to_sync type error is now a warning due the high false negative\nrate when trying to detect coroutine-returning callables in Python.
\n
\n3.3.3 (2021-04-06)
\n\n
\n... (truncated)
\n \n\nCommits
\n\n8b61513
Releasing 3.5.0 \nb2e1c9d
Fixed pytest_asyncio deprecation warning. \n2eda551
Added testing for Python 3.10. \n02fecb6
Drop Python 3.6 (#307) \n6689c0a
Added stacklevel to warning in AsyncToSync. \n4364f9b
Changed how StatelessServer handles event loops \n7bc055c
Update implementations.rst (#295) \nc758984
Move current_task import choice to module definition time \ndfe87b2
Fixed #292: Use get_event_loop in class-level code \nb3a65e3
Removed class variable which has been unused since a0bbe90 \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1610/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": 1124191982, "node_id": "PR_kwDOBm6k_c4yFTCp", "number": 1629, "title": "Update pytest requirement from <6.3.0,>=5.2.2 to >=5.2.2,<7.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-02-04T13:14:10Z", "updated_at": "2022-03-06T01:30:06Z", "closed_at": "2022-03-06T01:30:06Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1629", "body": "Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version.\n\nRelease notes
\nSourced from pytest's releases.
\n\n7.0.0
\npytest 7.0.0 (2022-02-03)
\n(Please see the full set of changes for this release also in the 7.0.0rc1 notes below)
\nDeprecations
\n\n- \n
#9488: If custom subclasses of nodes like pytest.Item
{.interpreted-text role="class"} override the\n__init__
method, they should take **kwargs
. See\nuncooperative-constructors-deprecated
{.interpreted-text role="ref"} for details.
\nNote that a deprection warning is only emitted when there is a conflict in the\narguments pytest expected to pass. This deprecation was already part of pytest\n7.0.0rc1 but wasn't documented.
\n \n
\nBug Fixes
\n\n- #9355: Fixed error message prints function decorators when using assert in Python 3.8 and above.
\n- #9396: Ensure
pytest.Config.inifile
{.interpreted-text role="attr"} is available during the pytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>
{.interpreted-text role="func"} hook (regression during 7.0.0rc1
). \n
\nImproved Documentation
\n\n- #9404: Added extra documentation on alternatives to common misuses of [pytest.warns(None)]{.title-ref} ahead of its deprecation.
\n- #9505: Clarify where the configuration files are located. To avoid confusions documentation mentions\nthat configuration file is located in the root of the repository.
\n
\nTrivial/Internal Changes
\n\n- #9521: Add test coverage to assertion rewrite path.
\n
\npytest 7.0.0rc1 (2021-12-06)
\nBreaking Changes
\n\n- \n
#7259: The Node.reportinfo() <non-python tests>
{.interpreted-text role="ref"} function first return value type has been expanded from [py.path.local | str]{.title-ref} to [os.PathLike[str] | str]{.title-ref}.
\nMost plugins which refer to [reportinfo()]{.title-ref} only define it as part of a custom pytest.Item
{.interpreted-text role="class"} implementation.\nSince [py.path.local]{.title-ref} is a [os.PathLike[str]]{.title-ref}, these plugins are unaffacted.
\nPlugins and users which call [reportinfo()]{.title-ref}, use the first return value and interact with it as a [py.path.local]{.title-ref}, would need to adjust by calling [py.path.local(fspath)]{.title-ref}.\nAlthough preferably, avoid the legacy [py.path.local]{.title-ref} and use [pathlib.Path]{.title-ref}, or use [item.location]{.title-ref} or [item.path]{.title-ref}, instead.
\nNote: pytest was not able to provide a deprecation period for this change.
\n \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n3554b83
Add note to changelog \n6ea7f99
Prepare release version 7.0.0 \n737b220
[7.0.x] releasing: Add template for major releases (#9597) \n7fa3972
[7.0.x] releasing: Always set doc_version (#9590) \nb304499
[7.0.x] Make 'warnings' and 'deselected' in assert_outcomes optional (#9566) \nf17525d
[7.0.x] doc: Add ellipsis to warning usecase list (#9562) \n0a7be97
ci: Bump up timeout (#9565) \nc17908c
[7.0.x] doc: Recategorize 7.0.0 changelog items (#9564) \nab549bb
[7.0.x] Add missing cooperative constructor changelog (#9563) \n4b1707f
[7.0.x] Autouse linearization graph (#9557) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1629/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": 1125973221, "node_id": "PR_kwDOBm6k_c4yK44E", "number": 1631, "title": "Update pytest-asyncio requirement from <0.17,>=0.10 to >=0.10,<0.19", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-02-07T13:13:19Z", "updated_at": "2022-03-06T01:29:54Z", "closed_at": "2022-03-06T01:29:53Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1631", "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n\nRelease notes
\nSourced from pytest-asyncio's releases.
\n\npytest-asyncio 0.18.0
\n
\ntitle: 'pytest-asyncio: pytest support for asyncio'
\n
\n
\n
\n
\n
\npytest-asyncio is an Apache2 licensed library, written in Python, for\ntesting asyncio code with pytest.
\nasyncio code is usually written in the form of coroutines, which makes\nit slightly more difficult to test using normal testing tools.\npytest-asyncio provides useful fixtures and markers to make testing\neasier.
\n@pytest.mark.asyncio\nasync def test_some_asyncio_code():\n res = await library.do_something()\n assert b"expected result" == res\n
\npytest-asyncio has been strongly influenced by\npytest-tornado.
\nFeatures
\n\n- fixtures for creating and injecting versions of the asyncio event\nloop
\n- fixtures for injecting unused tcp/udp ports
\n- pytest markers for treating tests as asyncio coroutines
\n- easy testing with non-default event loops
\n- support for [async def]{.title-ref} fixtures and async generator\nfixtures
\n- support auto mode to handle all async fixtures and tests\nautomatically by asyncio; provide strict mode if a test suite\nshould work with different async frameworks simultaneously, e.g.\n
asyncio
and trio
. \n
\nInstallation
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1631/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": 1101705012, "node_id": "PR_kwDOBm6k_c4w7eqc", "number": 1593, "title": "Update pytest-asyncio requirement from <0.17,>=0.10 to >=0.10,<0.18", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2022-01-13T13:11:50Z", "updated_at": "2022-02-07T13:13:24Z", "closed_at": "2022-02-07T13:13:23Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1593", "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n\nRelease notes
\nSourced from pytest-asyncio's releases.
\n\npytest-asyncio 0.17.0
\n
\ntitle: 'pytest-asyncio: pytest support for asyncio'
\n
\n
\n
\n
\n
\npytest-asyncio is an Apache2 licensed library, written in Python, for\ntesting asyncio code with pytest.
\nasyncio code is usually written in the form of coroutines, which makes\nit slightly more difficult to test using normal testing tools.\npytest-asyncio provides useful fixtures and markers to make testing\neasier.
\n@pytest.mark.asyncio\nasync def test_some_asyncio_code():\n res = await library.do_something()\n assert b"expected result" == res\n
\npytest-asyncio has been strongly influenced by\npytest-tornado.
\nFeatures
\n\n- fixtures for creating and injecting versions of the asyncio event\nloop
\n- fixtures for injecting unused tcp/udp ports
\n- pytest markers for treating tests as asyncio coroutines
\n- easy testing with non-default event loops
\n- support for [async def]{.title-ref} fixtures and async generator\nfixtures
\n- support auto mode to handle all async fixtures and tests\nautomatically by asyncio; provide strict mode if a test suite\nshould work with different async frameworks simultaneously, e.g.\n
asyncio
and trio
. \n
\nInstallation
\n\n
\n... (truncated)
\n \n\nCommits
\n\n2e2d5d2
Bump to 0.17 release \n90436c9
Fix pandoc installation procedure \nd291c66
Convert README.rst to Markdown for making githun release \n141937b
Fix release artifacts \n696cf7d
Fix trove classifier for asyncio \n8ccb306
Build on tag \ncd84987
Release process automation (#252) \n2eb12a7
Setup GitHub Workflows linter and yaml-reformatter (#253) \nd28b826
Bump codecov/codecov-action from 1 to 2.1.0 (#251) \n2f523ba
Configure dependabot version updater (#250) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1593/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": 1120990806, "node_id": "PR_kwDOBm6k_c4x6zZ5", "number": 1617, "title": "Ensure template_path always uses \"/\" to match jinja", "user": {"value": 3526913, "label": "cb160"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2022-02-01T17:20:30Z", "updated_at": "2022-02-03T01:58:35Z", "closed_at": "2022-02-03T01:58:35Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1617", "body": "This PR shoudl fix #1545 \r\n\r\nThe existing code substituted / for \\, assuming this was the right behaviour for windows. But on Windows, Jinja still uses / for the template list - See https://github.com/pallets/jinja/blob/896a62135bcc151f2997e028c5125bec2cb2431f/src/jinja2/loaders.py#L225", "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/1617/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": 1122451096, "node_id": "PR_kwDOBm6k_c4x_mXy", "number": 1626, "title": "Try test suite against macOS and Windows", "user": {"value": 9599, "label": "simonw"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2022-02-02T22:26:51Z", "updated_at": "2022-02-03T01:22:44Z", "closed_at": null, "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1626", "body": "Refs #1625", "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/1626/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": 1119413338, "node_id": "PR_kwDOBm6k_c4x1kCu", "number": 1616, "title": "Bump black from 21.12b0 to 22.1.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2022-01-31T13:13:46Z", "updated_at": "2022-02-02T22:23:52Z", "closed_at": "2022-02-02T22:23:51Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1616", "body": "Bumps [black](https://github.com/psf/black) from 21.12b0 to 22.1.0.\n\nRelease notes
\nSourced from black's releases.
\n\n22.1.0
\nAt long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.
\nHighlights
\n\n- Remove Python 2 support (#2740)
\n- Introduce the
--preview
flag (#2752) \n
\nStyle
\n\n- Deprecate
--experimental-string-processing
and move the functionality under --preview
(#2789) \n- For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
\n- Black now normalizes string prefix order (#2297)
\n- Remove spaces around power operators if both operands are simple (#2726)
\n- Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
\n- Use parentheses for attribute access on decimal float and int literals (#2799)
\n- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
\n- Treat blank lines in stubs the same inside top-level if statements (#2820)
\n- Fix unstable formatting with semicolons and arithmetic expressions (#2817)
\n- Fix unstable formatting around magic trailing comma (#2572)
\n
\nParser
\n\n- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}
(#2686) \n- Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b
(#2716) \n- Fix call patterns that contain as-expressions with keyword arguments, like
case Foo(bar=baz as quux)
(#2749) \n- Tuple unpacking on
return
and yield
constructs now implies 3.8+ (#2700) \n- Unparenthesized tuples on annotated assignments (e.g
values: Tuple[int, ...] = 1, 2, 3
) now implies 3.8+ (#2708) \n- Fix handling of standalone
match()
or case()
when there is a trailing newline or a comment inside of the parentheses. (#2760) \nfrom __future__ import annotations
statement now implies Python 3.7+ (#2690) \n
\nPerformance
\n\n- Speed-up the new backtracking parser about 4X in general (enabled when
--target-version
is set to 3.10 and higher). (#2728) \n- Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)
\n
\nConfiguration
\n\n- Do not accept bare carriage return line endings in pyproject.toml (#2408)
\n- Add configuration option (
python-cell-magics
) to format cells with custom magics in Jupyter Notebooks (#2744) \n- Allow setting custom cache directory on all platforms with environment variable
BLACK_CACHE_DIR
(#2739). \n- Enable Python 3.10+ by default, without any extra need to specify -
-target-version=py310
. (#2758) \n- Make passing
SRC
or --code
mandatory and mutually exclusive (#2804) \n
\nOutput
\n\n- Improve error message for invalid regular expression (#2678)
\n- Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
\n- No longer color diff headers white as it's unreadable in light themed terminals (#2691)
\n- Text coloring added in the final statistics (#2712)
\n- Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)
\n
\nPackaging
\n\n- All upper version bounds on dependencies have been removed (#2718)
\ntyping-extensions
is no longer a required dependency in Python 3.10+ (#2772) \n- Set
click
lower bound to 8.0.0
as Black crashes on 7.1.2
(#2791) \n
\n\n
\n... (truncated)
\n \n\nChangelog
\nSourced from black's changelog.
\n\n22.1.0
\nAt long last, Black is no longer a beta product! This is the first non-beta release\nand the first release covered by our new stability policy.
\nHighlights
\n\n- Remove Python 2 support (#2740)
\n- Introduce the
--preview
flag (#2752) \n
\nStyle
\n\n- Deprecate
--experimental-string-processing
and move the functionality under\n--preview
(#2789) \n- For stubs, one blank line between class attributes and methods is now kept if there's\nat least one pre-existing blank line (#2736)
\n- Black now normalizes string prefix order (#2297)
\n- Remove spaces around power operators if both operands are simple (#2726)
\n- Work around bug that causes unstable formatting in some cases in the presence of the\nmagic trailing comma (#2807)
\n- Use parentheses for attribute access on decimal float and int literals (#2799)
\n- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex\nliterals (#2799)
\n- Treat blank lines in stubs the same inside top-level
if
statements (#2820) \n- Fix unstable formatting with semicolons and arithmetic expressions (#2817)
\n- Fix unstable formatting around magic trailing comma (#2572)
\n
\nParser
\n\n- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}
\n(#2686) \n- Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b
\n(#2716) \n- Fix call patterns that contain as-expressions with keyword arguments, like\n
case Foo(bar=baz as quux)
(#2749) \n- Tuple unpacking on
return
and yield
constructs now implies 3.8+ (#2700) \n- Unparenthesized tuples on annotated assignments (e.g\n
values: Tuple[int, ...] = 1, 2, 3
) now implies 3.8+ (#2708) \n- Fix handling of standalone
match()
or case()
when there is a trailing newline or a\ncomment inside of the parentheses. (#2760) \nfrom __future__ import annotations
statement now implies Python 3.7+ (#2690) \n
\nPerformance
\n\n- Speed-up the new backtracking parser about 4X in general (enabled when\n
--target-version
is set to 3.10 and higher). (#2728) \n- Black is now compiled with mypyc for an overall 2x\nspeed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009,\n#2431)
\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=21.12b0&new-version=22.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 ", "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/1616/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": 1122414274, "node_id": "PR_kwDOBm6k_c4x_evE", "number": 1622, "title": "Test against Python 3.11-dev", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2022-02-02T21:39:38Z", "updated_at": "2022-02-02T21:58:53Z", "closed_at": "2022-02-02T21:58:53Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1622", "body": "Refs #1621", "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/1622/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": 1079129258, "node_id": "PR_kwDOBm6k_c4vynly", "number": 1554, "title": "TableView refactor", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-12-13T23:16:04Z", "updated_at": "2021-12-20T23:52:11Z", "closed_at": "2021-12-20T23:52:04Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1554", "body": "I'm starting a PR with almost nothing in it so I can use the GitHub code commenting feature to add a bunch of comments to the code I intend to refactor.\r\n\r\nRelated issues:\r\n\r\n- #617 \r\n- #715 \r\n- #870\r\n- #1518", "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/1554/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": 1082743068, "node_id": "PR_kwDOBm6k_c4v-izc", "number": 1559, "title": "filters_from_request plugin hook, now used in TableView", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 6, "created_at": "2021-12-16T23:59:33Z", "updated_at": "2021-12-17T23:09:41Z", "closed_at": "2021-12-17T19:02:15Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1559", "body": "New plugin hook, refs #473\r\n\r\nUsed it to extract the logic from TableView that handles _search and\r\n_through and _where - refs #1518", "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/1559/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": 1083246400, "node_id": "PR_kwDOBm6k_c4wAMK8", "number": 1562, "title": "Update janus requirement from <0.8,>=0.6.2 to >=0.6.2,<1.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2021-12-17T13:11:10Z", "updated_at": "2021-12-17T23:08:29Z", "closed_at": "2021-12-17T23:08:28Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1562", "body": "Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version.\n\nRelease notes
\nSourced from janus's releases.
\n\njanus 1.0.0 release
\n\n- Dropped Python 3.6 support
\n- Janus is marked as stable, no API changes was made for years
\n
\n
\n \n\nChangelog
\nSourced from janus's changelog.
\n\n1.0.0 (2021-12-17)
\n\n- Drop Python 3.6 support
\n
\n0.7.0 (2021-11-24)
\n\n- Add SyncQueue and AsyncQueue Protocols to provide type hints for sync and async queues #374
\n
\n0.6.2 (2021-10-24)
\n\n- Fix Python 3.10 compatibility #358
\n
\n0.6.1 (2020-10-26)
\n\n0.6.0 (2020-10-10)
\n\n0.5.0 (2020-04-23)
\n\n- Remove explicit loop arguments and forbid creating queues outside event loops #246
\n
\n0.4.0 (2018-07-28)
\n\n0.3.2 (2018-07-06)
\n\n- Fixed python 3.7 support #97
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1562/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": 793002853, "node_id": "MDExOlB1bGxSZXF1ZXN0NTYwNzYwMTQ1", "number": 1204, "title": "WIP: Plugin includes", "user": {"value": 9599, "label": "simonw"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-01-25T03:59:06Z", "updated_at": "2021-12-17T07:10:49Z", "closed_at": null, "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1204", "body": "Refs #1191\r\n\r\nNext steps:\r\n\r\n- [ ] Get comfortable that this pattern is the right way to go\r\n- [ ] Implement it for all of the other pages, not just the table page\r\n- [ ] Add a new set of plugin tests that exercise ALL of these new hook locations\r\n- [ ] Document, then ship", "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/1204/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": 1072135269, "node_id": "PR_kwDOBm6k_c4vb__Y", "number": 1543, "title": "Bump black from 21.11b1 to 21.12b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-12-06T13:11:16Z", "updated_at": "2021-12-13T23:22:29Z", "closed_at": "2021-12-13T23:22:29Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1543", "body": "Bumps [black](https://github.com/psf/black) from 21.11b1 to 21.12b0.\n\nRelease notes
\nSourced from black's releases.
\n\n21.12b0
\nBlack
\n\n- Fix determination of f-string expression spans (#2654)
\n- Fix bad formatting of error messages about EOF in multi-line statements (#2343)
\n- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
\n
\nJupyter Notebook support
\n\n- Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with
%%writefile
. (#2630) \n- Fix assignment to environment variables in Jupyter Notebooks (#2642)
\n
\nPython 3.10 support
\n\n- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668) \n- Fix
match
statements with open sequence subjects, like match a, b:
or match a, *b:
(#2639) (#2659) \n- Fix
match
/case
statements that contain match
/case
soft keywords multiple times, like match re.match()
(#2661) \n- Fix
case
statements with an inline body (#2665) \n- Fix styling of starred expressions inside
match
subject (#2667) \n- Fix parser error location on invalid syntax in a
match
statement (#2649) \n- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
\n- Improve parsing performance on code that uses
match
under --target-version py310
up to ~50% (#2670) \n
\nPackaging
\n\n
\nThank you!
\n\nAnd also congrats to first contributors!
\n\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.12b0
\nBlack
\n\n- Fix determination of f-string expression spans (#2654)
\n- Fix bad formatting of error messages about EOF in multi-line statements (#2343)
\n- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
\n
\nJupyter Notebook support
\n\n- Cell magics are now only processed if they are known Python cell magics. Earlier, all\ncell magics were tokenized, leading to possible indentation errors e.g. with\n
%%writefile
. (#2630) \n- Fix assignment to environment variables in Jupyter Notebooks (#2642)
\n
\nPython 3.10 support
\n\n- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668) \n- Fix
match
statements with open sequence subjects, like match a, b:
or\nmatch a, *b:
(#2639) (#2659) \n- Fix
match
/case
statements that contain match
/case
soft keywords multiple\ntimes, like match re.match()
(#2661) \n- Fix
case
statements with an inline body (#2665) \n- Fix styling of starred expressions inside
match
subject (#2667) \n- Fix parser error location on invalid syntax in a
match
statement (#2649) \n- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
\n- Improve parsing performance on code that uses
match
under --target-version py310
\nup to ~50% (#2670) \n
\nPackaging
\n\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.11b1&new-version=21.12b0)](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 ", "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/1543/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": 1076834768, "node_id": "PR_kwDOBm6k_c4vrZxV", "number": 1548, "title": "Update pytest-xdist requirement from <2.5,>=2.2.1 to >=2.2.1,<2.6", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-12-10T13:12:06Z", "updated_at": "2021-12-13T23:22:22Z", "closed_at": "2021-12-13T23:22:21Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1548", "body": "Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version.\n\nChangelog
\nSourced from pytest-xdist's changelog.
\n\npytest-xdist 2.5.0 (2021-12-10)
\nFeatures
\n\n- \n
[#722](https://github.com/pytest-dev/pytest-xdist/issues/722) <https://github.com/pytest-dev/pytest-xdist/issues/722>
_: Full compatibility with pytest 7 - no deprecation warnings or use of legacy features.
\n \n- \n
[#733](https://github.com/pytest-dev/pytest-xdist/issues/733) <https://github.com/pytest-dev/pytest-xdist/issues/733>
_: New --dist=loadgroup
option, which ensures all tests marked with @pytest.mark.xdist_group
run in the same session/worker. Other tests run distributed as in --dist=load
.
\n \n
\nTrivial Changes
\n\n- \n
[#708](https://github.com/pytest-dev/pytest-xdist/issues/708) <https://github.com/pytest-dev/pytest-xdist/issues/708>
_: Use @pytest.hookspec
decorator to declare hook options in newhooks.py
to avoid warnings in pytest 7.0
.
\n \n- \n
[#719](https://github.com/pytest-dev/pytest-xdist/issues/719) <https://github.com/pytest-dev/pytest-xdist/issues/719>
_: Use up-to-date setup.cfg
/pyproject.toml
packaging setup.
\n \n- \n
[#720](https://github.com/pytest-dev/pytest-xdist/issues/720) <https://github.com/pytest-dev/pytest-xdist/issues/720>
_: Require pytest>=6.2.0.
\n \n- \n
[#721](https://github.com/pytest-dev/pytest-xdist/issues/721) <https://github.com/pytest-dev/pytest-xdist/issues/721>
_: Started using type annotations and mypy checking internally. The types are incomplete and not published.
\n \n
\npytest-xdist 2.4.0 (2021-09-20)
\nFeatures
\n\n- \n
[#696](https://github.com/pytest-dev/pytest-xdist/issues/696) <https://github.com/pytest-dev/pytest-xdist/issues/696>
_: On Linux, the process title now changes to indicate the current worker state (running/idle).
\nDepends on the setproctitle <https://pypi.org/project/setproctitle/>
__ package, which can be installed with pip install pytest-xdist[setproctitle]
.
\n \n- \n
[#704](https://github.com/pytest-dev/pytest-xdist/issues/704) <https://github.com/pytest-dev/pytest-xdist/issues/704>
_: Add support for Python 3.10.
\n \n
\npytest-xdist 2.3.0 (2021-06-16)
\nDeprecations and Removals
\n\n[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654>
_: Python 3.5 is no longer supported. \n
\nFeatures
\n\n[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646>
_: Add --numprocesses=logical
flag, which automatically uses the number of logical CPUs available, instead of physical CPUs with auto
. \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n13f3934
Remove unnecessary skip from test_logfinish_hook as we require pytest>=6.2 \nc76d562
Skip test_warning_captured_deprecated_in_pytest_6 in pytest>=7.1 \n5f78c71
Fix CHANGELOG header \nc8bbc03
Release 2.5.0 \n8dbf367
Merge pull request #738 from pytest-dev/pre-commit-ci-update-config \na25c14b
[pre-commit.ci] pre-commit autoupdate \n110c114
Merge pull request #734 from nicoddemus/revamp-readme \n83bdbf4
Revamp README \n630c1eb
Merge pull request #733 from baekdohyeop/feature-loadgroup \n62e50d0
Address review \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1548/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": 1062414013, "node_id": "PR_kwDOBm6k_c4u9wQq", "number": 1529, "title": "Update janus requirement from <0.7,>=0.6.2 to >=0.6.2,<0.8", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-11-24T13:12:42Z", "updated_at": "2021-11-30T02:37:13Z", "closed_at": "2021-11-30T02:37:13Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1529", "body": "Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version.\n\nChangelog
\nSourced from janus's changelog.
\n\n0.7.0 (2021-11-24)
\n\n- Add SyncQueue and AsyncQueue Protocols to provide type hints for sync and async queues #374
\n
\n0.6.2 (2021-10-24)
\n\n- Fix Python 3.10 compatibility #358
\n
\n0.6.1 (2020-10-26)
\n\n0.6.0 (2020-10-10)
\n\n0.5.0 (2020-04-23)
\n\n- Remove explicit loop arguments and forbid creating queues outside event loops #246
\n
\n0.4.0 (2018-07-28)
\n\n0.3.2 (2018-07-06)
\n\n- Fixed python 3.7 support #97
\n
\n0.3.1 (2018-01-30)
\n\n- Fixed bug with join() in case tasks are added by sync_q.put() #75
\n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1529/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": 1057340779, "node_id": "PR_kwDOBm6k_c4utsKs", "number": 1516, "title": "Bump black from 21.9b0 to 21.11b1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-11-18T13:11:12Z", "updated_at": "2021-11-30T02:35:29Z", "closed_at": "2021-11-30T02:35:29Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1516", "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b1.\n\nRelease notes
\nSourced from black's releases.
\n\n21.11b1
\nBlack
\n\n- Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
\n
\n21.11b0
\nBlack
\n\n- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
\n- Add experimental PyPy support (#2559)
\n- Add partial support for the match statement. As it's experimental, it's only enabled\nwhen
--target-version py310
is explicitly specified (#2586) \n- Add support for parenthesized with (#2586)
\n- Declare support for Python 3.10 for running Black (#2562)
\n
\nIntegrations
\n\n- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
\n- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613) \n
\n21.10b0
\nBlack
\n\n- Document stability policy, that will apply for non-beta releases (#2529)
\n- Add new
--workers
parameter (#2514) \n- Fixed feature detection for positional-only arguments in lambdas (#2532)
\n- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
\n- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
\n- Deprecate Python 2 formatting support (#2523)
\n
\nBlackd
\n\n- Remove dependency on aiohttp-cors (#2500)
\n- Bump required aiohttp version to 3.7.4 (#2509)
\n
\nBlack-Primer
\n\n- Add primer support for --projects (#2555)
\n- Print primer summary after individual failures (#2570)
\n
\nIntegrations
\n\n- Allow to pass
target_version
in the vim plugin (#1319) \n- Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
\n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.11b1
\nBlack
\n\n- Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
\n
\n21.11b0
\nBlack
\n\n- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
\n- Add experimental PyPy support (#2559)
\n- Add partial support for the match statement. As it's experimental, it's only enabled\nwhen
--target-version py310
is explicitly specified (#2586) \n- Add support for parenthesized with (#2586)
\n- Declare support for Python 3.10 for running Black (#2562)
\n
\nIntegrations
\n\n- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
\n- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613) \n
\n21.10b0
\nBlack
\n\n- Document stability policy, that will apply for non-beta releases (#2529)
\n- Add new
--workers
parameter (#2514) \n- Fixed feature detection for positional-only arguments in lambdas (#2532)
\n- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
\n- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
\n- Deprecate Python 2 formatting support (#2523)
\n
\nBlackd
\n\n- Remove dependency on aiohttp-cors (#2500)
\n- Bump required aiohttp version to 3.7.4 (#2509)
\n
\nBlack-Primer
\n\n- Add primer support for --projects (#2555)
\n- Print primer summary after individual failures (#2570)
\n
\nIntegrations
\n\n- Allow to pass
target_version
in the vim plugin (#1319) \n- Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
\n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.11b1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1516/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": 1053655062, "node_id": "PR_kwDOBm6k_c4uiE0n", "number": 1508, "title": "Update docutils requirement from <0.18 to <0.19", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-11-15T13:15:47Z", "updated_at": "2021-11-30T02:35:19Z", "closed_at": "2021-11-30T02:35:19Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1508", "body": "Updates the requirements on [docutils](http://docutils.sourceforge.net/) to permit the latest version.\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1508/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": 1066023866, "node_id": "PR_kwDOBm6k_c4vIJqi", "number": 1537, "title": "Update aiofiles requirement from <0.8,>=0.4 to >=0.4,<0.9", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-11-29T13:13:52Z", "updated_at": "2021-11-30T02:29:55Z", "closed_at": "2021-11-30T02:29:54Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1537", "body": "Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version.\n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@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 ", "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/1537/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": 1033678984, "node_id": "PR_kwDOBm6k_c4tjgJ8", "number": 1495, "title": "Allow routes to have extra options", "user": {"value": 536941, "label": "fgregg"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 5, "created_at": "2021-10-22T15:00:45Z", "updated_at": "2021-11-19T15:36:27Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1495", "body": "Right now, datasette routes can only be a 2-tuple of `(regex, view_fn)`. \r\n\r\nIf it was possible for datasette to handle extra options, like [standard Django does](https://docs.djangoproject.com/en/3.2/topics/http/urls/#passing-extra-options-to-view-functions), it would add flexibility for plugin authors.\r\n\r\nFor example, if extra options were enabled, then it would be easy to make a single table the home page (#1284). This plugin would accomplish it.\r\n\r\n```python\r\nfrom datasette import hookimpl\r\nfrom datasette.views.table import TableView\r\n\r\n@hookimpl\r\ndef register_routes(datasette):\r\n return [\r\n (r\"^/$\", TableView.as_view(datasette), {'db_name': 'DB_NAME',\r\n 'table': 'TABLE_NAME'})\r\n ]\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/1495/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": 1056117435, "node_id": "PR_kwDOBm6k_c4up0R0", "number": 1514, "title": "Bump black from 21.9b0 to 21.11b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2021-11-17T13:13:55Z", "updated_at": "2021-11-18T13:11:17Z", "closed_at": "2021-11-18T13:11:15Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1514", "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.11b0.\n\nRelease notes
\nSourced from black's releases.
\n\n21.11b0
\nBlack
\n\n- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
\n- Add experimental PyPy support (#2559)
\n- Add partial support for the match statement. As it's experimental, it's only enabled\nwhen
--target-version py310
is explicitly specified (#2586) \n- Add support for parenthesized with (#2586)
\n- Declare support for Python 3.10 for running Black (#2562)
\n
\nIntegrations
\n\n- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
\n- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613) \n
\n21.10b0
\nBlack
\n\n- Document stability policy, that will apply for non-beta releases (#2529)
\n- Add new
--workers
parameter (#2514) \n- Fixed feature detection for positional-only arguments in lambdas (#2532)
\n- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
\n- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
\n- Deprecate Python 2 formatting support (#2523)
\n
\nBlackd
\n\n- Remove dependency on aiohttp-cors (#2500)
\n- Bump required aiohttp version to 3.7.4 (#2509)
\n
\nBlack-Primer
\n\n- Add primer support for --projects (#2555)
\n- Print primer summary after individual failures (#2570)
\n
\nIntegrations
\n\n- Allow to pass
target_version
in the vim plugin (#1319) \n- Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
\n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.11b0
\nBlack
\n\n- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax\ndetection (#2592)
\n- Add experimental PyPy support (#2559)
\n- Add partial support for the match statement. As it's experimental, it's only enabled\nwhen
--target-version py310
is explicitly specified (#2586) \n- Add support for parenthesized with (#2586)
\n- Declare support for Python 3.10 for running Black (#2562)
\n
\nIntegrations
\n\n- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
\n- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613) \n
\n21.10b0
\nBlack
\n\n- Document stability policy, that will apply for non-beta releases (#2529)
\n- Add new
--workers
parameter (#2514) \n- Fixed feature detection for positional-only arguments in lambdas (#2532)
\n- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
\n- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
\n- Deprecate Python 2 formatting support (#2523)
\n
\nBlackd
\n\n- Remove dependency on aiohttp-cors (#2500)
\n- Bump required aiohttp version to 3.7.4 (#2509)
\n
\nBlack-Primer
\n\n- Add primer support for --projects (#2555)
\n- Print primer summary after individual failures (#2570)
\n
\nIntegrations
\n\n- Allow to pass
target_version
in the vim plugin (#1319) \n- Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
\n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.11b0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1514/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": 1041158024, "node_id": "PR_kwDOBm6k_c4t7RKr", "number": 1500, "title": "Bump black from 21.9b0 to 21.10b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2021-11-01T13:11:23Z", "updated_at": "2021-11-17T13:14:00Z", "closed_at": "2021-11-17T13:13:58Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1500", "body": "Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.10b0.\n\nRelease notes
\nSourced from black's releases.
\n\n21.10b0
\nBlack
\n\n- Document stability policy, that will apply for non-beta releases (#2529)
\n- Add new
--workers
parameter (#2514) \n- Fixed feature detection for positional-only arguments in lambdas (#2532)
\n- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
\n- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
\n- Deprecate Python 2 formatting support (#2523)
\n
\nBlackd
\n\n- Remove dependency on aiohttp-cors (#2500)
\n- Bump required aiohttp version to 3.7.4 (#2509)
\n
\nBlack-Primer
\n\n- Add primer support for --projects (#2555)
\n- Print primer summary after individual failures (#2570)
\n
\nIntegrations
\n\n- Allow to pass
target_version
in the vim plugin (#1319) \n- Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
\n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.10b0
\nBlack
\n\n- Document stability policy, that will apply for non-beta releases (#2529)
\n- Add new
--workers
parameter (#2514) \n- Fixed feature detection for positional-only arguments in lambdas (#2532)
\n- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
\n- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed\neven though it has been removed (#2580)
\n- Deprecate Python 2 formatting support (#2523)
\n
\nBlackd
\n\n- Remove dependency on aiohttp-cors (#2500)
\n- Bump required aiohttp version to 3.7.4 (#2509)
\n
\nBlack-Primer
\n\n- Add primer support for --projects (#2555)
\n- Print primer summary after individual failures (#2570)
\n
\nIntegrations
\n\n- Allow to pass
target_version
in the vim plugin (#1319) \n- Install build tools in docker file and use multi-stage build to keep the image size\ndown (#2582)
\n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.9b0&new-version=21.10b0)](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 ", "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/1500/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": 1055402144, "node_id": "PR_kwDOBm6k_c4unfnq", "number": 1512, "title": "New pattern for async view classes", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2021-11-16T21:55:44Z", "updated_at": "2021-11-17T01:39:54Z", "closed_at": "2021-11-17T01:39:44Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1512", "body": "Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism.", "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/1512/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": 1029100823, "node_id": "PR_kwDOBm6k_c4tU5cz", "number": 1494, "title": "Update pytest-asyncio requirement from <0.16,>=0.10 to >=0.10,<0.17", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-10-18T13:14:17Z", "updated_at": "2021-10-24T22:22:40Z", "closed_at": "2021-10-24T22:22:39Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1494", "body": "Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version.\n\nCommits
\n\nf2fe98e
0.16.0 \n4e1df31
Remove obsolete test, add make test \n6ec7647
feat: Add support for Python 3.10. \n42ff5d1
ci: Include Python 3.10 in the CI test run. \nbe3b327
build: Include Python 3.10 in Tox test runs. \n1c283bd
refactor: test_async_fixtures_with_finalizer no longer trigger a DeprecationW... \n2751982
refactor: Replaced tests asserting that the event loop is properly closed. \n70989fd
refactor: Grouped test cases together that are related to the use of the asyn... \nb27abe8
refactor: Removed TestUnexistingLoop.remove_loop fixture, because it has no e... \ne3ec312
Adjusted Hypothesis integration test to use the same event loop initializatio... \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1494/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": 1020436713, "node_id": "PR_kwDOBm6k_c4s6bJm", "number": 1481, "title": "Fix compatibility with Python 3.10", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 13, "created_at": "2021-10-07T20:34:23Z", "updated_at": "2021-10-24T22:19:55Z", "closed_at": "2021-10-24T22:19:54Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1481", "body": null, "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/1481/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": 991575770, "node_id": "MDExOlB1bGxSZXF1ZXN0NzMwMDIwODY3", "number": 1467, "title": "Add Authorization header when CORS flag is set", "user": {"value": 3058200, "label": "jameslittle230"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-09-08T22:14:41Z", "updated_at": "2021-10-17T02:29:07Z", "closed_at": "2021-10-14T18:54:18Z", "author_association": "NONE", "pull_request": "simonw/datasette/pulls/1467", "body": "This PR adds the [`Access-Control-Allow-Headers`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) flag when CORS mode is enabled.\r\n\r\nThis would fix https://github.com/simonw/datasette-auth-tokens/issues/4. When making cross-origin requests, the server must respond with all allowable HTTP headers. A Datasette instance using auth tokens must accept the `Authorization` HTTP header in order for cross-origin authenticated requests to take place.\r\n\r\nPlease let me know if there's a better way of doing this! I couldn't figure out a way to change the app's response from the plugin itself, so I'm starting here. If you'd rather this logic live in the plugin, I'd love any guidance you're able to give.", "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/1467/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": 988555009, "node_id": "MDExOlB1bGxSZXF1ZXN0NzI3NDM2NDA0", "number": 1458, "title": "Rework the `--static` documentation a bit", "user": {"value": 51016, "label": "ctb"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-09-05T17:08:48Z", "updated_at": "2021-10-15T13:24:29Z", "closed_at": "2021-10-14T18:39:55Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1458", "body": "Per https://github.com/simonw/datasette/issues/1457, I was confused by the current docs and took a few minutes to sort out what the right combination of locations was.\r\n\r\nThis is a PR that differentiates the docs to split out `/static/` in URL from `--static` option and `./static/` path.\r\n\r\nNot wedded to the details in any way, happy to change to suit.\r\n\r\nFixes #1457.", "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/1458/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": 1026379132, "node_id": "PR_kwDOBm6k_c4tM0JV", "number": 1489, "title": "Update pyyaml requirement from ~=5.3 to >=5.3,<7.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-10-14T13:09:33Z", "updated_at": "2021-10-14T18:10:43Z", "closed_at": "2021-10-14T18:10:42Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1489", "body": "Updates the requirements on [pyyaml](https://github.com/yaml/pyyaml) to permit the latest version.\n\nChangelog
\nSourced from pyyaml's changelog.
\n\n6.0 (2021-10-13)
\n\n5.4.1 (2021-01-20)
\n\n- yaml/pyyaml#480 -- Fix stub compat with older pyyaml versions that may unwittingly load it
\n
\n5.4 (2021-01-19)
\n\n5.3.1 (2020-03-18)
\n\n- yaml/pyyaml#386 -- Prevents arbitrary code execution during python/object/new constructor
\n
\n5.3 (2020-01-06)
\n\n5.2 (2019-12-02)
\n\n
\n... (truncated)
\n \n\nCommits
\n\n8cdff2c
6.0 release \na4fb55e
Update Python 3.10 versions for Windows build \ne45b964
Add Python 3.10 to tox.ini \n4808fba
6.0b1 release \nd5aba40
Omnibus CI/artifact build update \na6d384c
Various setup fixes \n8f3f979
No longer using appveyor \nc274365
The yaml.load{,_all} functions require Loader= now \n2f87ac4
Add a basic test file for yaml.load and yaml.dump \n7bd92df
Makefile tweaks \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1489/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": 1026664511, "node_id": "PR_kwDOBm6k_c4tNtoe", "number": 1490, "title": "Upgrade to httpx 0.20", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2021-10-14T17:51:05Z", "updated_at": "2021-10-14T18:03:45Z", "closed_at": "2021-10-14T18:03:44Z", "author_association": "OWNER", "pull_request": "simonw/datasette/pulls/1490", "body": "Refs #1488 ", "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/1490/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": 991121619, "node_id": "MDExOlB1bGxSZXF1ZXN0NzI5NjMyNjQz", "number": 1463, "title": "Update beautifulsoup4 requirement from <4.10.0,>=4.8.1 to >=4.8.1,<4.11.0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-09-08T13:09:38Z", "updated_at": "2021-10-13T22:35:37Z", "closed_at": "2021-10-13T22:35:36Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1463", "body": "Updates the requirements on [beautifulsoup4](http://www.crummy.com/software/BeautifulSoup/bs4/) to permit the latest version.\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1463/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": 996002181, "node_id": "PR_kwDOBm6k_c4rutdp", "number": 1471, "title": "Bump black from 21.7b0 to 21.9b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-09-14T13:10:35Z", "updated_at": "2021-10-13T21:47:42Z", "closed_at": "2021-10-13T21:47:42Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1471", "body": "Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.9b0.\n\nRelease notes
\nSourced from black's releases.
\n\n21.9b0
\nPackaging
\n\n- Fix missing modules in self-contained binaries (#2466)
\n- Fix missing toml extra used during installation (#2475)
\n
\n21.8b0
\nBlack
\n\n- Add support for formatting Jupyter Notebook files (#2357)
\n- Move from
appdirs
dependency to platformdirs
(#2375) \n- Present a more user-friendly error if .gitignore is invalid (#2414)
\n- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
\n- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
\n- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
\n- Pin
setuptools-scm
build-time dependency version (#2457) \n- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
\n
\nBlackd
\n\n- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
\n
\nIntegrations
\n\n- The provided pre-commit hooks no longer specify
language_version
to avoid overriding default_language_version
(#2430) \n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.9b0
\nPackaging
\n\n- Fix missing modules in self-contained binaries (#2466)
\n- Fix missing toml extra used during installation (#2475)
\n
\n21.8b0
\nBlack
\n\n- Add support for formatting Jupyter Notebook files (#2357)
\n- Move from
appdirs
dependency to platformdirs
(#2375) \n- Present a more user-friendly error if .gitignore is invalid (#2414)
\n- The failsafe for accidentally added backslashes in f-string expressions has been\nhardened to handle more edge cases during quote normalization (#2437)
\n- Avoid changing a function return type annotation's type to a tuple by adding a\ntrailing comma (#2384)
\n- Parsing support has been added for unparenthesized walruses in set literals, set\ncomprehensions, and indices (#2447).
\n- Pin
setuptools-scm
build-time dependency version (#2457) \n- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10\n(#2460)
\n
\nBlackd
\n\n- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that\nscan installed packages (#2440)
\n
\nIntegrations
\n\n- The provided pre-commit hooks no longer specify
language_version
to avoid overriding\ndefault_language_version
(#2430) \n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.7b0&new-version=21.9b0)](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 ", "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/1471/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": 980228553, "node_id": "MDExOlB1bGxSZXF1ZXN0NzIwNTA2MTM1", "number": 1448, "title": "Update pluggy requirement from ~=0.13.0 to >=0.13,<1.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-08-26T13:09:52Z", "updated_at": "2021-10-13T21:11:01Z", "closed_at": "2021-10-13T21:11:00Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1448", "body": "Updates the requirements on [pluggy](https://github.com/pytest-dev/pluggy) to permit the latest version.\n\nChangelog
\nSourced from pluggy's changelog.
\n\npluggy 1.0.0 (2021-08-25)
\nDeprecations and Removals
\n\n- \n
[#116](https://github.com/pytest-dev/pluggy/issues/116) <https://github.com/pytest-dev/pluggy/issues/116>
_: Remove deprecated implprefix
support.\nDecorate hook implementations using an instance of HookimplMarker instead.\nThe deprecation was announced in release 0.7.0
.
\n \n- \n
[#120](https://github.com/pytest-dev/pluggy/issues/120) <https://github.com/pytest-dev/pluggy/issues/120>
_: Remove the deprecated proc
argument to call_historic
.\nUse result_callback
instead, which has the same behavior.\nThe deprecation was announced in release 0.7.0
.
\n \n- \n
[#265](https://github.com/pytest-dev/pluggy/issues/265) <https://github.com/pytest-dev/pluggy/issues/265>
_: Remove the _Result.result
property. Use _Result.get_result()
instead.\nNote that unlike result
, get_result()
raises the exception if the hook raised.\nThe deprecation was announced in release 0.6.0
.
\n \n- \n
[#267](https://github.com/pytest-dev/pluggy/issues/267) <https://github.com/pytest-dev/pluggy/issues/267>
_: Remove official support for Python 3.4.
\n \n- \n
[#272](https://github.com/pytest-dev/pluggy/issues/272) <https://github.com/pytest-dev/pluggy/issues/272>
_: Dropped support for Python 2.\nContinue to use pluggy 0.13.x for Python 2 support.
\n \n- \n
[#308](https://github.com/pytest-dev/pluggy/issues/308) <https://github.com/pytest-dev/pluggy/issues/308>
_: Remove official support for Python 3.5.
\n \n- \n
[#313](https://github.com/pytest-dev/pluggy/issues/313) <https://github.com/pytest-dev/pluggy/issues/313>
_: The internal pluggy.callers
, pluggy.manager
and pluggy.hooks
are now explicitly marked private by a _
prefix (e.g. pluggy._callers
).\nOnly API exported by the top-level pluggy
module is considered public.
\n \n- \n
[#59](https://github.com/pytest-dev/pluggy/issues/59) <https://github.com/pytest-dev/pluggy/issues/59>
_: Remove legacy __multicall__
recursive hook calling system.\nThe deprecation was announced in release 0.5.0
.
\n \n
\nFeatures
\n\n- \n
[#282](https://github.com/pytest-dev/pluggy/issues/282) <https://github.com/pytest-dev/pluggy/issues/282>
_: When registering a hookimpl which is declared as hookwrapper=True
but whose\nfunction is not a generator function, a PluggyValidationError
exception is\nnow raised.
\nPreviously this problem would cause an error only later, when calling the hook.
\nIn the unlikely case that you have a hookwrapper that returns a generator
\n \n
\n\n
\n... (truncated)
\n \n\nCommits
\n\n4259fdd
Fix CHANGELOG title manually \n906abca
Preparing release 1.0.0 \n56eb23c
Rename HOWTORELEASE to RELEASING to follow pytest \nfc6395c
Fix scripts/release.py to use main instead of master \ne04816f
Merge pull request #324 from RonnyPfannschmidt/benchmarks \n1424ab0
add micro benchmarks for hook calling playing with a the number of callers, w... \n5e51864
Merge pull request #323 from RonnyPfannschmidt/switch-to-main \n05c3bbd
switch to main as primary branch \n6b344fb
Merge pull request #319 from RonnyPfannschmidt/pre-commit-update \n71f2d6b
introduce pyupgrade and update black \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1448/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": 1000779422, "node_id": "PR_kwDOBm6k_c4r9CTw", "number": 1474, "title": "Update full_text_search.rst", "user": {"value": 72577720, "label": "MichaelTiemannOSC"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2021-09-20T09:59:45Z", "updated_at": "2021-10-13T21:10:23Z", "closed_at": "2021-10-13T21:10:23Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1474", "body": "Change \"above\" to \"below\" to correct correspondence of reference to example.", "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/1474/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": 1002459220, "node_id": "PR_kwDOBm6k_c4sCfBT", "number": 1476, "title": "Update pytest-xdist requirement from <2.4,>=2.2.1 to >=2.2.1,<2.5", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-09-21T13:13:01Z", "updated_at": "2021-10-13T21:10:03Z", "closed_at": "2021-10-13T21:10:03Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1476", "body": "Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version.\n\nChangelog
\nSourced from pytest-xdist's changelog.
\n\npytest-xdist 2.4.0 (2021-09-20)
\nFeatures
\n\n- \n
[#696](https://github.com/pytest-dev/pytest-xdist/issues/696) <https://github.com/pytest-dev/pytest-xdist/issues/696>
_: On Linux, the process title now changes to indicate the current worker state (running/idle).
\nDepends on the setproctitle <https://pypi.org/project/setproctitle/>
__ package, which can be installed with pip install pytest-xdist[setproctitle]
.
\n \n- \n
[#704](https://github.com/pytest-dev/pytest-xdist/issues/704) <https://github.com/pytest-dev/pytest-xdist/issues/704>
_: Add support for Python 3.10.
\n \n
\npytest-xdist 2.3.0 (2021-06-16)
\nDeprecations and Removals
\n\n[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654>
_: Python 3.5 is no longer supported. \n
\nFeatures
\n\n- \n
[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646>
_: Add --numprocesses=logical
flag, which automatically uses the number of logical CPUs available, instead of physical CPUs with auto
.
\nThis is very useful for test suites which are not CPU-bound.
\n \n- \n
[#650](https://github.com/pytest-dev/pytest-xdist/issues/650) <https://github.com/pytest-dev/pytest-xdist/issues/650>
_: Added new pytest_handlecrashitem
hook to allow handling and rescheduling crashed items.
\n \n
\nBug Fixes
\n\n- \n
[#421](https://github.com/pytest-dev/pytest-xdist/issues/421) <https://github.com/pytest-dev/pytest-xdist/issues/421>
_: Copy the parent process sys.path into local workers, to work around execnet's python -c adding the current directory to sys.path.
\n \n- \n
[#638](https://github.com/pytest-dev/pytest-xdist/issues/638) <https://github.com/pytest-dev/pytest-xdist/issues/638>
_: Fix issue caused by changing the branch name of the pytest repository.
\n \n
\nTrivial Changes
\n\n- \n
[#592](https://github.com/pytest-dev/pytest-xdist/issues/592) <https://github.com/pytest-dev/pytest-xdist/issues/592>
_: Replace master with controller where ever possible.
\n \n- \n
[#643](https://github.com/pytest-dev/pytest-xdist/issues/643) <https://github.com/pytest-dev/pytest-xdist/issues/643>
_: Use 'main' to refer to pytest default branch in tox env names.
\n \n
\npytest-xdist 2.2.1 (2021-02-09)
\n\n
\n... (truncated)
\n \n\nCommits
\n\n4b487ed
Manually fix changelog title \necf4d3b
Release 2.4.0 \n87d8979
Merge pull request #704 from hugovk/add-3.10 \nb4544c8
Merge pull request #706 from pytest-dev/pre-commit-ci-update-config \n66dc390
[pre-commit.ci] pre-commit autoupdate \ne0ce1b7
Add news file to add support for Python 3.10 \ned47f0e
Add support for Python 3.10 \n1c8178a
Merge pull request #703 from pytest-dev/pre-commit-ci-update-config \n9807064
[pre-commit.ci] pre-commit autoupdate \n766e67c
Use setproctitle if available to show state (#696) \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1476/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": 1022688960, "node_id": "PR_kwDOBm6k_c4tBIEE", "number": 1485, "title": "Update pytest-timeout requirement from <1.5,>=1.4.2 to >=1.4.2,<2.1", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-10-11T13:10:51Z", "updated_at": "2021-10-13T21:09:23Z", "closed_at": "2021-10-13T21:09:23Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1485", "body": "Updates the requirements on [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) to permit the latest version.\n\nCommits
\n\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1485/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": 1023245060, "node_id": "PR_kwDOBm6k_c4tC4Lx", "number": 1487, "title": "Added instructions for installing plugins via pipx, #1486", "user": {"value": 41546558, "label": "RhetTbull"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-10-12T00:48:30Z", "updated_at": "2021-10-13T21:09:11Z", "closed_at": "2021-10-13T21:09:10Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1487", "body": "Adds missing instructions for installing plugins via pipx", "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/1487/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": 1022294524, "node_id": "PR_kwDOBm6k_c4s_4Cw", "number": 1484, "title": "GitHub Actions: Add Python 3.10 to the tests", "user": {"value": 3709715, "label": "cclauss"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2021-10-11T06:03:03Z", "updated_at": "2021-10-11T06:03:31Z", "closed_at": "2021-10-11T06:03:28Z", "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1484", "body": null, "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/1484/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": 1001104942, "node_id": "PR_kwDOBm6k_c4r-EVH", "number": 1475, "title": "feat: allow joins using _through in both directions", "user": {"value": 5268174, "label": "bram2000"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2021-09-20T15:28:20Z", "updated_at": "2021-09-20T15:28:20Z", "closed_at": null, "author_association": "FIRST_TIME_CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1475", "body": "Currently the `_through` clause can only work if the FK relationship is defined in a specific direction. I don't think there is any reason for this limitation, as an FK allows joining in both directions.\r\n\r\nThis is an admittedly hacky change to implement bidirectional joins using `_through`. It does work for our use-case, but I don't know if there are other implications that I haven't thought of. Also if this change is desirable we probably want to make the code a little nicer.", "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/1475/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": 982780906, "node_id": "MDExOlB1bGxSZXF1ZXN0NzIyNDgwNTQy", "number": 1453, "title": "Bump black from 21.7b0 to 21.8b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2021-08-30T13:13:39Z", "updated_at": "2021-09-14T13:10:40Z", "closed_at": "2021-09-14T13:10:38Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1453", "body": "Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.8b0.\n\nRelease notes
\nSourced from black's releases.
\n\n21.8b0
\nBlack
\n\n- Add support for formatting Jupyter Notebook files (#2357)
\n- Move from
appdirs
dependency to platformdirs
(#2375) \n- Present a more user-friendly error if .gitignore is invalid (#2414)
\n- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
\n- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
\n- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
\n- Pin
setuptools-scm
build-time dependency version (#2457) \n- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
\n
\nBlackd
\n\n- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
\n
\nIntegrations
\n\n- The provided pre-commit hooks no longer specify
language_version
to avoid overriding default_language_version
(#2430) \n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.8b0
\nBlack
\n\n- Add support for formatting Jupyter Notebook files (#2357)
\n- Move from
appdirs
dependency to platformdirs
(#2375) \n- Present a more user-friendly error if .gitignore is invalid (#2414)
\n- The failsafe for accidentally added backslashes in f-string expressions has been\nhardened to handle more edge cases during quote normalization (#2437)
\n- Avoid changing a function return type annotation's type to a tuple by adding a\ntrailing comma (#2384)
\n- Parsing support has been added for unparenthesized walruses in set literals, set\ncomprehensions, and indices (#2447).
\n- Pin
setuptools-scm
build-time dependency version (#2457) \n- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10\n(#2460)
\n
\nBlackd
\n\n- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that\nscan installed packages (#2440)
\n
\nIntegrations
\n\n- The provided pre-commit hooks no longer specify
language_version
to avoid overriding\ndefault_language_version
(#2430) \n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.7b0&new-version=21.8b0)](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 ", "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/1453/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": 930855052, "node_id": "MDExOlB1bGxSZXF1ZXN0Njc4NDU5NTU0", "number": 1385, "title": "Fix + improve get_metadata plugin hook docs", "user": {"value": 2670795, "label": "brandonrobertz"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-06-27T05:43:20Z", "updated_at": "2021-09-13T18:53:11Z", "closed_at": "2021-09-13T18:53:11Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1385", "body": "This fixes documentation inaccuracies and adds a disclaimer about the signature of the `get_metadata` hook.\r\n\r\nAddresses the following comments:\r\n- https://github.com/simonw/datasette/issues/1384#issuecomment-869069926\r\n- https://github.com/simonw/datasette/issues/1384#issuecomment-869075368", "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/1385/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": 991206402, "node_id": "MDExOlB1bGxSZXF1ZXN0NzI5NzA0NTM3", "number": 1465, "title": "add support for -o --get /path", "user": {"value": 51016, "label": "ctb"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2021-09-08T14:30:42Z", "updated_at": "2021-09-08T14:31:45Z", "closed_at": null, "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1465", "body": "Fixes https://github.com/simonw/datasette/issues/1459\r\n\r\nAdds support for `--open --get /path` to be used in combination.\r\n\r\nIf `--open` is provided alone, datasette will open a web page to a default URL.\r\nIf `--get ` is provided alone, datasette will output the result of doing a GET to that URL and then exit.\r\nIf `--open --get ` are provided together, datasette will open a web page to that URL.\r\n\r\nTODO items:\r\n- [ ] update documentation\r\n- [ ] print out error message when `--root --open --get ` is used\r\n- [ ] adjust code to require that `` start with a `/` when `-o --get ` is used\r\n- [ ] add test(s)\r\n\r\nnote, '@CTB' is used in this PR to flag code that needs revisiting.", "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/1465/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": 988325628, "node_id": "MDExOlB1bGxSZXF1ZXN0NzI3MjY1MDI1", "number": 1455, "title": "Add scientists to target groups", "user": {"value": 198537, "label": "rgieseke"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-09-04T16:28:58Z", "updated_at": "2021-09-04T16:32:21Z", "closed_at": "2021-09-04T16:31:38Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1455", "body": "Not sure if you want them mentioned explicitly (it's already a long list), but following up on https://twitter.com/simonw/status/1434176989565382656", "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/1455/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": 947640902, "node_id": "MDExOlB1bGxSZXF1ZXN0NjkyNTk2MDA2", "number": 1400, "title": "Bump black from 21.6b0 to 21.7b0", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-07-19T13:13:41Z", "updated_at": "2021-08-25T01:29:56Z", "closed_at": "2021-08-25T01:29:55Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1400", "body": "Bumps [black](https://github.com/psf/black) from 21.6b0 to 21.7b0.\n\nRelease notes
\nSourced from black's releases.
\n\n21.7b0
\nBlack
\n\n- Configuration files using TOML features higher than spec v0.5.0 are now supported\n(#2301)
\n- Add primer support and test for code piped into black via STDIN (#2315)
\n- Fix internal error when
FORCE_OPTIONAL_PARENTHESES
feature is enabled (#2332) \n- Accept empty stdin (#2346)
\n- Provide a more useful error when parsing fails during AST safety checks (#2304)
\n
\nDocker
\n\n- Add new
latest_release
tag automation to follow latest black release on docker\nimages (#2374) \n
\nIntegrations
\n\n- The vim plugin now searches upwards from the directory containing the current buffer\ninstead of the current working directory for pyproject.toml. (#1871)
\n- The vim plugin now reads the correct string normalization option in pyproject.toml\n(#1869)
\n- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml\n(#1869)
\n
\n
\n \n\nChangelog
\nSourced from black's changelog.
\n\n21.7b0
\nBlack
\n\n- Configuration files using TOML features higher than spec v0.5.0 are now supported\n(#2301)
\n- Add primer support and test for code piped into black via STDIN (#2315)
\n- Fix internal error when
FORCE_OPTIONAL_PARENTHESES
feature is enabled (#2332) \n- Accept empty stdin (#2346)
\n- Provide a more useful error when parsing fails during AST safety checks (#2304)
\n
\nDocker
\n\n- Add new
latest_release
tag automation to follow latest black release on docker\nimages (#2374) \n
\nIntegrations
\n\n- The vim plugin now searches upwards from the directory containing the current buffer\ninstead of the current working directory for pyproject.toml. (#1871)
\n- The vim plugin now reads the correct string normalization option in pyproject.toml\n(#1869)
\n- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml\n(#1869)
\n
\n
\n \n\nCommits
\n\n \n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-version=21.6b0&new-version=21.7b0)](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 ", "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/1400/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": 970386262, "node_id": "MDExOlB1bGxSZXF1ZXN0NzEyMzQ2MTk5", "number": 1433, "title": "Update trustme requirement from <0.9,>=0.7 to >=0.7,<0.10", "user": {"value": 49699333, "label": "dependabot[bot]"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-08-13T13:10:24Z", "updated_at": "2021-08-25T01:29:27Z", "closed_at": "2021-08-25T01:29:26Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1433", "body": "Updates the requirements on [trustme](https://github.com/python-trio/trustme) to permit the latest version.\n\nCommits
\n\n8fc5bf9
Bump version to 0.9.0 \n913e21d
Bump types-cryptography from 3.3.3 to 3.3.5 (#342) \nc66709d
Bump types-pyopenssl from 20.0.4 to 20.0.5 (#343) \n5131f79
Add type annotations (#341) \na411dad
Bump charset-normalizer from 2.0.3 to 2.0.4 (#340) \nbe5ec8a
Bump sphinx from 4.1.1 to 4.1.2 \nd3b8865
Bump charset-normalizer from 2.0.2 to 2.0.3 \n4503bef
Merge pull request #334 from python-trio/dependabot/pip/charset-normalizer-2.0.2 \nce8099d
Merge pull request #335 from python-trio/dependabot/pip/sphinx-4.1.1 \n8b6d3c6
Merge pull request #336 from python-trio/dependabot/pip/idna-3.2 \n- Additional commits viewable in compare view
\n
\n \n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n ", "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/1433/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": 978614898, "node_id": "MDExOlB1bGxSZXF1ZXN0NzE5MTc1NTkz", "number": 1447, "title": "Remove underscore from search mode parameter name", "user": {"value": 127565, "label": "wragge"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-08-25T01:28:04Z", "updated_at": "2021-08-25T01:28:58Z", "closed_at": "2021-08-25T01:28:58Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1447", "body": "The fulltext search documentation refers to the parameter as `searchmode` but the `metadata.json` example uses `search_mode`. The latter doesn't actually seem to work.", "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/1447/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}