home / github

Menu
  • Search all tables
  • GraphQL API

issues

Table actions
  • GraphQL API for issues

257 rows where comments = 2, repo = 107914493 and state = "closed" sorted by updated_at descending

✖
✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: milestone, author_association, draft, state_reason, created_at (date), updated_at (date), closed_at (date)

type 2

  • issue 182
  • pull 75

state 1

  • closed · 257 ✖

repo 1

  • datasette · 257 ✖
id node_id number title user state locked assignee milestone comments created_at updated_at ▲ closed_at author_association pull_request body repo type active_lock_reason performed_via_github_app reactions draft state_reason
1959278971 PR_kwDOBm6k_c5dpF-F 2202 Bump the python-packages group with 1 update dependabot[bot] 49699333 closed 0     2 2023-10-24T13:40:21Z 2023-11-08T13:19:03Z 2023-11-08T13:19:01Z CONTRIBUTOR simonw/datasette/pulls/2202

Bumps the python-packages group with 1 update: black.

Release notes

Sourced from black's releases.

23.10.1

Highlights

  • Maintanence release to get a fix out for GitHub Action edge case (#3957)

Preview style

  • Fix merging implicit multiline strings that have inline comments (#3956)
  • Allow empty first line after block open before a comment or compound statement (#3967)

Packaging

  • Change Dockerfile to hatch + compile black (#3965)

Integrations

  • The summary output for GitHub workflows is now suppressible using the summary parameter. (#3958)
  • Fix the action failing when Black check doesn't pass (#3957)

Documentation

  • It is known Windows documentation CI is broken psf/black#3968

23.10.0

Stable style

  • Fix comments getting removed from inside parenthesized strings (#3909)

Preview style

  • Fix long lines with power operators getting split before the line length (#3942)
  • Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (#3899)
  • Magic trailing commas are now respected in return types. (#3916)
  • Require one empty line after module-level docstrings. (#3932)
  • Treat raw triple-quoted strings as docstrings (#3947)

Configuration

  • Fix cache versioning logic when BLACK_CACHE_DIR is set (#3937)

Parser

  • Fix bug where attributes named type were not acccepted inside match statements (#3950)
  • Add support for PEP 695 type aliases containing lambdas and other unusual expressions (#3949)

... (truncated)

Changelog

Sourced from black's changelog.

23.10.1

Highlights

  • Maintanence release to get a fix out for GitHub Action edge case (#3957)

Preview style

  • Fix merging implicit multiline strings that have inline comments (#3956)
  • Allow empty first line after block open before a comment or compound statement (#3967)

Packaging

  • Change Dockerfile to hatch + compile black (#3965)

Integrations

  • The summary output for GitHub workflows is now suppressible using the summary parameter. (#3958)
  • Fix the action failing when Black check doesn't pass (#3957)

Documentation

  • It is known Windows documentation CI is broken psf/black#3968

23.10.0

Stable style

  • Fix comments getting removed from inside parenthesized strings (#3909)

Preview style

  • Fix long lines with power operators getting split before the line length (#3942)
  • Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (#3899)
  • Magic trailing commas are now respected in return types. (#3916)
  • Require one empty line after module-level docstrings. (#3932)
  • Treat raw triple-quoted strings as docstrings (#3947)

Configuration

  • Fix cache versioning logic when BLACK_CACHE_DIR is set (#3937)

Parser

  • Fix bug where attributes named type were not accepted inside match statements (#3950)
  • Add support for PEP 695 type aliases containing lambdas and other unusual expressions

... (truncated)

Commits
  • 744d23b Prepare release 23.10.1 (#3969)
  • 8de4be5 Fix CI failing (#3957)
  • c0adca3 docs: specifies the use of the .git-blame-ignore-revs file (#3961)
  • a7643fa Add summary parameter to action (#3958)
  • d291c23 Move Docker image to hatch + compile (#3965)
  • 7f1c578 Bump peter-evans/create-or-update-comment from 3.0.2 to 3.1.0 (#3966)
  • 2db5ab0 Allow empty line after block open before a comment or compound statement (#3967)
  • 0a37888 Fix typos in CHANGES.md (#3963)
  • 882d879 Fix merging implicit multiline strings that have inline comments (#3956)
  • 9edba85 Prepare release 23.10.0 (#3951)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

:books: Documentation preview :books:: https://datasette--2202.org.readthedocs.build/en/2202/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2202/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1910269679 I_kwDOBm6k_c5x3Gbv 2196 Discord invite link returns 401 Olshansk 1892194 closed 0     2 2023-09-24T15:16:54Z 2023-10-13T00:07:08Z 2023-10-12T21:54:54Z NONE  

I found the link to the datasette discord channel via this query.

The following video should be self explanatory:

https://github.com/simonw/datasette/assets/1892194/8cd33e88-bcaa-41f3-9818-ab4d589c3f02

Link for reference: https://discord.com/invite/ktd74dm5mw

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2196/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1861812208 PR_kwDOBm6k_c5YhH-W 2149 Start a new `datasette.yaml` configuration file, with settings support asg017 15178711 closed 0     2 2023-08-22T16:24:16Z 2023-08-23T01:26:11Z 2023-08-23T01:26:11Z CONTRIBUTOR simonw/datasette/pulls/2149

refs #2093 #2143

This is the first step to implementing the new datasette.yaml/datasette.json configuration file.

  • The old --config argument is now back, and is the path to a datasette.yaml file. Acts like the --metadata flag.
  • The old settings.json behavior has been removed.
  • The "settings" key inside datasette.yaml defines the same --settings flags
  • Values passed in --settings will over-write values in datasette.yaml

Docs for the Config file is pretty light, not much to add until we add more config to the file.


:books: Documentation preview :books:: https://datasette--2149.org.readthedocs.build/en/2149/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2149/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1856760386 PR_kwDOBm6k_c5YQGcc 2144 Bump the python-packages group with 3 updates dependabot[bot] 49699333 closed 0     2 2023-08-18T13:49:37Z 2023-08-21T13:48:18Z 2023-08-21T13:48:16Z CONTRIBUTOR simonw/datasette/pulls/2144

Bumps the python-packages group with 3 updates: sphinx, furo and blacken-docs.

Updates sphinx from 7.1.2 to 7.2.2

Release notes

Sourced from sphinx's releases.

Sphinx 7.2.2

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

Sphinx 7.2.1

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

Sphinx 7.2.0

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

Changelog

Sourced from sphinx's changelog.

Release 7.2.2 (released Aug 17, 2023)

Bugs fixed

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

Release 7.2.1 (released Aug 17, 2023)

Bugs fixed

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

Release 7.2.0 (released Aug 17, 2023)

Dependencies

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

Deprecated

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

... (truncated)

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


Updates furo from 2023.7.26 to 2023.8.17

Changelog

Sourced from furo's changelog.

Changelog

2023.08.17 -- Wonderous White

  • Fix compatiblity with Sphinx 7.2.0 and 7.2.1.

2023.07.26 -- Vigilant Volt

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

2023.05.20 -- Unassuming Ultramarine

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

2023.03.27 -- Tasty Tangerine

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

2023.03.23 -- Sassy Saffron

  • Update Python version classifiers.
  • Increase the icon size in mobile header.
  • Increase admonition title bg opacity.
  • Change the default API background to transparent.
  • Transition the API background change.
  • Remove the "indent" of API entries which have a background.
  • Break long inline code literals.

2022.12.07 -- Reverent Raspberry

  • ✨ Add support for Sphinx 6.
  • ✨ Improve footnote presentation with docutils 0.18+.

... (truncated)

Commits
  • 99f4e6d Prepare release: 2023.08.17
  • 59ad807 Update changelog
  • 9b94420 Accomodate for Sphinx 7.2 behavior change
  • 7aeb6d2 [pre-commit.ci] pre-commit autoupdate (#675)
  • 0c9be3f Back to development
  • See full diff in compare view


Updates blacken-docs from 1.15.0 to 1.16.0

Changelog

Sourced from blacken-docs's changelog.

1.16.0 (2023-08-16)

  • Allow Markdown fence options.

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

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

  • Preserve leading whitespace lines in reStructuredText code blocks.

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

  • Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for “files have been formatted”.

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

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

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

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

Commits
  • 960ead2 Version 1.16.0
  • 8f0ed18 Support passing --preview through to Black (#273)
  • 4eb4e4c Tweak changelog note
  • 6c7450c Use exit code 2 to indicate errors (#272)
  • 99dfc8d Preserve leading whitespace lines in rST (#271)
  • 94465e8 Reformat markdown tests with dedent() (#270)
  • 7cd5f30 Use .md in glob example
  • f97e569 Document applying to many files (#269)
  • ae612b0 Expand Markdown detection to all Python language names (#268)
  • da9b455 Replace NamedTuple with plain class (#267)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name> dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name> dependency` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

:books: Documentation preview :books:: https://datasette--2144.org.readthedocs.build/en/2144/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2144/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1854970601 PR_kwDOBm6k_c5YKAZ4 2142 Bump the python-packages group with 2 updates dependabot[bot] 49699333 closed 0     2 2023-08-17T13:07:53Z 2023-08-18T13:49:29Z 2023-08-18T13:49:26Z CONTRIBUTOR simonw/datasette/pulls/2142

Bumps the python-packages group with 2 updates: sphinx and blacken-docs.

Updates sphinx from 7.1.2 to 7.2.0

Release notes

Sourced from sphinx's releases.

Sphinx 7.2.0

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

Changelog

Sourced from sphinx's changelog.

Release 7.2.0 (released Aug 17, 2023)

Dependencies

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

Deprecated

  • #11512: Deprecate sphinx.util.md5 and sphinx.util.sha1. Use hashlib instead.
  • #11526: Deprecate sphinx.testing.path. Use os.path or pathlib instead.
  • #11528: Deprecate sphinx.util.split_index_msg and sphinx.util.split_into. Use sphinx.util.index_entries.split_index_msg instead.
  • Deprecate sphinx.builders.html.Stylesheet and sphinx.builders.html.Javascript. Use sphinx.application.Sphinx.add_css_file() and sphinx.application.Sphinx.add_js_file() instead.
  • #11582: Deprecate sphinx.builders.html.StandaloneHTMLBuilder.css_files and sphinx.builders.html.StandaloneHTMLBuilder.script_files. Use sphinx.application.Sphinx.add_css_file() and sphinx.application.Sphinx.add_js_file() instead.
  • #11459: Deprecate sphinx.ext.autodoc.preserve_defaults.get_function_def(). Patch by Bénédikt Tran.

Features added

  • #11526: Support os.PathLike types and pathlib.Path objects in many more places.
  • #5474: coverage: Print summary statistics tables. Patch by Jorge Leitao.
  • #6319: viewcode: Add :confval:viewcode_line_numbers to control whether line numbers are added to rendered source code. Patch by Ben Krikler.
  • #9662: Add the :no-typesetting: option to suppress textual output and only create a linkable anchor. Patch by Latosha Maltba.
  • #11221: C++: Support domain objects in the table of contents. Patch by Rouslan Korneychuk.
  • #10938: doctest: Add :confval:doctest_show_successes option. Patch by Trey Hunner.
  • #11533: Add :no-index:, :no-index-entry:, and :no-contents-entry:.
  • #11572: Improve debug logging of reasons why files are detected as out of date. Patch by Eric Larson.

... (truncated)

Commits
  • da9f8a5 Bump to 7.2.0 final
  • 794324a Declare support for Python 3.13
  • 03bceac [bot]: Update message catalogues (#11538)
  • aecebce Make _resolve_toctree() keyword-only
  • 76658c4 Fix sphinx.ext.autodoc.preserve_defaults (#11550)
  • 4dee162 Fix layout issues in the agogo theme for smaller viewports (#11594)
  • 4ddbee4 Fix console_scripts entry points
  • 4add50a Remove unneeded type annotation
  • 9d8ef83 Fix test_inspect_main_noargs
  • ddf8a8e Add CHANGES entry for GH-11533
  • Additional commits viewable in compare view


Updates blacken-docs from 1.15.0 to 1.16.0

Changelog

Sourced from blacken-docs's changelog.

1.16.0 (2023-08-16)

  • Allow Markdown fence options.

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

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

  • Preserve leading whitespace lines in reStructuredText code blocks.

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

  • Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for “files have been formatted”.

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

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

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

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

Commits
  • 960ead2 Version 1.16.0
  • 8f0ed18 Support passing --preview through to Black (#273)
  • 4eb4e4c Tweak changelog note
  • 6c7450c Use exit code 2 to indicate errors (#272)
  • 99dfc8d Preserve leading whitespace lines in rST (#271)
  • 94465e8 Reformat markdown tests with dedent() (#270)
  • 7cd5f30 Use .md in glob example
  • f97e569 Document applying to many files (#269)
  • ae612b0 Expand Markdown detection to all Python language names (#268)
  • da9b455 Replace NamedTuple with plain class (#267)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name> dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name> dependency` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

:books: Documentation preview :books:: https://datasette--2142.org.readthedocs.build/en/2142/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2142/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1853289039 PR_kwDOBm6k_c5YEUBK 2141 Bump the python-packages group with 1 update dependabot[bot] 49699333 closed 0     2 2023-08-16T13:47:35Z 2023-08-17T13:07:48Z 2023-08-17T13:07:45Z CONTRIBUTOR simonw/datasette/pulls/2141

Bumps the python-packages group with 1 update: blacken-docs.

Changelog

Sourced from blacken-docs's changelog.

1.16.0 (2023-08-16)

  • Allow Markdown fence options.

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

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

  • Preserve leading whitespace lines in reStructuredText code blocks.

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

  • Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for “files have been formatted”.

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

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

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

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

Commits
  • 960ead2 Version 1.16.0
  • 8f0ed18 Support passing --preview through to Black (#273)
  • 4eb4e4c Tweak changelog note
  • 6c7450c Use exit code 2 to indicate errors (#272)
  • 99dfc8d Preserve leading whitespace lines in rST (#271)
  • 94465e8 Reformat markdown tests with dedent() (#270)
  • 7cd5f30 Use .md in glob example
  • f97e569 Document applying to many files (#269)
  • ae612b0 Expand Markdown detection to all Python language names (#268)
  • da9b455 Replace NamedTuple with plain class (#267)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name> dependency` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name> dependency` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

:books: Documentation preview :books:: https://datasette--2141.org.readthedocs.build/en/2141/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2141/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1846076261 I_kwDOBm6k_c5uCONl 2139 border-color: ##ff0000 bug - two hashes simonw 9599 closed 0   Datasette 1.0a-next 8755003 2 2023-08-11T01:22:58Z 2023-08-11T05:16:24Z 2023-08-11T05:16:24Z OWNER  

Spotted this on https://latest.datasette.io/extra_database

```html

```
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2139/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1844213115 I_kwDOBm6k_c5t7HV7 2138 on_success_message_sql option for writable canned queries simonw 9599 closed 0   Datasette 1.0a-next 8755003 2 2023-08-10T00:20:14Z 2023-08-10T00:39:40Z 2023-08-10T00:34:26Z OWNER  

Or... how about if the on_success_message option could define a SQL query to be executed to generate that message? Maybe on_success_message_sql.

  • https://github.com/simonw/datasette/issues/2134
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2138/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1840329615 I_kwDOBm6k_c5tsTOP 2130 Render plugin mechanism needs `error` and `truncated` fields simonw 9599 closed 0   Datasette 1.0a3 9700784 2 2023-08-07T23:19:19Z 2023-08-08T01:51:54Z 2023-08-08T01:47:42Z OWNER  

While working on: - https://github.com/simonw/datasette/pull/2118

It became clear that the render callback function documented here: https://docs.datasette.io/en/0.64.3/plugin_hooks.html#register-output-renderer-datasette

Needs to grow the ability to be told if an error occurred (an error string) and if the results were truncated (a truncated boolean).

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2130/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1833193570 PR_kwDOBm6k_c5XArm3 2125 Bump sphinx from 6.1.3 to 7.1.2 dependabot[bot] 49699333 closed 0     2 2023-08-02T13:28:39Z 2023-08-07T16:20:30Z 2023-08-07T16:20:27Z CONTRIBUTOR simonw/datasette/pulls/2125

Bumps sphinx from 6.1.3 to 7.1.2.

Release notes

Sourced from sphinx's releases.

Sphinx 7.1.2

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

Sphinx 7.1.1

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

Sphinx 7.1.0

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

v7.0.1

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

v7.0.0

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

v7.0.0rc1

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

v6.2.1

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

v6.2.0

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

Changelog

Sourced from sphinx's changelog.

Release 7.1.2 (released Aug 02, 2023)

Bugs fixed

  • #11542: linkcheck: Properly respect :confval:linkcheck_anchors and do not spuriously report failures to validate anchors. Patch by James Addison.

Release 7.1.1 (released Jul 27, 2023)

Bugs fixed

  • #11514: Fix SOURCE_DATE_EPOCH in multi-line copyright footer. Patch by Bénédikt Tran.

Release 7.1.0 (released Jul 24, 2023)

Incompatible changes

  • Releases are no longer signed, given the change in PyPI policy_.

    .. _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/

Deprecated

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

Features added

  • #11415: Add a checksum to JavaScript and CSS asset URIs included within generated HTML, using the CRC32 algorithm.
  • :meth:~sphinx.application.Sphinx.require_sphinx now allows the version requirement to be specified as (major, minor).
  • #11011: Allow configuring a line-length limit for object signatures, via :confval:maximum_signature_line_length and the domain-specific variants. If the length of the signature (in characters) is greater than the configured limit, each parameter in the signature will be split to its own logical line. This behaviour may also be controlled by options on object description directives, for example :rst:dir:py:function:single-line-parameter-list.

... (truncated)

Commits
  • 320d0b6 Bump to 7.1.2 final
  • 06c1339 Ensure that linkcheck_anchors is properly respected (#11544)
  • 89808c6 Emend attribution for GH-11431 in CHANGES (#11547)
  • 4958d2a Fix flake8 E231 reported linting failure
  • 4862da8 Bump version
  • d8d73c1 Bump to 7.1.1 final
  • a54e630 [internationalisation] Update message catalogues
  • 8452300 Fix multi-line copyright when SOURCE_DATE_EPOCH is set (#11524)
  • fe08cec bump version
  • e560f63 Bump to 7.1.0 final
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2125.org.readthedocs.build/en/2125/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2125/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1824399610 PR_kwDOBm6k_c5WjCS8 2121 Bump furo from 2023.3.27 to 2023.7.26 dependabot[bot] 49699333 closed 0     2 2023-07-27T13:40:48Z 2023-08-07T16:20:23Z 2023-08-07T16:20:20Z CONTRIBUTOR simonw/datasette/pulls/2121

Bumps furo from 2023.3.27 to 2023.7.26.

Changelog

Sourced from furo's changelog.

Changelog

2023.07.26 -- Vigilant Volt

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

2023.05.20 -- Unassuming Ultramarine

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

2023.03.27 -- Tasty Tangerine

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

2023.03.23 -- Sassy Saffron

  • Update Python version classifiers.
  • Increase the icon size in mobile header.
  • Increase admonition title bg opacity.
  • Change the default API background to transparent.
  • Transition the API background change.
  • Remove the "indent" of API entries which have a background.
  • Break long inline code literals.

2022.12.07 -- Reverent Raspberry

  • ✨ Add support for Sphinx 6.
  • ✨ Improve footnote presentation with docutils 0.18+.
  • Drop support for Sphinx 4.
  • Improve documentation about what the edit button does.
  • Improve handling of empty-flexboxes for better print experience on Chrome.
  • Improve styling for inline signatures.

... (truncated)

Commits
  • 35f5307 Prepare release: 2023.07.26
  • 0a8bedc Update changelog
  • a92dd0c Make _add_asset_hashes a no-op with Sphinx 7.1
  • f8db95b Improve literals with inline code are handled
  • 1680dbe Document the use of figclass with figure directive
  • beebd7e Increase the specificity of the admonition title selector
  • 834e951 Setup uploads to Percy
  • 27bf2c0 [pre-commit.ci] pre-commit autoupdate (#672)
  • c8b51d0 Fix how content overflow is handled
  • 80afa27 [pre-commit.ci] pre-commit autoupdate (#652)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2121.org.readthedocs.build/en/2121/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2121/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1796830110 PR_kwDOBm6k_c5VFw3j 2098 Bump blacken-docs from 1.14.0 to 1.15.0 dependabot[bot] 49699333 closed 0     2 2023-07-10T13:49:12Z 2023-08-07T16:20:22Z 2023-08-07T16:20:20Z CONTRIBUTOR simonw/datasette/pulls/2098

Bumps blacken-docs from 1.14.0 to 1.15.0.

Changelog

Sourced from blacken-docs's changelog.

1.15.0 (2023-07-09)

  • Drop Python 3.7 support.
Commits
  • 2e74dc4 Version 1.15.0
  • 8ddb2f1 [pre-commit.ci] pre-commit autoupdate (#257)
  • 64fbca6 Drop Python 3.7 support (#256)
  • f6a0817 [pre-commit.ci] pre-commit autoupdate (#255)
  • cbdcb50 [pre-commit.ci] pre-commit autoupdate (#254)
  • 37fc70e Upgrade requirements (#253)
  • 7bbe434 [pre-commit.ci] pre-commit autoupdate (#250)
  • See full diff in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2098.org.readthedocs.build/en/2098/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2098/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1826424151 PR_kwDOBm6k_c5Wp6Hs 2124 Bump sphinx from 6.1.3 to 7.1.1 dependabot[bot] 49699333 closed 0     2 2023-07-28T13:23:11Z 2023-08-02T13:28:47Z 2023-08-02T13:28:44Z CONTRIBUTOR simonw/datasette/pulls/2124

Bumps sphinx from 6.1.3 to 7.1.1.

Release notes

Sourced from sphinx's releases.

Sphinx 7.1.1

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

Sphinx 7.1.0

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

v7.0.1

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

v7.0.0

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

v7.0.0rc1

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

v6.2.1

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

v6.2.0

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

Changelog

Sourced from sphinx's changelog.

Release 7.1.1 (released Jul 27, 2023)

Bugs fixed

  • #11514: Fix SOURCE_DATE_EPOCH in multi-line copyright footer. Patch by Bénédikt Tran.

Release 7.1.0 (released Jul 24, 2023)

Incompatible changes

  • Releases are no longer signed, given the change in PyPI policy_.

    .. _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/

Deprecated

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

Features added

  • #11415: Add a checksum to JavaScript and CSS asset URIs included within generated HTML, using the CRC32 algorithm.
  • :meth:~sphinx.application.Sphinx.require_sphinx now allows the version requirement to be specified as (major, minor).
  • #11011: Allow configuring a line-length limit for object signatures, via :confval:maximum_signature_line_length and the domain-specific variants. If the length of the signature (in characters) is greater than the configured limit, each parameter in the signature will be split to its own logical line. This behaviour may also be controlled by options on object description directives, for example :rst:dir:py:function:single-line-parameter-list. Patch by Thomas Louf, Adam Turner, and Jean-François B.
  • #10983: Support for multiline copyright statements in the footer block. Patch by Stefanie Molin
  • sphinx.util.display.status_iterator now clears the current line with ANSI control codes, rather than overprinting with space characters.
  • #11431: linkcheck: Treat SSL failures as broken links. Patch by Bénédikt Tran
  • #11157: Keep the translated attribute on translated nodes.
  • #11451: Improve the traceback displayed when using :option:sphinx-build -T in parallel builds. Patch by Bénédikt Tran

... (truncated)

Commits
  • d8d73c1 Bump to 7.1.1 final
  • a54e630 [internationalisation] Update message catalogues
  • 8452300 Fix multi-line copyright when SOURCE_DATE_EPOCH is set (#11524)
  • fe08cec bump version
  • e560f63 Bump to 7.1.0 final
  • 066e0fa Add translation progress information (#11509)
  • 0882914 Target PyPI in create-release.yml
  • 21fbee5 Fix OIDC token payload
  • 1a403e4 Add informational log messaging
  • 258b0ea Revert "Switch to using github.request"
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2124.org.readthedocs.build/en/2124/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2124/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1820346348 PR_kwDOBm6k_c5WVYor 2107 Bump sphinx from 6.1.3 to 7.1.0 dependabot[bot] 49699333 closed 0     2 2023-07-25T13:28:30Z 2023-07-28T13:23:19Z 2023-07-28T13:23:17Z CONTRIBUTOR simonw/datasette/pulls/2107

Bumps sphinx from 6.1.3 to 7.1.0.

Release notes

Sourced from sphinx's releases.

Sphinx 7.1.0

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

v7.0.1

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

v7.0.0

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

v7.0.0rc1

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

v6.2.1

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

v6.2.0

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

Changelog

Sourced from sphinx's changelog.

Release 7.1.0 (released Jul 24, 2023)

Incompatible changes

  • Releases are no longer signed, given the change in PyPI policy_.

    .. _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/

Deprecated

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

Features added

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

... (truncated)

Commits
  • e560f63 Bump to 7.1.0 final
  • 066e0fa Add translation progress information (#11509)
  • 0882914 Target PyPI in create-release.yml
  • 21fbee5 Fix OIDC token payload
  • 1a403e4 Add informational log messaging
  • 258b0ea Revert "Switch to using github.request"
  • f9c89e5 Switch to using github.request
  • 52c7f66 Use the correct token minting URL for TestPyPI
  • 6079f28 Install twine in PyPI publish workflow
  • 3d43b9e Fix github-script syntax in create-release.yml
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2107.org.readthedocs.build/en/2107/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2107/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1710164693 PR_kwDOBm6k_c5QhIL2 2075 Bump sphinx from 6.1.3 to 7.0.1 dependabot[bot] 49699333 closed 0     2 2023-05-15T13:59:31Z 2023-07-25T13:28:39Z 2023-07-25T13:28:36Z CONTRIBUTOR simonw/datasette/pulls/2075

Bumps sphinx from 6.1.3 to 7.0.1.

Release notes

Sourced from sphinx's releases.

v7.0.1

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

v7.0.0

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

v7.0.0rc1

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

v6.2.1

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

v6.2.0

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

Changelog

Sourced from sphinx's changelog.

Release 7.0.1 (released May 12, 2023)

Dependencies

  • #11411: Support Docutils 0.20_. Patch by Adam Turner.

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

Bugs fixed

  • #11418: Clean up remaining references to sphinx.setup_command following the removal of support for setuptools. Patch by Willem Mulder.

Release 7.0.0 (released Apr 29, 2023)

Incompatible changes

  • #11359: Remove long-deprecated aliases for MecabSplitter and DefaultSplitter in sphinx.search.ja.
  • #11360: Remove deprecated make_old_id functions in domain object description classes.
  • #11363: Remove the Setuptools integration (build_sphinx hook in setup.py).
  • #11364: Remove deprecated sphinx.ext.napoleon.iterators module.
  • #11365: Remove support for the jsdump format in sphinx.search.
  • #11366: Make locale a required argument to sphinx.util.i18n.format_date().
  • #11370: Remove deprecated sphinx.util.stemmer module.
  • #11371: Remove deprecated sphinx.pycode.ast.parse() function.
  • #11372: Remove deprecated sphinx.io.read_doc() function.
  • #11373: Removed deprecated sphinx.util.get_matching_files() function.
  • #11378: Remove deprecated sphinx.util.docutils.is_html5_writer_available() function.
  • #11379: Make the env argument to Builder subclasses required.
  • #11380: autosummary: Always emit grouped import exceptions.
  • #11381: Remove deprecated style key for HTML templates.
  • #11382: Remove deprecated sphinx.writers.latex.LaTeXTranslator.docclasses attribute.
  • #11383: Remove deprecated sphinx.builders.html.html5_ready and sphinx.builders.html.HTMLTranslator attributes.
  • #11385: Remove support for HTML 4 output.

Release 6.2.1 (released Apr 25, 2023)

... (truncated)

Commits
  • d48cc78 Bump to 7.0.1 final
  • de6b18a Remove remaining references to the setuptools integration (#11418)
  • db54618 Support Docutils 0.20 (#11411)
  • 8942a1d Test with Docutils 0.20
  • c9d0933 linkcheck: Use context managers for HTTP requests (#11318)
  • 2b1c106 Update documentation workflow
  • ba74082 Change concurrency groups for GitHub workflows
  • b546879 Bump version
  • d568b2f Bump to 7.0.0 final
  • ff79edf Remove jsdump references post removal
  • Additional commits viewable in compare view


You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2075.org.readthedocs.build/en/2075/

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2075/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1781047747 I_kwDOBm6k_c5qKKHD 2092 test_homepage intermittent failure simonw 9599 closed 0     2 2023-06-29T15:20:37Z 2023-06-29T15:26:28Z 2023-06-29T15:24:13Z OWNER  

e.g. in https://github.com/simonw/datasette/actions/runs/5413590227/jobs/9839373852

``` =================================== FAILURES =================================== _____ testhomepage _______ [gw0] linux -- Python 3.7.17 /opt/hostedtoolcache/Python/3.7.17/x64/bin/python

ds_client = <datasette.app.DatasetteClient object at 0x7f85d271ef50>

@pytest.mark.asyncio
async def test_homepage(ds_client):
    response = await ds_client.get("/.json")
    assert response.status_code == 200
    assert "application/json; charset=utf-8" == response.headers["content-type"]
    data = response.json()
    assert data.keys() == {"fixtures": 0}.keys()
    d = data["fixtures"]
    assert d["name"] == "fixtures"
    assert d["tables_count"] == 24
    assert len(d["tables_and_views_truncated"]) == 5
    assert d["tables_and_views_more"] is True
    # 4 hidden FTS tables + no_primary_key (hidden in metadata)
    assert d["hidden_tables_count"] == 6
    # 201 in no_primary_key, plus 6 in other hidden tables:
  assert d["hidden_table_rows_sum"] == 207, data

E AssertionError: {'fixtures': {'color': '9403e5', 'hash': None, 'hidden_table_rows_sum': 0, 'hidden_tables_count': 6, ...}} E assert 0 == 207 ``` My guess is that this is a timing error, where very occasionally the "count rows but stop counting if it exceeds a time limit" thing fails.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2092/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1702354223 I_kwDOBm6k_c5ld90v 2070 Mechanism for deploying a preview of a branch using Vercel simonw 9599 closed 0     2 2023-05-09T16:21:45Z 2023-05-09T16:25:00Z 2023-05-09T16:24:31Z OWNER  

I prototyped that here: https://github.com/simonw/one-off-actions/blob/main/.github/workflows/deploy-datasette-branch-preview.yml

It deployed the json-extras-query branch here: https://datasette-preview-json-extras-query.vercel.app/

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2070/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1566081801 PR_kwDOBm6k_c5JAcGy 2014 Bump black from 22.12.0 to 23.1.0 dependabot[bot] 49699333 closed 0     2 2023-02-01T13:06:16Z 2023-03-29T06:09:14Z 2023-03-29T06:09:12Z CONTRIBUTOR simonw/datasette/pulls/2014

Bumps black from 22.12.0 to 23.1.0.

Release notes

Sourced from black's releases.

23.1.0

Highlights

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

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

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

Stable style

  • Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). Specific changes:
    • Enforce empty lines before classes and functions with sticky leading comments (#3302) (22.12.0)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) (22.12.0)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370) (22.12.0)
    • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168) (since 22.8.0)
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209) (22.8.0)
    • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) (22.8.0)
    • Docstring quotes are no longer moved if it would violate the line length limit (#3044, #3430) (22.6.0)
    • Parentheses around return annotations are now managed (#2990) (22.6.0)
    • Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
    • Remove unnecessary parentheses in with statements (#2926) (22.6.0)
    • Remove trailing newlines after code block open (#3035) (22.6.0)
    • Code cell separators #%% are now standardised to # %% (#2919) (22.3.0)
    • Remove unnecessary parentheses from except statements (#2939) (22.3.0)
    • Remove unnecessary parentheses from tuple unpacking in for loops (#2945) (22.3.0)
    • Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
  • Fix a crash when a colon line is marked between # fmt: off and # fmt: on (#3439)

Preview style

  • Format hex codes in unicode escape sequences in string literals (#2916)
  • Add parentheses around if-else expressions (#2278)
  • Improve performance on large expressions that contain many strings (#3467)
  • Fix a crash in preview style with assert + parenthesized string (#3415)
  • Fix crashes in preview style with walrus operators used in function return annotations and except clauses (#3423)
  • Fix a crash in preview advanced string processing where mixed implicitly concatenated regular and f-strings start with an empty span (#3463)
  • Fix a crash in preview advanced string processing where a standalone comment is placed before a dict's value (#3469)
  • Fix an issue where extra empty lines are added when a decorator has # fmt: skip applied or there is a standalone comment between decorators (#3470)
  • Do not put the closing quotes in a docstring on a separate line, even if the line is too long (#3430)
  • Long values in dict literals are now wrapped in parentheses; correspondingly unnecessary parentheses around short values in dict literals are now removed; long string lambda values are now wrapped in parentheses (#3440)
  • Fix two crashes in preview style involving edge cases with docstrings (#3451)
  • Exclude string type annotations from improved string processing; fix crash when the return type annotation is stringified and spans across multiple lines (#3462)
  • Wrap multiple context managers in parentheses when targeting Python 3.9+ (#3489)
  • Fix several crashes in preview style with walrus operators used in with statements or tuples (#3473)
  • Fix an invalid quote escaping bug in f-string expressions where it produced invalid code. Implicitly concatenated f-strings with different quotes can now be merged or quote-normalized by changing the quotes used in expressions. (#3509)

... (truncated)

Changelog

Sourced from black's changelog.

23.1.0

Highlights

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

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

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

Stable style

  • Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). Specific changes:
    • Enforce empty lines before classes and functions with sticky leading comments (#3302) (22.12.0)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) (22.12.0)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307) (22.12.0)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370) (22.12.0)
    • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168) (since 22.8.0)
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209) (22.8.0)
    • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162) (22.8.0)
    • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) (22.8.0)
    • Docstring quotes are no longer moved if it would violate the line length limit (#3044, #3430) (22.6.0)
    • Parentheses around return annotations are now managed (#2990) (22.6.0)
    • Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
    • Remove unnecessary parentheses in with statements (#2926) (22.6.0)
    • Remove trailing newlines after code block open (#3035) (22.6.0)
    • Code cell separators #%% are now standardised to # %% (#2919) (22.3.0)
    • Remove unnecessary parentheses from except statements (#2939) (22.3.0)
    • Remove unnecessary parentheses from tuple unpacking in for loops (#2945) (22.3.0)
    • Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)

... (truncated)

Commits
  • b0d1fba Prepare release 23.1.0 (#3536)
  • 69ca0a4 Infer target version based on project metadata (#3219)
  • c4bd2e3 Draft for Black 2023 stable style (#3418)
  • 226cbf0 Fix unsafe cast in linegen.py w/ await yield handling (#3533)
  • f4ebc68 Upgrade isort (#3534)
  • 6407ebb Remove Python version in the_basics.md (#3528)
  • 196b1f3 Fix black --help output for --python-cell-magics option to be reproducibl...
  • d950f15 Update document now that paren wrapping CMs on Python 3.9+ is implemented (#3...
  • a36878e Fix an invalid quote escaping bug in f-string expressions (#3509)
  • eabff67 Format hex code in unicode escape sequences in string literals (#2916)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2014.org.readthedocs.build/en/2014/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2014/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1639446870 PR_kwDOBm6k_c5M1izI 2043 Bump furo from 2022.12.7 to 2023.3.23 dependabot[bot] 49699333 closed 0     2 2023-03-24T13:58:08Z 2023-03-28T13:58:24Z 2023-03-28T13:58:21Z CONTRIBUTOR simonw/datasette/pulls/2043

Bumps furo from 2022.12.7 to 2023.3.23.

Changelog

Sourced from furo's changelog.

Changelog

2023.03.23 -- Sassy Saffron

  • Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
  • Update Python version classifiers.
  • Increase the icon size in mobile header.
  • Increase admonition title bg opacity.
  • Change the default API background to transparent.
  • Transition the API background change.
  • Remove the "indent" of API entries which have a background.
  • Break long inline code literals.

2022.12.07 -- Reverent Raspberry

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

2022.09.29 -- Quaint Quartz

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

2022.09.15 -- Pragmatic Pistachio

  • Add a minimum version constraint on pygments.
  • Add an explicit dependency on sass.
  • Change right sidebar title from "Contents" to "On this page".
  • Correctly position sidebars on small screens.
  • Correctly select only Furo's own svg in related pages nav.
  • Make numpy-style documentation headers consistent.
  • Retitle the reference section.
  • Update npm dependencies.

... (truncated)

Commits
  • 81139dd Prepare release: 2023.03.23
  • dafa73a Update changelog
  • 82591ef Allow all pre tags to have overflows
  • 55b32f0 Update Python version classifiers (#626)
  • cd6ecdd Update linters
  • 82a1cec Drop the black pin in blacken-docs
  • 483b05c Increase the icon size in mobile header
  • ab3ca77 Revert "Increase icon sizes (#554)"
  • 82376d2 Supply encoding. Fixes #621. (#622)
  • 193643f Increase admonition title bg opacity (#555)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--2043.org.readthedocs.build/en/2043/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2043/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1633077183 I_kwDOBm6k_c5hVse_ 2041 Remove obsolete table POST code simonw 9599 closed 0   Datasette 1.0a-next 8755003 2 2023-03-21T01:01:40Z 2023-03-21T01:17:44Z 2023-03-21T01:17:43Z OWNER  

Spotted this in: - #1999

POST /db/table currently executes obsolete code for inserting a row - I replaced that with /db/table/-/insert in https://github.com/simonw/datasette/commit/6e788b49edf4f842c0817f006eb9d865778eea5e but forgot to remove the old code.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2041/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1612296210 I_kwDOBm6k_c5gGbAS 2033 `datasette install -r requirements.txt` simonw 9599 closed 0     2 2023-03-06T22:17:17Z 2023-03-06T22:54:52Z 2023-03-06T22:27:34Z OWNER  

Would be useful for cases where you want to install a whole set of plugins in one go, e.g. when running tutorials in GitHub Codespaces.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2033/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1590839187 PR_kwDOBm6k_c5KSs9T 2028 add Python 3.11 classifier dtrodrigues 614233 closed 0     2 2023-02-19T20:16:03Z 2023-03-06T21:01:20Z 2023-03-06T21:01:19Z CONTRIBUTOR simonw/datasette/pulls/2028

Python 3.11 is tested in CI and is used in the docker image, so add the Python 3.11 Trove classifier.


:books: Documentation preview :books:: https://datasette--2028.org.readthedocs.build/en/2028/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2028/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1594383280 I_kwDOBm6k_c5fCFuw 2030 How to use Datasette with apache webserver on GCP? gk7279 19700859 closed 0     2 2023-02-22T03:08:49Z 2023-02-22T21:54:39Z 2023-02-22T21:54:39Z NONE  

Hi Simon and Datasette team-

I have installed apache2 webserver inside GCP VM using apt.

I can see my "Hello World" index.html if I use the external IP of this GCP in a browser.

However, when I try to run datasette with different combinations of -h and -p, I am still unable to access the webpage.

I cannot invest Docker on this VM.

Any pointers to use datasette with already existing apache2 webserver on GCP is appreciated.

Thanks.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2030/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1579695809 I_kwDOBm6k_c5eKD7B 2023 Error: Invalid setting 'hash_urls' in settings.json in 0.64.1 mlaparie 80409402 closed 0     2 2023-02-10T13:35:01Z 2023-02-10T15:40:00Z 2023-02-10T15:39:59Z NONE  

On a Debian machine, using datasette 0.64.1 installed with pip3, I am getting a datasette[114272]: Error: Invalid setting 'hash_urls' in settings.json in journalctl -xe. The same settings work on 0.54.1 on another Debian server.

This is my settings.json:

json { "default_page_size": 200, "max_returned_rows": 8000, "num_sql_threads": 3, "sql_time_limit_ms": 1000, "default_facet_size": 30, "facet_time_limit_ms": 200, "facet_suggest_time_limit_ms": 50, "hash_urls": false, "allow_facet": true, "allow_download": true, "suggest_facets": true, "default_cache_ttl": 5, "default_cache_ttl_hashed": 31536000, "cache_size_kb": 0, "allow_csv_stream": true, "max_csv_mb": 100, "truncate_cells_html": 2048, "force_https_urls": false, "template_debug": false, "base_url": "/pclim/db/" }

This looks ok to me. Would you have any ideas?

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2023/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1522778923 I_kwDOBm6k_c5aw8Mr 1978 Document datasette.urls.row and row_blob eyeseast 25778 closed 0     2 2023-01-06T15:45:51Z 2023-01-09T14:30:00Z 2023-01-09T14:30:00Z CONTRIBUTOR  

These are in the codebase but not in documentation. I think everything else in this class is documented.

```python class Urls: ... def row(self, database, table, row_path, format=None): path = f"{self.table(database, table)}/{row_path}" if format is not None: path = path_with_format(path=path, format=format) return PrefixedUrlString(path)

def row_blob(self, database, table, row_path, column):
    return self.table(database, table) + "/{}.blob?_blob_column={}".format(
        row_path, urllib.parse.quote_plus(column)
    )

```

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1978/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  not_planned
1522552817 PR_kwDOBm6k_c5G0XxH 1977 Bump sphinx from 5.3.0 to 6.1.1 dependabot[bot] 49699333 closed 0     2 2023-01-06T13:02:12Z 2023-01-09T13:06:17Z 2023-01-09T13:06:14Z CONTRIBUTOR simonw/datasette/pulls/1977

Bumps sphinx from 5.3.0 to 6.1.1.

Release notes

Sourced from sphinx's releases.

v6.1.1

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

v6.1.0

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

v6.0.1

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

v6.0.0

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

v6.0.0b2

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

v6.0.0b1

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

Changelog

Sourced from sphinx's changelog.

Release 6.1.1 (released Jan 05, 2023)

Bugs fixed

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

Release 6.1.0 (released Jan 05, 2023)

Dependencies

  • Adopted the Ruff_ code linter.

    .. _Ruff: https://github.com/charliermarsh/ruff

Incompatible changes

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

Deprecated

  • sphinx.util functions:

    • Renamed sphinx.util.typing.stringify() to sphinx.util.typing.stringify_annotation()
    • Moved sphinx.util.xmlname_checker() to sphinx.builders.epub3._XML_NAME_PATTERN

    Moved to sphinx.util.display:

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

    Moved to sphinx.util.http_date:

    • sphinx.util.epoch_to_rfc1123
    • sphinx.util.rfc1123_to_epoch

    Moved to sphinx.util.exceptions:

    • sphinx.util.save_traceback

... (truncated)

Commits
  • 77aaa86 Bump to 6.1.1 final
  • 476c115 Suppress ValueError in apply_source_workaround (#11092)
  • c80d656 Bump version
  • 4e1004a Bump to 6.1.0 final
  • a2176d4 Fix deprecation warnings
  • 2c104e9 Merge branch '6.0.x'
  • a27d262 Bump to 6.0.1 final
  • 821569e Add note for Pygments
  • 222d366 imgmath: Fix relative file path (#10965)
  • c499f66 Add SIM113 lint (#11057)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--1977.org.readthedocs.build/en/1977/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1977/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1520712722 PR_kwDOBm6k_c5GuDBN 1976 Bump sphinx from 5.3.0 to 6.1.0 dependabot[bot] 49699333 closed 0     2 2023-01-05T13:02:37Z 2023-01-06T13:02:17Z 2023-01-06T13:02:15Z CONTRIBUTOR simonw/datasette/pulls/1976

Bumps sphinx from 5.3.0 to 6.1.0.

Release notes

Sourced from sphinx's releases.

v6.1.0

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

v6.0.1

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

v6.0.0

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

v6.0.0b2

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

v6.0.0b1

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

Changelog

Sourced from sphinx's changelog.

Release 6.1.0 (released Jan 05, 2023)

Dependencies

  • Adopted the Ruff_ code linter.

    .. _Ruff: https://github.com/charliermarsh/ruff

Incompatible changes

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

Deprecated

  • sphinx.util functions:

    • Renamed sphinx.util.typing.stringify() to sphinx.util.typing.stringify_annotation()
    • Moved sphinx.util.xmlname_checker() to sphinx.builders.epub3._XML_NAME_PATTERN

    Moved to sphinx.util.display:

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

    Moved to sphinx.util.http_date:

    • sphinx.util.epoch_to_rfc1123
    • sphinx.util.rfc1123_to_epoch

    Moved to sphinx.util.exceptions:

    • sphinx.util.save_traceback
    • sphinx.util.format_exception_cut_frames

Features added

  • Cache doctrees in the build environment during the writing phase.
  • Make all writing phase tasks support parallel execution.
  • #11072: Use PEP 604 (X | Y) display conventions for typing.Optional and typing.Optional types within the Python domain and autodoc.

... (truncated)

Commits
  • 4e1004a Bump to 6.1.0 final
  • a2176d4 Fix deprecation warnings
  • 2c104e9 Merge branch '6.0.x'
  • a27d262 Bump to 6.0.1 final
  • 821569e Add note for Pygments
  • 222d366 imgmath: Fix relative file path (#10965)
  • c499f66 Add SIM113 lint (#11057)
  • 0fbd8af Add missing default arguments in sphinx-apidoc.rst (#11084)
  • f89f943 Remove flake8 plugins in favour of Ruff (#11085)
  • 0479115 Suppress lint failures from Ruff 0.0.211 (#11086)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--1976.org.readthedocs.build/en/1976/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1976/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1516376583 PR_kwDOBm6k_c5GfPJL 1974 Bump sphinx from 5.3.0 to 6.0.0 dependabot[bot] 49699333 closed 0     2 2023-01-02T13:04:26Z 2023-01-05T13:02:42Z 2023-01-05T13:02:40Z CONTRIBUTOR simonw/datasette/pulls/1974

Bumps sphinx from 5.3.0 to 6.0.0.

Release notes

Sourced from sphinx's releases.

v6.0.0

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

v6.0.0b2

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

v6.0.0b1

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

Changelog

Sourced from sphinx's changelog.

Release 6.0.0 (released Dec 29, 2022)

Dependencies

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

Incompatible changes

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

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

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

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

    .. code-block:: html+jinja

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

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

    Patch by Adam Turner.

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

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

Features added

... (truncated)

Commits
  • 5b56a23 Bump to 6.0.0 final
  • f1d1e9c Update coverage workflow for Tox 4
  • 66a738c Update coverage workflow for new configuration location
  • 041e5f8 Add test coverage for 'today_fmt' reference substitution (#10980)
  • da25145 Remove unnecessary conditional import in sphinx.ext.napoleon (#11043)
  • 45a0ea9 Migrate coveragepy config into pyproject.toml (#11025)
  • 3ec54f1 Create a pydata_sphinx_theme section in usage examples (#11046)
  • 32bce8f Copy edit the tutorial (#11049)
  • 9844162 Fix example using add_config_value (#10937)
  • bf4a626 RTD builder: add graphviz depedendency (#11040)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)

:books: Documentation preview :books:: https://datasette--1974.org.readthedocs.build/en/1974/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1974/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1515182998 I_kwDOBm6k_c5aT9uW 1970 Path "None" in _internal database table simonw 9599 closed 0     2 2022-12-31T18:51:05Z 2022-12-31T19:22:58Z 2022-12-31T18:52:49Z OWNER  

See https://latest.datasette.io/_internal/databases (after https://latest.datasette.io/login-as-root)

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1970/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1503010009 PR_kwDOBm6k_c5FyT3c 1967 Add favicon to documentation choldgraf 1839645 closed 0     2 2022-12-19T14:01:04Z 2022-12-31T19:15:51Z 2022-12-31T19:00:31Z CONTRIBUTOR simonw/datasette/pulls/1967

I've been browsing the datasette documentation and found it hard to quickly locate tabs with many of them open, because it does not ship a favicon. So this PR:

  • Grabs the favicon .png from datasette itself[^1]
  • Adds it to the _static/ folder
  • Sets html_favicon to load it in the docs

[^1]: I also learned that Chrome can fetch favicons as an internal service! See chrome://favicon/https://datasette.io/tools/github-to-sqlite.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1967/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1501843596 PR_kwDOBm6k_c5FuaJm 1965 Detect server start/stop more reliably. janl 11321 closed 0     2 2022-12-18T10:03:42Z 2022-12-20T19:08:26Z 2022-12-18T16:01:51Z CONTRIBUTOR simonw/datasette/pulls/1965

This is useful, especially in testing, since your test hosts might not reliabliy start the server within two seconds, so we do a definite check before progressing.

By the same token, after kill $server_pid wait for the pid to be gone from the process list.

Since now the script can end prematurely, I also added a cleanup function to make sure the temporary certs are removed in any case.

n.b. this could also be done with the use of trap 'fn' ERR but that felt like a bit too much magic for this short a script.


:books: Documentation preview :books:: https://datasette--1965.org.readthedocs.build/en/1965/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1965/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1501713288 I_kwDOBm6k_c5ZglOI 1963 0.63.3 bugfix release simonw 9599 closed 0     2 2022-12-18T02:48:15Z 2022-12-18T03:26:55Z 2022-12-18T03:26:55Z OWNER  

I'm going to ship a release which back-ports these two fixes:

  • https://github.com/simonw/datasette/issues/1958
  • https://github.com/simonw/datasette/issues/1955
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1963/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1495821607 I_kwDOBm6k_c5ZKG0n 1953 Release notes for Datasette 1.0a2 simonw 9599 closed 0   Datasette 1.0a2 8711695 2 2022-12-14T06:26:40Z 2022-12-15T02:02:15Z 2022-12-15T02:01:08Z OWNER  

https://github.com/simonw/datasette/milestone/27?closed=1

https://github.com/simonw/datasette/compare/1.0a1...9ad76d279e2c3874ca5070626a25458ce129f126

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1953/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1483320357 I_kwDOBm6k_c5Yaawl 1937 /db/-/create API should require insert-rows permission to use row: or rows: option simonw 9599 closed 0   Datasette 1.0a2 8711695 2 2022-12-08T01:33:09Z 2022-12-14T20:21:26Z 2022-12-14T20:21:26Z OWNER  

Otherwise someone with create-table but noinsert-rows permission could abuse it to insert data.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1937/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1497288666 I_kwDOBm6k_c5ZPs_a 1956 Handle abbreviations properly in permission_allowed_actor_restrictions simonw 9599 closed 0   Datasette 1.0a2 8711695 2 2022-12-14T19:54:21Z 2022-12-14T20:04:29Z 2022-12-14T20:04:28Z OWNER  

This code currently assumes abbreviations are:

pyton action_initials = "".join([word[0] for word in action.split("-")])

https://github.com/simonw/datasette/blob/1a3dcf494376e32f7cff110c86a88e5b0a3f3924/datasette/default_permissions.py#L182-L208

That's no longer correct, they are now registered by the new plugin hook: - #1939

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1956/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1495241162 I_kwDOBm6k_c5ZH5HK 1950 Bad ?_sort returns a 500 error, should be a 400 simonw 9599 closed 0     2 2022-12-13T22:08:16Z 2022-12-13T22:23:22Z 2022-12-13T22:23:22Z OWNER  

https://latest.datasette.io/fixtures/facetable?_sort=bad

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1950/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1493339206 I_kwDOBm6k_c5ZAoxG 1946 `datasette --get` mechanism for sending tokens simonw 9599 closed 0   Datasette 1.0a2 8711695 2 2022-12-13T04:25:05Z 2022-12-13T04:36:57Z 2022-12-13T04:36:57Z OWNER  

For the tests for datasette create-token it would be useful if datasette --get had a mechanism for sending an Authorization: Bearer X header.

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1855#issuecomment-1347731288

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1946/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1473664029 PR_kwDOBm6k_c5ELz0u 1930 Typo in JSON API `Updating a row` documentation davidbgk 3556 closed 0     2 2022-12-03T02:22:31Z 2022-12-08T21:12:35Z 2022-12-08T21:12:35Z CONTRIBUTOR simonw/datasette/pulls/1930

:books: Documentation preview :books:: https://datasette--1930.org.readthedocs.build/en/1930/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1930/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1469043836 I_kwDOBm6k_c5Xj9R8 1917 Don't allow writable API to edit the `_memory` database simonw 9599 closed 0   Datasette 1.0a1 7867486 2 2022-11-30T04:51:59Z 2022-11-30T05:07:56Z 2022-11-30T05:07:55Z OWNER  

It shows up on https://latest.datasette.io/-/api (once you are signed in as root) - but there's no point in creating tables in it because they likely won't persist from one request to the next, as it's not a shared named database.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1917/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1468519699 I_kwDOBm6k_c5Xh9UT 1911 `/db/-/create` should support creating tables with compound primary keys simonw 9599 closed 0   Datasette 1.0a0 8658075 2 2022-11-29T18:30:47Z 2022-11-29T18:50:58Z 2022-11-29T18:48:05Z OWNER  

Found myself needing this to write the tests for: - #1864

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1911/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1452485922 PR_kwDOBm6k_c5DEh-E 1898 Use DOMContentLoaded instead of load event for CodeMirror initialization bgrins 95570 closed 0     2 2022-11-17T00:19:21Z 2022-11-18T07:29:01Z 2022-11-18T07:29:01Z CONTRIBUTOR simonw/datasette/pulls/1898

Closes #1894


:books: Documentation preview :books:: https://datasette--1898.org.readthedocs.build/en/1898/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1898/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1447388809 I_kwDOBm6k_c5WRWaJ 1887 Add a confirm step to the drop table API simonw 9599 closed 0   Datasette 1.0a0 8658075 2 2022-11-14T04:59:53Z 2022-11-15T19:59:59Z 2022-11-14T05:18:51Z OWNER  

In playing with the API explorer just now I realized it's way too easy to accidentally drop a table using it.

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1871#issuecomment-1313097057

Added drop table API in: - #1874

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1887/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1431786951 I_kwDOBm6k_c5VV1XH 1876 SQL query should wrap on SQL interrupted screen simonw 9599 closed 0     2 2022-11-01T17:14:01Z 2022-11-01T17:22:33Z 2022-11-01T17:22:33Z OWNER  

Just saw this:

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1876/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1400431789 PR_kwDOBm6k_c5AWyQK 1837 Make hash and size a lazy property fgregg 536941 closed 0     2 2022-10-06T23:51:22Z 2022-10-27T20:51:21Z 2022-10-27T20:51:20Z CONTRIBUTOR simonw/datasette/pulls/1837

Many apologies, @simonw. My previous PR #1835 did not really solve the problem because the name of the database is often not known to database object in the init method.

I took a cue from how you dealt with this issue and made hash a lazy property and did something similar with size.


:books: Documentation preview :books:: https://datasette--1837.org.readthedocs.build/en/1837/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1837/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1420055377 I_kwDOBm6k_c5UpFNR 1847 Both _local_metadata and _metadata_local? simonw 9599 closed 0     2 2022-10-24T01:43:08Z 2022-10-24T01:53:13Z 2022-10-24T01:53:13Z OWNER  

Spotted this in the debugger against the datasette object while running tests (pytest -k test_permissions_cascade to be exact):

(Pdb) [p for p in dir(self) if p.startswith('_') and '__' not in p] ['_actor', '_asset_urls', '_connected_databases', '_crumb_items', '_local_metadata', '_metadata', '_metadata_local', '_metadata_recursive_update', '_permission_checks', '_plugins', '_prepare_connection', '_refresh_schemas', '_refresh_schemas_lock', '_register_custom_units', '_register_renderers', '_root_token', '_routes', '_secret', '_settings', '_show_messages', '_startup_hook_calculation', '_startup_hook_fired', '_startup_invoked', '_threads', '_versions', '_write_messages_to_response']

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1847/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1386456717 PR_kwDOBm6k_c4_oHI4 1820 [SPIKE] Don't truncate query CSVs fgregg 536941 closed 0     2 2022-09-26T17:27:01Z 2022-10-07T16:12:17Z 2022-10-07T16:12:17Z CONTRIBUTOR simonw/datasette/pulls/1820

Relates to #526

This is a minimal set of changes needed for having query CSVs attempt to download all the rows.

What's good about it is the minimalism.

What's bad about it:

  1. We are abusing the _size argument to indicate we don't want truncation, which isn't the most obvious thing. Additionally, there are various checks that make sure the "_size" URL parameter is a positive integer, which we are relying on to prevent overloading.
  2. The default CSV on a table page will use the max_returned_rows argument. Changing this could be a breaking change, since that's currently a place that has some facilities for pagination. Additionally, i think there's a limit under the hood somewhere which if we removed could lead to sql timeouts
  3. There are similar reasons for leaving the current streaming method alone, as the current methods could allow for downloading very large files that could have a sql timeout if we tried to get them in one go.

:books: Documentation preview :books:: https://datasette--1820.org.readthedocs.build/en/1820/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1820/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
1  
1397193691 I_kwDOBm6k_c5TR3vb 1832 __bool__ method on Results simonw 9599 closed 0     2 2022-10-05T04:18:12Z 2022-10-05T04:32:33Z 2022-10-05T04:32:33Z OWNER  

Wrote this code today: https://github.com/simonw/datasette-public/blob/1401bfae50e71c1dfd2bfb6954f2e86d5a7ab21b/datasette_public/init.py#L41 python results = await db.execute( "select 1 from _public_tables where table_name = ?", [table_name] ) if len(results): return True Would be nice if I could use if results there instead.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1832/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1393903845 I_kwDOBm6k_c5TFUjl 1828 word-wrap: anywhere resulting in weird display simonw 9599 closed 0     2 2022-10-02T21:25:03Z 2022-10-02T23:01:17Z 2022-10-02T23:01:17Z OWNER  

e.g. on https://github-to-sqlite.dogsheep.net/github/commits

This is from a change introduced here: https://github.com/simonw/datasette/commit/bf8d84af5422606597be893cedd375020cb2b369 in #1805

https://github.com/simonw/datasette/blob/bf8d84af5422606597be893cedd375020cb2b369/datasette/static/app.css#L447-L450

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1828/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1388227245 PR_kwDOBm6k_c4_uCkO 1825 Add documentation for serving via OpenRC asimpson 1048831 closed 0     2 2022-09-27T19:00:56Z 2022-09-28T04:21:37Z 2022-09-28T04:21:37Z CONTRIBUTOR simonw/datasette/pulls/1825

I also removed a few lines which felt redundant given the following section dedicated to running behind a nginx proxy.


:books: Documentation preview :books:: https://datasette--1825.org.readthedocs.build/en/1825/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1825/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1378640768 I_kwDOBm6k_c5SLGOA 1816 Validate settings.json on startup in configuration directory mode simonw 9599 closed 0     2 2022-09-19T23:35:18Z 2022-09-20T01:15:48Z 2022-09-20T01:15:48Z OWNER  

It might have been useful for Datasette to show an error when started against a settings.json file that contains an invalid setting though.

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1814#issuecomment-1251677554

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1816/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1378495690 I_kwDOBm6k_c5SKizK 1814 Static files not served frafra 4068 closed 0     2 2022-09-19T20:38:17Z 2022-09-19T23:35:06Z 2022-09-19T23:34:30Z NONE  

Folder structure:

bibliography/ bibliography/static-files bibliography/static-files/styles.css bibliography/bibliography.db bibliography/metadata.json bibliography/settings.json

$ cat bibliography/settings.json { "suggest_facets": false, "truncate_cells_html": 1000, "static": "assets:static-files/" }

File /assets/styles.css is not found (HTTP 404, Database not found: assets).

Using datasette revision d0737e4de51ce178e556fc011ccb8cc46bbb6359.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1814/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1339663518 I_kwDOBm6k_c5P2aSe 1784 Include "entrypoint" option on `--load-extension`? asg017 15178711 closed 0     2 2022-08-16T00:22:57Z 2022-08-23T18:34:31Z 2022-08-23T18:34:31Z CONTRIBUTOR  

Problem

SQLite extensions have the option to define multiple "entrypoints" in each loadable extension. For example, the upcoming version of sqlite-lines will have 2 entrypoints: the default sqlite3_lines_init (which SQLite will automatically guess for) and sqlite3_lines_noread_init. The sqlite3_lines_noread_init version omits functions that read from the filesystem, which is necessary for security purposes when running untrusted SQL (which Datasette does).

(Similar multiple entrypoints will also be added for sqlite-http).

The --load-extension flag, however, doesn't give the option to specify a different entrypoint, so the default one is always used.

Proposal

I want there to be a new command line option of the --load-extension flag to specify a custom entrypoint like so: datasette my.db \ --load-extension ./lines0 sqlite3_lines0_noread_init

Then, under the hood, this line of code:

https://github.com/simonw/datasette/blob/7af67b54b7d9bca43e948510fc62f6db2b748fa8/datasette/app.py#L562

Would look something like this:

python conn.execute("SELECT load_extension(?, ?)", [extension, entrypoint])

One potential problem: For backward compatibility, I'm not sure if Click allows cli flags to have variable number of options ("arity"). So I guess it could also use a : delimiter like --static:

datasette my.db \ --load-extension ./lines0:sqlite3_lines0_noread_init

Or maybe even a new flag name?

datasette my.db \ --load-extension-entrypoint ./lines0 sqlite3_lines0_noread_init

Personally I prefer the : option... and maybe even --load-extension -> --load? Definitely out of scope for this issue tho

datasette my.db \ --load./lines0:sqlite3_lines0_noread_init

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1784/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1338278056 I_kwDOBm6k_c5PxICo 1782 Release notes for Datasette 0.62 simonw 9599 closed 0   Datasette 0.62 8303187 2 2022-08-14T15:26:45Z 2022-08-14T17:40:45Z 2022-08-14T17:32:54Z OWNER  

I've written a lot of these already for the alphas:

  • https://github.com/simonw/datasette/releases/tag/0.62a0
  • https://github.com/simonw/datasette/releases/tag/0.62a1
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1782/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1223527226 I_kwDOBm6k_c5I7Ys6 1738 "Cannot use _sort and _sort_desc at the same time" simonw 9599 closed 0   Datasette 0.62 8303187 2 2022-05-03T01:06:24Z 2022-08-14T16:13:55Z 2022-08-14T16:13:55Z OWNER  

Triggered this error while playing with the sort desc checkbox and the apply button that are only visible on this page at mobile screen width:

https://latest.datasette.io/fixtures/compound_three_primary_keys?_sort_desc=pk1

Navigate to that page (with the browser narrow enough to show the box), un-check the box and click Apply:

Also notable: I managed to get to a page with ?_sort_desk=pk1 in the URL three times by clicking around with that button.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1738/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1292377561 PR_kwDOBm6k_c46wdOW 1766 Keep track of config_dir eyeseast 25778 closed 0     2 2022-07-03T17:37:02Z 2022-07-18T01:12:45Z 2022-07-18T01:12:45Z CONTRIBUTOR simonw/datasette/pulls/1766

Closes #1764

Small change that adds self.config_dir = config_dir to Datasette.__init__. This will let plugins also use config_dir, if available.

datasette 107914493 pull    
{
    "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
}
0  
1261826957 PR_kwDOBm6k_c45Kojn 1753 Bump furo from 2022.4.7 to 2022.6.4.1 dependabot[bot] 49699333 closed 0     2 2022-06-06T13:10:22Z 2022-06-22T13:22:37Z 2022-06-22T13:22:35Z CONTRIBUTOR simonw/datasette/pulls/1753

Bumps furo from 2022.4.7 to 2022.6.4.1.

Changelog

Sourced from furo's changelog.

Changelog

2022.06.04.1 -- Naughty Nickel bugfix

  • Fix the URL used in the "Edit this page" for Read the Docs builds.

2022.06.04 -- Naughty Nickel

  • ✨ Advertise Sphinx 5 compatibility.
  • ✨ Change to basic-ng as the base theme (from {pypi}sphinx-basic-ng).
  • Document site-wide announcement banners.
  • Drop the pin on pygments.
  • Improve edit button, using basic-ng's edit-this-page component.
  • Tweak headings to better match what users expect.
  • Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
  • When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.

2022.04.07 -- Magical Mauve

  • ✨ Make sphinx-copybutton look better.
  • Add margin to indentations in line blocks.
  • Add styling for non-arabic list styles
  • Add support for html_baseurl.
  • Improve "Edit this page" icon to be more accessible.
  • Improve html_sidebars example.
  • Tweak positioning of back to top on desktop.

2022.03.04 -- Lucent Lilac

  • Improve support for print media.
  • Reduce heading sizes for h3 and below.
  • Don't allow selecting headerlink content.
  • Improve how overflow wrapping is handled.
  • Add a reference from the configuration variables to the color customisation page.

2022.02.23 -- Keen Kobi

  • ✨ Add a "Back to Top" button that shows up when scrolling up.
  • Add a URL to GitHub in Project-URLs.
  • Break long words in the prev/next buttons.
  • Fix includes in Kitchen sink.

... (truncated)

Commits
  • 1142fad Prepare release: 2022.06.04.1
  • 211abb4 Update changelog
  • 06cdba6 Fix the edit this page URL
  • 43ce491 Back to development
  • fb6e486 Prepare release: 2022.06.04
  • 090b02e Update changelog
  • 098d51d Fix the Just the Docs link
  • 7fa8d08 Change to a post-transform for wrapping math blocks and table
  • 51f1e52 Speed up determining if there's multiple toc entries
  • 99a6ff8 Update caniuse-lite NPM package
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)
datasette 107914493 pull    
{
    "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
}
0  
1243517592 I_kwDOBm6k_c5KHpKY 1748 Add copy buttons next to code examples in the documentation simonw 9599 closed 0     2 2022-05-20T19:09:00Z 2022-05-20T19:15:00Z 2022-05-20T19:11:32Z OWNER  

Similar to the ones in datasette-copyable which are implemented here: https://github.com/executablebooks/sphinx-copybutton/tree/f84c001a0507f8ec46779d0701b079a265564583

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1748/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1213281044 PR_kwDOBm6k_c42qyUI 1717 Add timeout option to Cloudrun build wragge 127565 closed 0     2 2022-04-23T11:51:21Z 2022-04-24T14:03:08Z 2022-04-24T14:03:08Z CONTRIBUTOR simonw/datasette/pulls/1717

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.

datasette 107914493 pull    
{
    "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
}
0  
1174404647 I_kwDOBm6k_c5F__4n 1669 Release 0.61 alpha simonw 9599 closed 0     2 2022-03-20T00:35:35Z 2022-03-20T01:24:36Z 2022-03-20T01:24:36Z OWNER  

I'm going to release this as a 0.61 alpha so I can more easily depend on it from datasette-hashed-urls.

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1668#issuecomment-1073136896

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1669/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1170554975 I_kwDOBm6k_c5FxUBf 1663 Document the internals that were used in datasette-hashed-urls simonw 9599 closed 0   Datasette 1.0 3268330 2 2022-03-16T05:17:08Z 2022-03-19T04:04:50Z 2022-03-17T21:32:38Z OWNER  

The https://github.com/simonw/datasette-hashed-urls used a couple of currently undocumented features: - db.hash - Datasette(..., immutables=[...])

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1663/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1122416919 I_kwDOBm6k_c5C5rkX 1623 /-/patterns returns link: alternate JSON header to 404 simonw 9599 closed 0   Datasette 1.0 3268330 2 2022-02-02T21:42:49Z 2022-03-19T04:04:49Z 2022-02-02T21:48:56Z OWNER  

Bug from: - #1620

% curl -s -I 'https://latest.datasette.io/-/patterns' | grep link link: https://latest.datasette.io/-/patterns.json; rel="alternate"; type="application/json+datasette"

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1623/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1109783030 I_kwDOBm6k_c5CJfH2 1607 More detailed information about installed SpatiaLite version simonw 9599 closed 0   Datasette 1.0 3268330 2 2022-01-20T21:28:03Z 2022-02-09T06:42:02Z 2022-02-09T06:32:28Z OWNER  

https://www.gaia-gis.it/gaia-sins/spatialite-sql-5.0.0.html#version has a whole bunch of interesting functions for things like freexl_version() and geos_version() and HasMathSQL() and suchlike.

These could be shown on the /-/versions page.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1607/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1101705012 PR_kwDOBm6k_c4w7eqc 1593 Update pytest-asyncio requirement from <0.17,>=0.10 to >=0.10,<0.18 dependabot[bot] 49699333 closed 0     2 2022-01-13T13:11:50Z 2022-02-07T13:13:24Z 2022-02-07T13:13:23Z CONTRIBUTOR simonw/datasette/pulls/1593

Updates the requirements on pytest-asyncio to permit the latest version.

Release notes

Sourced from pytest-asyncio's releases.

pytest-asyncio 0.17.0


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

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

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

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

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

Features

  • fixtures for creating and injecting versions of the asyncio event loop
  • fixtures for injecting unused tcp/udp ports
  • pytest markers for treating tests as asyncio coroutines
  • easy testing with non-default event loops
  • support for [async def]{.title-ref} fixtures and async generator fixtures
  • support auto mode to handle all async fixtures and tests automatically by asyncio; provide strict mode if a test suite should work with different async frameworks simultaneously, e.g. asyncio and trio.

Installation

... (truncated)

Commits
  • 2e2d5d2 Bump to 0.17 release
  • 90436c9 Fix pandoc installation procedure
  • d291c66 Convert README.rst to Markdown for making githun release
  • 141937b Fix release artifacts
  • 696cf7d Fix trove classifier for asyncio
  • 8ccb306 Build on tag
  • cd84987 Release process automation (#252)
  • 2eb12a7 Setup GitHub Workflows linter and yaml-reformatter (#253)
  • d28b826 Bump codecov/codecov-action from 1 to 2.1.0 (#251)
  • 2f523ba Configure dependabot version updater (#250)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)
datasette 107914493 pull    
{
    "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
}
0  
1119413338 PR_kwDOBm6k_c4x1kCu 1616 Bump black from 21.12b0 to 22.1.0 dependabot[bot] 49699333 closed 0     2 2022-01-31T13:13:46Z 2022-02-02T22:23:52Z 2022-02-02T22:23:51Z CONTRIBUTOR simonw/datasette/pulls/1616

Bumps black from 21.12b0 to 22.1.0.

Release notes

Sourced from black's releases.

22.1.0

At 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.

Highlights

  • Remove Python 2 support (#2740)
  • Introduce the --preview flag (#2752)

Style

  • Deprecate --experimental-string-processing and move the functionality under --preview (#2789)
  • For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
  • Black now normalizes string prefix order (#2297)
  • Remove spaces around power operators if both operands are simple (#2726)
  • Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
  • Use parentheses for attribute access on decimal float and int literals (#2799)
  • Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
  • Treat blank lines in stubs the same inside top-level if statements (#2820)
  • Fix unstable formatting with semicolons and arithmetic expressions (#2817)
  • Fix unstable formatting around magic trailing comma (#2572)

Parser

  • Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password} (#2686)
  • Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b (#2716)
  • Fix call patterns that contain as-expressions with keyword arguments, like case Foo(bar=baz as quux) (#2749)
  • Tuple unpacking on return and yield constructs now implies 3.8+ (#2700)
  • Unparenthesized tuples on annotated assignments (e.g values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)
  • Fix handling of standalone match() or case() when there is a trailing newline or a comment inside of the parentheses. (#2760)
  • from __future__ import annotations statement now implies Python 3.7+ (#2690)

Performance

  • Speed-up the new backtracking parser about 4X in general (enabled when --target-version is set to 3.10 and higher). (#2728)
  • 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)

Configuration

  • Do not accept bare carriage return line endings in pyproject.toml (#2408)
  • Add configuration option (python-cell-magics) to format cells with custom magics in Jupyter Notebooks (#2744)
  • Allow setting custom cache directory on all platforms with environment variable BLACK_CACHE_DIR (#2739).
  • Enable Python 3.10+ by default, without any extra need to specify --target-version=py310. (#2758)
  • Make passing SRC or --code mandatory and mutually exclusive (#2804)

Output

  • Improve error message for invalid regular expression (#2678)
  • Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
  • No longer color diff headers white as it's unreadable in light themed terminals (#2691)
  • Text coloring added in the final statistics (#2712)
  • Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)

Packaging

  • All upper version bounds on dependencies have been removed (#2718)
  • typing-extensions is no longer a required dependency in Python 3.10+ (#2772)
  • Set click lower bound to 8.0.0 as Black crashes on 7.1.2 (#2791)

... (truncated)

Changelog

Sourced from black's changelog.

22.1.0

At 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.

Highlights

  • Remove Python 2 support (#2740)
  • Introduce the --preview flag (#2752)

Style

  • Deprecate --experimental-string-processing and move the functionality under --preview (#2789)
  • For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
  • Black now normalizes string prefix order (#2297)
  • Remove spaces around power operators if both operands are simple (#2726)
  • Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
  • Use parentheses for attribute access on decimal float and int literals (#2799)
  • Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
  • Treat blank lines in stubs the same inside top-level if statements (#2820)
  • Fix unstable formatting with semicolons and arithmetic expressions (#2817)
  • Fix unstable formatting around magic trailing comma (#2572)

Parser

  • Fix mapping cases that contain as-expressions, like case {"key": 1 | 2 as password} (#2686)
  • Fix cases that contain multiple top-level as-expressions, like case 1 as a, 2 as b (#2716)
  • Fix call patterns that contain as-expressions with keyword arguments, like case Foo(bar=baz as quux) (#2749)
  • Tuple unpacking on return and yield constructs now implies 3.8+ (#2700)
  • Unparenthesized tuples on annotated assignments (e.g values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)
  • Fix handling of standalone match() or case() when there is a trailing newline or a comment inside of the parentheses. (#2760)
  • from __future__ import annotations statement now implies Python 3.7+ (#2690)

Performance

  • Speed-up the new backtracking parser about 4X in general (enabled when --target-version is set to 3.10 and higher). (#2728)
  • 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)

... (truncated)

Commits
  • See full diff in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)
datasette 107914493 pull    
{
    "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
}
0  
1117132741 I_kwDOBm6k_c5ClhfF 1615 Potential simplified publishing mechanism aidansteele 369053 closed 0     2 2022-01-28T08:34:50Z 2022-02-02T07:34:21Z 2022-02-02T07:34:17Z NONE  

Hi,

Forewarning: this idea is one I've only been thinking about for a while and it's not fully fleshed-out yet.

I love Datasette and what it stands for. I was thinking about how we could make it accessible to more people, especially those without access to credit cards required for a lot of hosting options. Or they might not feel comfortable signing up for said services.

So I was thinking I might create a service that hosts Datasette instances for folks. I'd probably stick it on AWS Lambda and limit requests to something like n/month to avoid bankrupting myself. If I did build such a hypothetical service, I was thinking I would rely on GitHub Actions to do the heavy lifting.

E.g. user johndoe creates a repo my-animals with a couple of files: dogs.csv, cats.csv and the following GitHub Actions workflow:

```yaml

.github/workflows/push.yml

on: push

this allows the publish action to use OIDC to authenticate johndoe/my-animals

permissions: id-token: write contents: read

jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/setup-python@v2

  - run: pip install sqlite-utils

  - uses: actions/checkout@v2

  - run: |
      set -eux

      sqlite-utils create-database animals.db          
      sqlite-utils insert animals.db dogs dogs.csv --csv          
      sqlite-utils insert animals.db cats cats.csv --csv

  - uses: datasette-hub/publish@v1
    with:
      db: animals.db
      metadata: meta.yml

    # this step is helpful for debugging why the
    # generated sqlite db was rejected
  - uses: actions/upload-artifact@v2
    if: failure()
    with:
      path: animals.db
      retention-days: 1

```

This would then cause a Datasette instance to be available at https://johndoe-my-animals.datasette-hub.test/. It feels like this could significantly reduce the friction to someone being able to go from data set to Datasette.

What do you think? Does this address a real need? Or am I perhaps misunderstanding the main friction points? As a bonus: it feels like this would pair well with git scraping.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1615/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
842416110 MDU6SXNzdWU4NDI0MTYxMTA= 1278 SpatiaLite timezones demo is broken simonw 9599 closed 0     2 2021-03-27T04:45:27Z 2022-01-20T21:29:43Z 2021-03-27T16:17:13Z OWNER  

https://github.com/simonw/datasette/blob/5fd02890650db790b2ffdb90eb9f78f8e0639c37/docs/spatialite.rst#L96

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1278/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
443040665 MDU6SXNzdWU0NDMwNDA2NjU= 466 Move "no such module: VirtualSpatialIndex" code elsewhere simonw 9599 closed 0   0.28 4305096 2 2019-05-11T22:09:00Z 2022-01-20T21:29:41Z 2019-05-11T22:57:22Z OWNER  

We currently show a useful warning (from #331) when the user tries to open a spatialite database without first loading the module:

https://github.com/simonw/datasette/blob/c692cd291111050483a32bea1ee08e994a0b781b/datasette/app.py#L547-L554

This code is part of .inspect() which is going away - see #462 - so I need to find somewhere else for it to live.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/466/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
563347679 MDU6SXNzdWU1NjMzNDc2Nzk= 668 Make it easier to load SpatiaLite simonw 9599 closed 0     2 2020-02-11T17:03:43Z 2022-01-20T21:29:41Z 2021-01-04T20:18:39Z OWNER  

``` $ datasette spatial.db Serve! files=('spatial.db',) (immutables=()) on port 8001 ERROR: conn=<sqlite3.Connection object at 0x11e388f10>, sql = 'PRAGMA table_info(SpatialIndex);', params = None: no such module: VirtualSpatialIndex Usage: datasette serve [OPTIONS] [FILES]...

Error: It looks like you're trying to load a SpatiaLite database without first loading the SpatiaLite module.

Read more: https://datasette.readthedocs.io/en/latest/spatialite.html This error message could sniff around in the common locations for the SpatiaLite module and output the CLI command you should use to enable it: datasette spatial.db --load-extension=/usr/local/lib/mod_spatialite.dylib `` Even better: if Datasette had a--spatialite` option which automatically loads the extension from common locations, if it can find it.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/668/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
336936010 MDU6SXNzdWUzMzY5MzYwMTA= 331 Datasette throws error when loading spatialite db without extension loaded psychemedia 82988 closed 0     2 2018-06-29T09:51:14Z 2022-01-20T21:29:40Z 2018-07-10T15:13:36Z CONTRIBUTOR  

When starting datasette on a SpatialLite database without loading the SpatiaLite extension (using eg --load-extension=/usr/local/lib/mod_spatialite.dylib) an error is thrown and the server fails to start:

datasette -p 8003 adminboundaries.db Serve! files=('adminboundaries.db',) on port 8003 Traceback (most recent call last): File "/Users/ajh59/anaconda3/bin/datasette", line 11, in <module> sys.exit(cli()) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/datasette/cli.py", line 552, in serve ds.inspect() File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/datasette/app.py", line 273, in inspect "tables": inspect_tables(conn, self.metadata.get("databases", {}).get(name, {})) File "/Users/ajh59/anaconda3/lib/python3.6/site-packages/datasette/inspect.py", line 79, in inspect_tables "PRAGMA table_info({});".format(escape_sqlite(table)) sqlite3.OperationalError: no such module: VirtualSpatialIndex

It would be nice to trap this and return a message saying something like:

``` It looks like you're trying to load a SpatiaLite database? Make sure you load in the SpatiaLite extension when starting datasette.

Read more: https://datasette.readthedocs.io/en/latest/spatialite.html ```

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/331/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1097040427 I_kwDOBm6k_c5BY4Ir 1587 Add `sqlite_stat1`(-4) tables to hidden table list simonw 9599 closed 0     2 2022-01-08T21:28:20Z 2022-01-20T04:12:59Z 2022-01-20T04:12:59Z OWNER  

Running ANALYZE creates a new visible table called sqlite_stat1: https://www.sqlite.org/fileformat.html#the_sqlite_stat1_table

This should be added to the default list of hidden tables in Datasette.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1587/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
991467558 MDU6SXNzdWU5OTE0Njc1NTg= 1466 Add Datasette Desktop to installation documentation simonw 9599 closed 0   Datasette 0.60 7571612 2 2021-09-08T19:41:27Z 2022-01-13T22:28:28Z 2022-01-13T21:55:18Z OWNER  

See https://datasette.io/desktop and https://simonwillison.net/2021/Sep/8/datasette-desktop/

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1466/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1083921371 I_kwDOBm6k_c5Am1Pb 1570 Separate db.execute_write() into three methods simonw 9599 closed 0   Datasette 0.60 7571612 2 2021-12-18T18:45:54Z 2022-01-13T22:27:38Z 2021-12-18T18:57:25Z OWNER  

Rather than adding a executemany=True parameter, I'm now thinking a better design might be to have three methods:

  • db.execute_write(sql, params=None, block=False)
  • db.execute_write_script(sql, block=False)
  • db.execute_write_many(sql, params_seq, block=False)

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1555#issuecomment-997267416

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1570/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1083895395 I_kwDOBm6k_c5Amu5j 1569 db.execute_write(..., executescript=True) parameter simonw 9599 closed 0   Datasette 0.60 7571612 2 2021-12-18T18:20:47Z 2022-01-13T22:27:27Z 2021-12-18T18:34:18Z OWNER  

Idea: teach execute_write to accept an optional executescript=True parameter, like this: ```diff diff --git a/datasette/database.py b/datasette/database.py index 468e936..1a424f5 100644 --- a/datasette/database.py +++ b/datasette/database.py @@ -94,10 +94,14 @@ class Database: f"file:{self.path}{qs}", uri=True, check_same_thread=False )

  • async def execute_write(self, sql, params=None, block=False):
  • async def execute_write(self, sql, params=None, executescript=False, block=False):
  • assert not executescript and params, "Cannot use params with executescript=True" def _inner(conn): with conn:
  • return conn.execute(sql, params or [])
  • if executescript:
  • return conn.executescript(sql)
  • else:
  • return conn.execute(sql, params or [])
     with trace("sql", database=self.name, sql=sql.strip(), params=params):
         results = await self.execute_write_fn(_inner, block=block)
    

    ```

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1555#issuecomment-997248364

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1569/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1083726550 I_kwDOBm6k_c5AmFrW 1568 Trace should show queries on the write connection too simonw 9599 closed 0   Datasette 0.60 7571612 2 2021-12-18T02:34:12Z 2022-01-13T22:27:23Z 2021-12-18T02:42:34Z OWNER  

Here's why - trace only applies to read, not write SQL operations: https://github.com/simonw/datasette/blob/7c8f8aa209e4ba7bf83976f8495d67c28fbfca24/datasette/database.py#L209-L211

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1555#issuecomment-997128508

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1568/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1083573206 I_kwDOBm6k_c5AlgPW 1563 Datasette(... files=) should not be a required argument simonw 9599 closed 0   Datasette 0.60 7571612 2 2021-12-17T19:54:18Z 2022-01-13T22:27:18Z 2021-12-18T02:19:40Z OWNER  

```pycon

ds = Datasette(memory=True) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: init() missing 1 required positional argument: 'files' ds = Datasette(memory=True, files=[]) `` I wanted to create an in-memory Datasette for running some tests, no point in forcing me to passfiles=[]` to do that.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1563/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1073712378 I_kwDOBm6k_c4__4z6 1544 Code that detects the label column for a table is case-sensitive simonw 9599 closed 0     2 2021-12-07T20:01:25Z 2021-12-07T20:03:43Z 2021-12-07T20:03:43Z OWNER  

I just noticed that a column called Name is not being picked up as the label column for a table.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1544/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1059549523 I_kwDOBm6k_c4_J3FT 1526 Add to vercel.json, rather than overwriting it. mroswell 192568 closed 0     2 2021-11-22T00:47:12Z 2021-11-22T04:49:45Z 2021-11-22T04:13:47Z CONTRIBUTOR  

I'd like to be able to add to vercel.json. But Datasette overwrites whatever I put in that file. I originally reported this here: https://github.com/simonw/datasette-publish-vercel/issues/51

In that case, I wanted to do a rewrite... and now I need to do 301 redirects (because we had to rename our site).

Can this be addressed?

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1526/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1057996111 I_kwDOBm6k_c4_D71P 1517 Let `register_routes()` over-ride default routes within Datasette simonw 9599 closed 0   Datasette 1.0 3268330 2 2021-11-19T00:22:15Z 2021-11-19T03:20:00Z 2021-11-19T03:07:27Z OWNER  

See https://github.com/simonw/datasette/issues/878#issuecomment-973554024_ - right now register_routes() can't replace default Datasette routes.

It would be neat if plugins could do this - especially if there was a neat documented way for them to then re-dispatch to the original route code after making some kind of modification.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1517/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1056117435 PR_kwDOBm6k_c4up0R0 1514 Bump black from 21.9b0 to 21.11b0 dependabot[bot] 49699333 closed 0     2 2021-11-17T13:13:55Z 2021-11-18T13:11:17Z 2021-11-18T13:11:15Z CONTRIBUTOR simonw/datasette/pulls/1514

Bumps black from 21.9b0 to 21.11b0.

Release notes

Sourced from black's releases.

21.11b0

Black

  • Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
  • Add experimental PyPy support (#2559)
  • Add partial support for the match statement. As it's experimental, it's only enabled when --target-version py310 is explicitly specified (#2586)
  • Add support for parenthesized with (#2586)
  • Declare support for Python 3.10 for running Black (#2562)

Integrations

  • Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
  • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)

21.10b0

Black

  • Document stability policy, that will apply for non-beta releases (#2529)
  • Add new --workers parameter (#2514)
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
  • Deprecate Python 2 formatting support (#2523)

Blackd

  • Remove dependency on aiohttp-cors (#2500)
  • Bump required aiohttp version to 3.7.4 (#2509)

Black-Primer

  • Add primer support for --projects (#2555)
  • Print primer summary after individual failures (#2570)

Integrations

  • Allow to pass target_version in the vim plugin (#1319)
  • Install build tools in docker file and use multi-stage build to keep the image size down (#2582)
Changelog

Sourced from black's changelog.

21.11b0

Black

  • Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
  • Add experimental PyPy support (#2559)
  • Add partial support for the match statement. As it's experimental, it's only enabled when --target-version py310 is explicitly specified (#2586)
  • Add support for parenthesized with (#2586)
  • Declare support for Python 3.10 for running Black (#2562)

Integrations

  • Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
  • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)

21.10b0

Black

  • Document stability policy, that will apply for non-beta releases (#2529)
  • Add new --workers parameter (#2514)
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
  • Deprecate Python 2 formatting support (#2523)

Blackd

  • Remove dependency on aiohttp-cors (#2500)
  • Bump required aiohttp version to 3.7.4 (#2509)

Black-Primer

  • Add primer support for --projects (#2555)
  • Print primer summary after individual failures (#2570)

Integrations

  • Allow to pass target_version in the vim plugin (#1319)
  • Install build tools in docker file and use multi-stage build to keep the image size down (#2582)
Commits
  • See full diff in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)
datasette 107914493 pull    
{
    "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
}
0  
1041158024 PR_kwDOBm6k_c4t7RKr 1500 Bump black from 21.9b0 to 21.10b0 dependabot[bot] 49699333 closed 0     2 2021-11-01T13:11:23Z 2021-11-17T13:14:00Z 2021-11-17T13:13:58Z CONTRIBUTOR simonw/datasette/pulls/1500

Bumps black from 21.9b0 to 21.10b0.

Release notes

Sourced from black's releases.

21.10b0

Black

  • Document stability policy, that will apply for non-beta releases (#2529)
  • Add new --workers parameter (#2514)
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
  • Deprecate Python 2 formatting support (#2523)

Blackd

  • Remove dependency on aiohttp-cors (#2500)
  • Bump required aiohttp version to 3.7.4 (#2509)

Black-Primer

  • Add primer support for --projects (#2555)
  • Print primer summary after individual failures (#2570)

Integrations

  • Allow to pass target_version in the vim plugin (#1319)
  • Install build tools in docker file and use multi-stage build to keep the image size down (#2582)
Changelog

Sourced from black's changelog.

21.10b0

Black

  • Document stability policy, that will apply for non-beta releases (#2529)
  • Add new --workers parameter (#2514)
  • Fixed feature detection for positional-only arguments in lambdas (#2532)
  • Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
  • Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
  • Deprecate Python 2 formatting support (#2523)

Blackd

  • Remove dependency on aiohttp-cors (#2500)
  • Bump required aiohttp version to 3.7.4 (#2509)

Black-Primer

  • Add primer support for --projects (#2555)
  • Print primer summary after individual failures (#2570)

Integrations

  • Allow to pass target_version in the vim plugin (#1319)
  • Install build tools in docker file and use multi-stage build to keep the image size down (#2582)
Commits
  • See full diff in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)
datasette 107914493 pull    
{
    "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
}
0  
1021550542 I_kwDOBm6k_c4845_O 1482 Support Python 3.10 simonw 9599 closed 0     2 2021-10-09T00:30:52Z 2021-10-24T22:21:40Z 2021-10-24T22:19:55Z OWNER  

I started work on this in #1481 where I found a Python 3.10 bug that needs a workaround in Janus, see:

  • https://github.com/aio-libs/janus/issues/358

This is a tracking issue for anything else that shows up.

This is also needed for the Homebrew package to upgrade to 3.10:

  • https://github.com/Homebrew/homebrew-core/pull/86932
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1482/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
994450961 MDU6SXNzdWU5OTQ0NTA5NjE= 1469 Column cog shows "facet by this" when already default faceted simonw 9599 closed 0     2 2021-09-13T04:51:26Z 2021-10-13T21:20:07Z 2021-10-13T21:20:07Z OWNER  

e.g. on https://covid-19.datasettes.com/covid/economist_excess_deaths

But if you add ?_facet=country to the URL that goes away: https://covid-19.datasettes.com/covid/economist_excess_deaths?_facet_size=5&_facet=country

The logic that decides if the "Facet by this" item is shown does not take default metadata.json facets into account.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1469/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
982780906 MDExOlB1bGxSZXF1ZXN0NzIyNDgwNTQy 1453 Bump black from 21.7b0 to 21.8b0 dependabot[bot] 49699333 closed 0     2 2021-08-30T13:13:39Z 2021-09-14T13:10:40Z 2021-09-14T13:10:38Z CONTRIBUTOR simonw/datasette/pulls/1453

Bumps black from 21.7b0 to 21.8b0.

Release notes

Sourced from black's releases.

21.8b0

Black

  • Add support for formatting Jupyter Notebook files (#2357)
  • Move from appdirs dependency to platformdirs (#2375)
  • Present a more user-friendly error if .gitignore is invalid (#2414)
  • The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
  • Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
  • Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
  • Pin setuptools-scm build-time dependency version (#2457)
  • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)

Blackd

  • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)

Integrations

  • The provided pre-commit hooks no longer specify language_version to avoid overriding default_language_version (#2430)
Changelog

Sourced from black's changelog.

21.8b0

Black

  • Add support for formatting Jupyter Notebook files (#2357)
  • Move from appdirs dependency to platformdirs (#2375)
  • Present a more user-friendly error if .gitignore is invalid (#2414)
  • The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
  • Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
  • Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
  • Pin setuptools-scm build-time dependency version (#2457)
  • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)

Blackd

  • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)

Integrations

  • The provided pre-commit hooks no longer specify language_version to avoid overriding default_language_version (#2430)
Commits
  • See full diff in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) - `@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) - `@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)
datasette 107914493 pull    
{
    "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
}
0  
994390593 MDU6SXNzdWU5OTQzOTA1OTM= 1468 Faceting for custom SQL queries MichaelTiemannOSC 72577720 closed 0     2 2021-09-13T02:52:16Z 2021-09-13T04:54:22Z 2021-09-13T04:54:17Z CONTRIBUTOR  

Facets are awesome. But not when I need to join to tidy tables together. Or even just running explicitly the default SQL query that simply lists all the rows and columns of a table (up to SIZE). That is to say, when I browse a table, I see facets:

https://latest.datasette.io/fixtures/compound_three_primary_keys

But when I run a custom query, I don't:

https://latest.datasette.io/fixtures?sql=select+pk1%2C+pk2%2C+pk3%2C+content+from+compound_three_primary_keys+order+by+pk1%2C+pk2%2C+pk3+limit+101

Is there an idiom to cause custom SQL to come back with facet suggestions?

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1468/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
959284434 MDExOlB1bGxSZXF1ZXN0NzAyNDIyMjYz 1418 Spelling corrections plus CI job for codespell simonw 9599 closed 0     2 2021-08-03T16:21:19Z 2021-08-03T16:36:39Z 2021-08-03T16:36:38Z OWNER simonw/datasette/pulls/1418

Refs #1417.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1418/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
957298475 MDU6SXNzdWU5NTcyOTg0NzU= 1407 OSError: AF_UNIX path too long in ds_unix_domain_socket_server simonw 9599 closed 0     2 2021-07-31T18:36:06Z 2021-07-31T19:03:44Z 2021-07-31T19:03:44Z OWNER  

Got this exception while working on #1406.

``` @pytest.fixture(scope="session") def ds_unix_domain_socket_server(tmp_path_factory): socket_folder = tmp_path_factory.mktemp("uds") uds = str(socket_folder / "datasette.sock") ds_proc = subprocess.Popen( ["datasette", "--memory", "--uds", uds], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=tempfile.gettempdir(), ) # Give the server time to start time.sleep(1.5) # Check it started successfully

  assert not ds_proc.poll(), ds_proc.stdout.read().decode("utf-8")

E AssertionError: INFO: Started server process [48453] E INFO: Waiting for application startup. E INFO: Application startup complete. E Traceback (most recent call last): E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/bin/datasette", line 33, in <module> E sys.exit(load_entry_point('datasette', 'console_scripts', 'datasette')()) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/click/core.py", line 1137, in call E return self.main(args, kwargs) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/click/core.py", line 1062, in main E rv = self.invoke(ctx) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/click/core.py", line 1668, in invoke E return _process_result(sub_ctx.command.invoke(sub_ctx)) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/click/core.py", line 1404, in invoke E return ctx.invoke(self.callback, ctx.params) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/click/core.py", line 763, in invoke E return __callback(args, kwargs) E File "/Users/simon/Dropbox/Development/datasette/datasette/cli.py", line 583, in serve E uvicorn.run(ds.app(), uvicorn_kwargs) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/uvicorn/main.py", line 393, in run E server.run() E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/uvicorn/server.py", line 50, in run E loop.run_until_complete(self.serve(sockets=sockets)) E File "/Users/simon/.pyenv/versions/3.8.2/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete E return future.result() E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/uvicorn/server.py", line 67, in serve E await self.startup(sockets=sockets) E File "/Users/simon/.local/share/virtualenvs/datasette-AWNrQs95/lib/python3.8/site-packages/uvicorn/server.py", line 133, in startup E server = await asyncio.start_unix_server( E File "/Users/simon/.pyenv/versions/3.8.2/lib/python3.8/asyncio/streams.py", line 132, in start_unix_server E return await loop.create_unix_server(factory, path, **kwds) E File "/Users/simon/.pyenv/versions/3.8.2/lib/python3.8/asyncio/unix_events.py", line 296, in create_unix_server E sock.bind(path) E OSError: AF_UNIX path too long E
E assert not 1 E + where 1 = <bound method Popen.poll of \<subprocess.Popen object at 0x106924af0>>() E + where <bound method Popen.poll of \<subprocess.Popen object at 0x106924af0>> = <subprocess.Popen object at 0x106924af0>.poll ```

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1407/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
940891698 MDU6SXNzdWU5NDA4OTE2OTg= 1390 Mention restarting systemd in documentation simonw 9599 closed 0     2 2021-07-09T16:05:15Z 2021-07-09T16:32:57Z 2021-07-09T16:32:33Z OWNER  

https://docs.datasette.io/en/stable/deploying.html#running-datasette-using-systemd

Need to clarify that if you add a new database or change metadata you need to restart systemd.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1390/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
914130834 MDExOlB1bGxSZXF1ZXN0NjY0MDcyMDQ2 1370 Ensure db.path is a string before trying to insert into internal database eyeseast 25778 closed 0     2 2021-06-08T01:16:48Z 2021-06-21T15:57:39Z 2021-06-21T15:57:39Z CONTRIBUTOR simonw/datasette/pulls/1370

Fixes #1365

This is the simplest possible fix, with a test that will fail without it. There are a bunch of places where db.path is getting converted to and from a Path type, so this fix errs on the side of calling str(db.path) right before it's inserted.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1370/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
503190241 MDU6SXNzdWU1MDMxOTAyNDE= 584 Codec error in some CSV exports simonw 9599 closed 0     2 2019-10-07T01:15:34Z 2021-06-17T18:13:20Z 2019-10-18T05:23:16Z OWNER  

Got this exploring my Swarm checkins:

/swarm/stickers.csv?stickerType=messageOnly&_size=max

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/584/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
516748849 MDU6SXNzdWU1MTY3NDg4NDk= 612 CSV export is broken for tables with null foreign keys simonw 9599 closed 0     2 2019-11-02T22:52:47Z 2021-06-17T18:13:20Z 2019-11-02T23:12:53Z OWNER  

Following on from #406 - this CSV export appears to be broken:

https://14da705.datasette.io/fixtures/foreign_key_references.csv?_labels=on&_size=max csv pk,foreign_key_with_label,foreign_key_with_label_label,foreign_key_with_no_label,foreign_key_with_no_label_label 1,1,hello,1,1 2,, That second row should have 5 values, but it only has 4.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/612/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
759695780 MDU6SXNzdWU3NTk2OTU3ODA= 1133 Option to omit header row in CSV export simonw 9599 closed 0     2 2020-12-08T18:54:46Z 2021-06-17T18:12:31Z 2020-12-10T23:28:51Z OWNER  

?_header=off - for symmetry with existing option ?_nl=on.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1133/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
919508498 MDU6SXNzdWU5MTk1MDg0OTg= 1375 JSON export dumps JSON fields as TEXT frafra 4068 closed 0     2 2021-06-12T09:45:08Z 2021-06-14T09:41:59Z 2021-06-13T15:37:58Z NONE  

Hi! When a user tries to export data as JSON, I would expect to see the value of JSON columns represented as JSON instead of being rendered as a string. What do you think?

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1375/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
912464443 MDU6SXNzdWU5MTI0NjQ0NDM= 1360 Security flaw, to be fixed in 0.56.1 and 0.57 simonw 9599 closed 0     2 2021-06-05T21:53:51Z 2021-06-05T22:23:23Z 2021-06-05T22:22:06Z OWNER  

See security advisory here for details: https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g - the ?_trace=1 debugging option was not correctly escaping its JSON output, resulting in a reflected cross-site scripting vulnerability.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1360/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
849582643 MDExOlB1bGxSZXF1ZXN0NjA4MzM0MDk2 1291 Update docs: explain allow_download setting louispotok 5413548 closed 0     2 2021-04-03T05:28:33Z 2021-06-05T19:48:51Z 2021-06-05T19:48:51Z CONTRIBUTOR simonw/datasette/pulls/1291

This fixes one possible source of confusion seen in #502 and clarifies when database downloads will be shown and allowed.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1291/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
828811618 MDU6SXNzdWU4Mjg4MTE2MTg= 1257 Table names containing single quotes break things simonw 9599 closed 0     2 2021-03-11T06:29:38Z 2021-06-02T03:28:29Z 2021-06-02T03:28:29Z OWNER  

e.g. I found a table called Yesterday's ELRs by County

It threw an error inside the detect_fts() function attempting to run this SQL query:

sql select name from sqlite_master where rootpage = 0 and ( sql like '%VIRTUAL TABLE%USING FTS%content="Yesterday's ELRs by County"%' or sql like '%VIRTUAL TABLE%USING FTS%content=[Yesterday's ELRs by County]%' or ( tbl_name = "Yesterday's ELRs by County" and sql like '%VIRTUAL TABLE%USING FTS%' ) ) Here's the code at fault: https://github.com/simonw/datasette/blob/640ac7071b73111ba4423812cd683756e0e1936b/datasette/utils/init.py#L534-L548

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1257/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
906977719 MDU6SXNzdWU5MDY5Nzc3MTk= 1350 ?_nofacets=1 query string argument for disabling facets and suggested facets simonw 9599 closed 0     2 2021-05-31T02:22:29Z 2021-06-01T16:19:38Z 2021-05-31T02:39:18Z OWNER  

This is needed as an internal option for #1349. datasette-graphql can benefit from this too - maybe can even use it so that if you pass ?_shape=array it gets automatically added, fixing #263.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1350/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
908446997 MDU6SXNzdWU5MDg0NDY5OTc= 1353 ?_nocount=1 for opting out of table counts simonw 9599 closed 0     2 2021-06-01T15:53:27Z 2021-06-01T16:18:54Z 2021-06-01T16:17:04Z OWNER  

Running a trace against a CSV streaming export with the new _trace=1 feature from #1351 shows that the following code is executing a select count(*) from table for every page of results returned: https://github.com/simonw/datasette/blob/d1d06ace49606da790a765689b4fbffa4c6deecb/datasette/views/table.py#L700-L705

This is inefficient - a new ?_nocount=1 option would let us disable this count in the same way as #1349: https://github.com/simonw/datasette/blob/d1d06ace49606da790a765689b4fbffa4c6deecb/datasette/views/base.py#L264-L276

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1353/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
892457208 MDU6SXNzdWU4OTI0NTcyMDg= 1327 Support Unicode characters in metadata.json GmGniap 20846286 closed 0     2 2021-05-15T14:33:58Z 2021-05-24T19:10:21Z 2021-05-24T19:10:21Z NONE  

Hello , when I used Burmese (Unicode) characters in metadata.json like below -

It gave wrong results when I run datasette -

It would be great & helpful for us if metadata.json can support in Unicode supported Asian Languages. Thanks & Regards.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1327/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
890073989 MDExOlB1bGxSZXF1ZXN0NjQzMTQ5MzY0 1325 Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0 dependabot[bot] 49699333 closed 0     2 2021-05-12T13:09:03Z 2021-05-22T23:54:25Z 2021-05-22T23:54:25Z CONTRIBUTOR simonw/datasette/pulls/1325

Updates the requirements on itsdangerous to permit the latest version.

Release notes

Sourced from itsdangerous's releases.

2.0.0

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

  • Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/
  • Read the full list of changes: https://itsdangerous.palletsprojects.com/changes/#version-2-0-0
  • Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048
  • Follow our blog, Twitter, or GitHub to see future announcements.

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

Changelog

Sourced from itsdangerous's changelog.

Version 2.0.0

Released 2021-05-11

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

Version 1.1.0

Released 2018-10-26

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

Version 1.0.0

Released 2018-10-18

YANKED

... (truncated)

Commits
  • d101100 Merge pull request #235 from pallets/release-2.0.0
  • ca0f59a release version 2.0.0
  • d1ed89f update requirements
  • d1722ea Merge pull request #234 from pallets/pre-commit-ci-schedule
  • d1eb7aa update pre-commit monthly
  • acbc456 Merge pull request #233 from pallets/pre-commit-ci-update-config
  • 04e485a [pre-commit.ci] pre-commit autoupdate
  • c0e6b48 Merge pull request #232 from pallets/pre-commit-ci-update-config
  • 6a9df83 [pre-commit.ci] pre-commit autoupdate
  • 477f42c Merge pull request #231 from pallets/dependabot/pip/pre-commit-2.12.1
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1325/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
890073940 MDExOlB1bGxSZXF1ZXN0NjQzMTQ5MzIw 1324 Update jinja2 requirement from <2.12.0,>=2.10.3 to >=2.10.3,<3.1.0 dependabot[bot] 49699333 closed 0     2 2021-05-12T13:08:59Z 2021-05-17T17:19:41Z 2021-05-17T17:19:40Z CONTRIBUTOR simonw/datasette/pulls/1324

Updates the requirements on jinja2 to permit the latest version.

Release notes

Sourced from jinja2's releases.

3.0.0

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

  • Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/
  • Read the full list of changes: https://jinja.palletsprojects.com/changes/#version-3-0-0
  • Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048
  • Follow our blog, Twitter, or GitHub to see future announcements.

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

Changelog

Sourced from jinja2's changelog.

Version 3.0.0

Released 2021-05-11

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

... (truncated)

Commits
  • 417f822 Merge pull request #1417 from pallets/release-3.0.0
  • b15fd1c release version 3.0.0
  • eed1546 update requirements
  • 9627e73 Merge pull request #1416 from pallets/pre-commit-ci-schedule
  • 6630044 update pre-commit monthly
  • e1bf3bc Merge pull request #1415 from pallets/pre-commit-ci-update-config
  • 0798a66 [pre-commit.ci] pre-commit autoupdate
  • 53fea33 Merge pull request #1414 from pallets/typing-marker
  • ba1f27e fix py.typed in manifest
  • 1a3342b Merge pull request #1412 from pallets/typing
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1324/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  

Next page

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issues] (
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [number] INTEGER,
   [title] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [state] TEXT,
   [locked] INTEGER,
   [assignee] INTEGER REFERENCES [users]([id]),
   [milestone] INTEGER REFERENCES [milestones]([id]),
   [comments] INTEGER,
   [created_at] TEXT,
   [updated_at] TEXT,
   [closed_at] TEXT,
   [author_association] TEXT,
   [pull_request] TEXT,
   [body] TEXT,
   [repo] INTEGER REFERENCES [repos]([id]),
   [type] TEXT
, [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT);
CREATE INDEX [idx_issues_repo]
                ON [issues] ([repo]);
CREATE INDEX [idx_issues_milestone]
                ON [issues] ([milestone]);
CREATE INDEX [idx_issues_assignee]
                ON [issues] ([assignee]);
CREATE INDEX [idx_issues_user]
                ON [issues] ([user]);
Powered by Datasette · Queries took 330.973ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows