home / github

Menu
  • Search all tables
  • GraphQL API

issues

Table actions
  • GraphQL API for issues

187 rows where comments = 0, repo = 107914493 and state = "closed" sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

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

type 2

  • issue 110
  • pull 77

state 1

  • closed · 187 ✖

repo 1

  • datasette · 187 ✖
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
1886649402 I_kwDOBm6k_c5wc_w6 2179 Flaky test: test_hidden_sqlite_stat1_table simonw 9599 closed 0     0 2023-09-07T22:48:43Z 2023-09-07T22:51:19Z 2023-09-07T22:51:19Z OWNER  

This test here: https://github.com/simonw/datasette/blob/fbcb103c0cb6668018ace539a01a6a1f156e8d6a/tests/test_api.py#L1011-L1020

It failed for me like this:

E AssertionError: assert [('normal', False), ('sqlite_stat1', True), ('sqlite_stat4', True)] in ([('normal', False), ('sqlite_stat1', True)],)

Looks like some builds of SQLite include a sqlite_stat4 table.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2179/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1884333600 PR_kwDOBm6k_c5Zszqk 2175 Test against Python 3.12 preview simonw 9599 closed 0     0 2023-09-06T16:09:05Z 2023-09-06T16:16:28Z 2023-09-06T16:16:27Z OWNER simonw/datasette/pulls/2175

https://dev.to/hugovk/help-test-python-312-beta-1508/


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

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2175/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1876407598 I_kwDOBm6k_c5v17Uu 2169 execute-sql on a database should imply view-database/view-permission simonw 9599 closed 0     0 2023-08-31T22:45:56Z 2023-08-31T22:46:28Z 2023-08-31T22:46:28Z OWNER  

I noticed that a token with execute-sql permission alone did not work, because it was not allowed to view the instance of the database.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2169/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1795051447 I_kwDOBm6k_c5q_k-3 2097 Drop Python 3.7 simonw 9599 closed 0     0 2023-07-08T18:39:44Z 2023-08-23T18:18:00Z 2023-08-23T18:18:00Z OWNER  

I'm going to drop Python 3.7.

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

It's not supported any more: https://devguide.python.org/versions/

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2097/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1822940964 I_kwDOBm6k_c5sp98k 2115 Ensure all tests pass against new query view JSON simonw 9599 closed 0   Datasette 1.0a3 9700784 0 2023-07-26T18:25:20Z 2023-08-08T02:01:39Z 2023-08-08T02:01:38Z OWNER  
  • 2109

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2115/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1798901709 PR_kwDOBm6k_c5VM2MK 2099 Bump black from 23.3.0 to 23.7.0 dependabot[bot] 49699333 closed 0     0 2023-07-11T13:05:53Z 2023-07-21T21:19:25Z 2023-07-21T21:19:24Z CONTRIBUTOR simonw/datasette/pulls/2099

Bumps black from 23.3.0 to 23.7.0.

Release notes

Sourced from black's releases.

23.7.0

Highlights

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

Stable style

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

Preview style

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

Configuration

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

Packaging

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

Parser

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

Performance

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

Output

... (truncated)

Changelog

Sourced from black's changelog.

23.7.0

Highlights

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

Stable style

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

Preview style

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

Configuration

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

Packaging

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

Parser

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

Performance

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

Output

... (truncated)

Commits
  • 193ee76 Prepare release 23.7.0 (#3776)
  • 38723bb Unpin pytest-xdist (#3772)
  • 138769a Disable coverage on pypy tests (#3777)
  • ad3724b Upgrade to latest mypy (#3775)
  • b8e2ec7 Fix crash on type comment with trailing space (#3773)
  • 257d392 Fix removed comments in stub files (#3745)
  • 2593af2 Improve performance by skipping unnecessary normalisation (#3751)
  • f3b50e4 Add CITATION.cff file (#3723)
  • 0b4d7d5 Run pyupgrade on blib2to3 and src (#3771)
  • 114e835 Remove click patch (#3768)
  • 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--2099.org.readthedocs.build/en/2099/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2099/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1756975532 PR_kwDOBm6k_c5S_5Jl 2083 Bump blacken-docs from 1.13.0 to 1.14.0 dependabot[bot] 49699333 closed 0     0 2023-06-14T13:57:52Z 2023-06-29T14:31:55Z 2023-06-29T14:31:54Z CONTRIBUTOR simonw/datasette/pulls/2083

Bumps blacken-docs from 1.13.0 to 1.14.0.

Changelog

Sourced from blacken-docs's changelog.

1.14.0 (2023-06-13)

  • Support Python 3.12.
Commits
  • 4b94add Version 1.14.0
  • 292cb18 Support Python 3.12 (#251)
  • 72ecf2c [pre-commit.ci] pre-commit autoupdate (#249)
  • ea8f1ca Upgrade requirements (#248)
  • 9979d7a Upgrade requirements (#247)
  • 7b71075 [pre-commit.ci] pre-commit autoupdate (#245)
  • 6280868 [pre-commit.ci] pre-commit autoupdate (#244)
  • 83efc37 Upgrade requirements (#243)
  • 7aedc23 [pre-commit.ci] pre-commit autoupdate (#242)
  • d78d593 [pre-commit.ci] pre-commit autoupdate (#241)
  • 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--2083.org.readthedocs.build/en/2083/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2083/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1645098678 PR_kwDOBm6k_c5NIQri 2047 Bump black from 22.12.0 to 23.3.0 dependabot[bot] 49699333 closed 0     0 2023-03-29T06:09:06Z 2023-03-29T06:12:21Z 2023-03-29T06:12:05Z CONTRIBUTOR simonw/datasette/pulls/2047

Bumps black from 22.12.0 to 23.3.0.

Release notes

Sourced from black's releases.

23.3.0

Highlights

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

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

Stable style

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

Preview style

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

Parser

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

Integrations

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

Documentation

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

... (truncated)

Changelog

Sourced from black's changelog.

23.3.0

Highlights

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

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

Stable style

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

Preview style

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

Parser

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

Integrations

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

Documentation

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

... (truncated)

Commits
  • bf7a162 Fixup the changelog (#3628)
  • 9b2b048 Prepare release 23.3.0 (#3625)
  • bf5abdb Specify Python exec path with minor version if available (#3508)
  • b542f58 Use GH action version when version argument not specified (#3543)
  • f3b1a3b Bump furo from 2022.12.7 to 2023.3.23 in /docs (#3624)
  • ef6e079 Let string splitters respect East_Asian_Width property (#3445)
  • 5c064a9 Bump sphinx from 5.3.0 to 6.1.3 in /docs (#3499)
  • 3a9d6f0 Bump myst-parser from 0.18.1 to 1.0.0 in /docs (#3601)
  • 53c23e6 Support files with type comment syntax errors (#3594)
  • dba3c26 Fix bug introduced in #3564. (#3615)
  • 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--2047.org.readthedocs.build/en/2047/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2047/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1528995601 PR_kwDOBm6k_c5HJ55o 1986 Bump sphinx from 6.1.2 to 6.1.3 dependabot[bot] 49699333 closed 0     0 2023-01-11T13:02:36Z 2023-03-29T06:09:50Z 2023-03-29T06:09:49Z CONTRIBUTOR simonw/datasette/pulls/1986

Bumps sphinx from 6.1.2 to 6.1.3.

Release notes

Sourced from sphinx's releases.

v6.1.3

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

Changelog

Sourced from sphinx's changelog.

Release 6.1.3 (released Jan 10, 2023)

Bugs fixed

  • #11116: Reverted to previous Sphinx 5 node copying method
  • #11117: Reverted changes to parallel image processing from Sphinx 6.1.0
  • #11119: Supress ValueError in the linkcheck builder
Commits
  • 776d01e Bump to 6.1.3 final
  • a2e922a CHANGES for Sphinx 6.1.3
  • 31162a9 Handle exceptions for get_node_source and get_node_line
  • dcb4429 Restore Sphinx 5 nodes.Element copying behaviour
  • 2a7c40d Undo parallel image changes
  • 7841d3d Ignore more checks in Ruff 0.0.214
  • ddbc5b5 Bump version
  • 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--1986.org.readthedocs.build/en/1986/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1986/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1644018605 PR_kwDOBm6k_c5NEqBO 2046 Bump furo from 2022.12.7 to 2023.3.27 dependabot[bot] 49699333 closed 0     0 2023-03-28T13:58:14Z 2023-03-29T06:08:02Z 2023-03-29T06:08:01Z CONTRIBUTOR simonw/datasette/pulls/2046

Bumps furo from 2022.12.7 to 2023.3.27.

Changelog

Sourced from furo's changelog.

Changelog

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

... (truncated)

Commits
  • 2f61e10 Prepare release: 2023.03.27
  • 5c7aedd Update changelog
  • 0535011 Add missing class to Font Awesome examples (#629)
  • 811f1e7 Remove unused templates_path (#627)
  • 961d4e9 Add a inline-code as an example heading
  • 48af8eb Back to development
  • 81139dd Prepare release: 2023.03.23
  • dafa73a Update changelog
  • 82591ef Allow all pre tags to have overflows
  • 55b32f0 Update Python version classifiers (#626)
  • 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--2046.org.readthedocs.build/en/2046/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2046/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1515186569 I_kwDOBm6k_c5aT-mJ 1972 Fix Sphinx warning about extlink extension simonw 9599 closed 0     0 2022-12-31T19:12:04Z 2022-12-31T19:13:26Z 2022-12-31T19:13:26Z OWNER  

[sphinx-autobuild] > sphinx-build -b html /Users/simon/Dropbox/Development/datasette/docs /Users/simon/Dropbox/Development/datasette/docs/_build Running Sphinx v5.3.0 loading pickled environment... done WARNING: extlinks: Sphinx-6.0 will require a caption string to contain exactly one '%s' and all other '%' need to be escaped as '%%'.

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

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1972/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1499387139 PR_kwDOBm6k_c5FmNXs 1961 Use click.echo() instead of print() for --root option simonw 9599 closed 0     0 2022-12-16T00:54:56Z 2022-12-16T00:55:19Z 2022-12-16T00:55:18Z OWNER simonw/datasette/pulls/1961

This ensures the URL is output correctly when running under Docker.

Closes #1958


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

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1961/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1491840863 PR_kwDOBm6k_c5FMKSG 1944 Bump black from 22.10.0 to 22.12.0 dependabot[bot] 49699333 closed 0     0 2022-12-12T13:05:11Z 2022-12-13T05:23:31Z 2022-12-13T05:23:30Z CONTRIBUTOR simonw/datasette/pulls/1944

Bumps black from 22.10.0 to 22.12.0.

Release notes

Sourced from black's releases.

22.12.0

Preview style

  • Enforce empty lines before classes and functions with sticky leading comments (#3302)
  • 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)
  • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
  • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

Configuration

  • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
  • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

Parser

  • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

Integrations

  • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)
Changelog

Sourced from black's changelog.

22.12.0

Preview style

  • Enforce empty lines before classes and functions with sticky leading comments (#3302)
  • 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)
  • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
  • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

Configuration

  • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
  • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

Parser

  • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

Integrations

  • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)
Commits
  • 2ddea29 Prepare release 22.12.0 (#3413)
  • 5b1443a release: skip bad macos wheels for now (#3411)
  • 9ace064 Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)
  • 19c5fe4 Fix CI with latest flake8-bugbear (#3412)
  • d4a8564 Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)
  • 2793249 Wordsmith current_style.md (#3383)
  • d97b789 Remove whitespaces of whitespace-only files (#3348)
  • c23a5c1 Clarify that Black runs with --safe by default (#3378)
  • 8091b25 Correctly handle trailing commas that are inside a line's leading non-nested ...
  • ffaaf48 Compare each .gitignore found with an appropiate relative path (#3338)
  • 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/1944/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1493306655 I_kwDOBm6k_c5ZAg0f 1945 `view-instance` should not be checked for /-/actor.json simonw 9599 closed 0   Datasette 1.0a2 8711695 0 2022-12-13T04:01:46Z 2022-12-13T04:11:56Z 2022-12-13T04:11:56Z OWNER  

Spotted this while testing:

  • 1855

    export TOKEN=$(datasette create-token root --secret s -a foo) curl -H "Authorization: Bearer $TOKEN" http://localhost:8002/-/actor.json Returned a Forbidden error (and not in JSON either).
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1945/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1455932972 I_kwDOBm6k_c5Wx8Ys 1904 Datasette Lite tests failing due to httpx upgrade simonw 9599 closed 0   Datasette 1.0a0 8658075 0 2022-11-18T22:49:31Z 2022-11-18T22:57:48Z 2022-11-18T22:52:22Z OWNER  

Same problem as this one: - https://github.com/simonw/datasette-lite/issues/56

Caused this failure: https://github.com/simonw/datasette/actions/runs/3500765964

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1904/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1450796965 I_kwDOBm6k_c5WeWel 1894 Initialize CodeMirror during DOMContentLoaded instead of onload bgrins 95570 closed 0     0 2022-11-16T03:52:19Z 2022-11-18T07:29:02Z 2022-11-18T07:29:02Z CONTRIBUTOR  

As per https://github.com/simonw/datasette/pull/1893/files#r1023248927 this should prevent a flash between the textarea being replaced by CodeMirror.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1894/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1402608214 PR_kwDOBm6k_c5AdyZ4 1840 test commit 7lingyuan 102635518 closed 0     0 2022-10-10T05:15:26Z 2022-10-10T09:11:50Z 2022-10-10T09:11:50Z FIRST_TIMER simonw/datasette/pulls/1840

lalalalalalala


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

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1840/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1400083043 I_kwDOBm6k_c5Tc5Jj 1834 inspect data is not used for caching database hash fgregg 536941 closed 0     0 2022-10-06T17:52:01Z 2022-10-06T20:06:21Z 2022-10-06T20:06:08Z CONTRIBUTOR  

When databases are loaded,

https://github.com/simonw/datasette/blob/cb1e093fd361b758120aefc1a444df02462389a3/datasette/app.py#L257-L260

there is nothing preventing the rehashing of the database for immutable databases.

https://github.com/simonw/datasette/blob/cb1e093fd361b758120aefc1a444df02462389a3/datasette/database.py#L50-L53

what i might expect is that relevant values of inspect_data get passed to the Database class to prevent re-hashing?

With data that is many gigs large, this is a significant start up time.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1834/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1358848933 PR_kwDOBm6k_c4-NhzQ 1797 Bump black from 22.6.0 to 22.8.0 dependabot[bot] 49699333 closed 0     0 2022-09-01T13:25:14Z 2022-09-05T18:51:52Z 2022-09-05T18:51:52Z CONTRIBUTOR simonw/datasette/pulls/1797

Bumps black from 22.6.0 to 22.8.0.

Release notes

Sourced from black's releases.

22.8.0

Highlights

  • Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
  • This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
  • Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)

Stable style

  • Fix an infinite loop when using # fmt: on/off in the middle of an expression or code block (#3158)
  • Fix incorrect handling of # fmt: skip on colon (:) lines (#3148)
  • Comments are no longer deleted when a line had spaces removed around power operators (#2874)

Preview style

  • Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
  • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168)
  • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209)
  • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
  • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)

Blackd

  • blackd now supports enabling the preview style via the X-Preview header (#3217)

Configuration

  • Black now uses the presence of debug f-strings to detect target version (#3215)
  • Fix misdetection of project root and verbose logging of sources in cases involving --stdin-filename (#3216)
  • Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files in the project root and automatically discovered directories were respected (#3237)

Documentation

  • Recommend using BlackConnect in IntelliJ IDEs (#3150)

Integrations

  • Vim plugin: prefix messages with Black: so it's clear they come from Black (#3194)
  • Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)

Output

  • Change from deprecated asyncio.get_event_loop() to create our event loop which removes DeprecationWarning (#3164)
  • Remove logging from internal blib2to3 library since it regularly emits error logs about failed caching that can and should be ignored (#3193)

Parser

  • Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)

Performance

... (truncated)

Changelog

Sourced from black's changelog.

22.8.0

Highlights

  • Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
  • This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
  • Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)

Stable style

  • Fix an infinite loop when using # fmt: on/off in the middle of an expression or code block (#3158)
  • Fix incorrect handling of # fmt: skip on colon (:) lines (#3148)
  • Comments are no longer deleted when a line had spaces removed around power operators (#2874)

Preview style

  • Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
  • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168)
  • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209)
  • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
  • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)

Blackd

  • blackd now supports enabling the preview style via the X-Preview header (#3217)

Configuration

  • Black now uses the presence of debug f-strings to detect target version (#3215)
  • Fix misdetection of project root and verbose logging of sources in cases involving --stdin-filename (#3216)
  • Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files in the project root and automatically discovered directories were respected (#3237)

Documentation

  • Recommend using BlackConnect in IntelliJ IDEs (#3150)

Integrations

... (truncated)

Commits
  • 2018e66 Prepare docs for release 22.8.0 (#3248)
  • 0019261 Update stable branch after publishing to PyPI (#3223)
  • 7757078 Improve & update release process to reflect recent changes (#3242)
  • 767604e Use .gitignore files in the initial source directories (#3237)
  • 2c90480 Use strict mypy checking (#3222)
  • ba618a3 Add parens around implicit string concatenations where it increases readabili...
  • c0cc19b Delay worker count determination
  • afed2c0 Load .gitignore and exclude regex at time of use
  • e269f44 Lazily import parallelized format modules
  • c47b91f Fix misdetection of project root with --stdin-filename (#3216)
  • 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--1797.org.readthedocs.build/en/1797/

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1797/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1334415381 PR_kwDOBm6k_c488nq6 1778 Use Read the Docs action v1 humitos 244656 closed 0     0 2022-08-10T10:30:50Z 2022-08-20T00:04:17Z 2022-08-20T00:04:17Z CONTRIBUTOR simonw/datasette/pulls/1778

Read the Docs repository was renamed from readthedocs/readthedocs-preview to readthedocs/actions/. Now, the preview action is under readthedocs/actions/preview and is tagged as v1


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

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1778/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1343732788 I_kwDOBm6k_c5QF7w0 1788 Make it more obvious that Datasette publish can publish multiple databases simonw 9599 closed 0     0 2022-08-18T22:57:51Z 2022-08-18T23:06:16Z 2022-08-18T23:06:16Z OWNER  

Feedback initially for datasette-publish-fly but it applies to the others too.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1788/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1292368833 I_kwDOBm6k_c5NB_vB 1764 Keep track of config_dir in directory mode (for plugins) eyeseast 25778 closed 0     0 2022-07-03T16:57:49Z 2022-07-18T01:12:45Z 2022-07-18T01:12:45Z CONTRIBUTOR  

I started working on using config_dir with my datasette-query-files plugin and realized Datasette doesn't actually hold onto the config_dir argument. It gets used in __init__ but then forgotten. It would be nice to be able to use it in plugins, though.

Here's the reference issue: https://github.com/eyeseast/datasette-query-files/issues/4

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1764/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1223312279 PR_kwDOBm6k_c43MIU0 1736 Clean up compatibility with Pyodide simonw 9599 closed 0     0 2022-05-02T20:14:38Z 2022-05-02T20:15:28Z 2022-05-02T20:15:27Z OWNER simonw/datasette/pulls/1736

Closes #1735, closes #1733

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1736/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1194790504 I_kwDOBm6k_c5HNw5o 1701 Use + for spaces instead of ~20 simonw 9599 closed 0   Datasette 1.0 3268330 0 2022-04-06T15:40:48Z 2022-04-06T15:55:10Z 2022-04-06T15:55:05Z OWNER  

Tilde encoding introduced in #1657 means that database files with spaces in the name - e.g. the Apple Mail Envelope Index database - end up with URLs like this:

http://127.0.0.1:8001/Envelope~20Index

I think this would be prettier:

http://127.0.0.1:9933/Envelope+Index
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1701/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1182143895 I_kwDOBm6k_c5GdhWX 1691 Bug in pytest-httpx example simonw 9599 closed 0     0 2022-03-26T22:45:30Z 2022-03-26T22:46:09Z 2022-03-26T22:46:09Z OWNER  

https://docs.datasette.io/en/0.61.1/testing_plugins.html#testing-outbound-http-calls-with-pytest-httpx says:

python async def test_outbound_http_call(httpx_mock): httpx_mock.add_response( url='https://www.example.com/', data='Hello world', ) That's wrong - data= should be text=.

https://github.com/Colin-b/pytest_httpx/blob/v0.20.0/README.md#reply-with-custom-body

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1691/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1179928510 I_kwDOBm6k_c5GVEe- 1683 allow_facet: False should be respected by column cog menu simonw 9599 closed 0     0 2022-03-24T19:05:06Z 2022-03-24T19:16:36Z 2022-03-24T19:16:36Z OWNER  

The column cog menu currently shows "Facet by this" even if faceting is disabled for the Datasette instance.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1683/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1122413719 I_kwDOBm6k_c5C5qyX 1621 Test against Python 3.11 dev version simonw 9599 closed 0   Datasette 1.0 3268330 0 2022-02-02T21:38:57Z 2022-03-19T04:04:49Z 2022-02-02T21:58:54Z OWNER  

To avoid another surprise like we got with 3.10: https://simonwillison.net/2021/Oct/9/finding-and-reporting-a-bug/

From a quick GitHub code search it looks like 3.11-dev should work: https://cs.github.com/urllib3/urllib3/blob/7bec77e81aa0a194c98381053225813f5347c9d2/.github/workflows/ci.yml#L60

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1621/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1112633417 PR_kwDOBm6k_c4xfryi 1610 Update asgiref requirement from <3.5.0,>=3.2.10 to >=3.2.10,<3.6.0 dependabot[bot] 49699333 closed 0     0 2022-01-24T13:14:18Z 2022-03-06T01:30:27Z 2022-03-06T01:30:27Z CONTRIBUTOR simonw/datasette/pulls/1610

Updates the requirements on asgiref to permit the latest version.

Changelog

Sourced from asgiref's changelog.

3.5.0 (2022-01-22)

  • Python 3.6 is no longer supported, and asyncio calls have been changed to use only the modern versions of the APIs as a result

  • Several causes of RuntimeErrors in cases where an event loop was assigned to a thread but not running

  • Speed improvements in the Local class

3.4.1 (2021-07-01)

  • Fixed an issue with the deadlock detection where it had false positives during exception handling.

3.4.0 (2021-06-27)

  • Calling sync_to_async directly from inside itself (which causes a deadlock when in the default, thread-sensitive mode) now has deadlock detection.

  • asyncio usage has been updated to use the new versions of get_event_loop, ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10. Python 3.6 installs continue to use the old versions; this is only for 3.7+

  • sync_to_async and async_to_sync now have improved type hints that pass through the underlying function type correctly.

  • All Websocket* types are now spelled WebSocket, to match our specs and the official spelling. The old names will work until release 3.5.0, but will raise deprecation warnings.

  • The typing for WebSocketScope and HTTPScope's extensions key has been fixed.

3.3.4 (2021-04-06)

  • The async_to_sync type error is now a warning due the high false negative rate when trying to detect coroutine-returning callables in Python.

3.3.3 (2021-04-06)

... (truncated)

Commits
  • 8b61513 Releasing 3.5.0
  • b2e1c9d Fixed pytest_asyncio deprecation warning.
  • 2eda551 Added testing for Python 3.10.
  • 02fecb6 Drop Python 3.6 (#307)
  • 6689c0a Added stacklevel to warning in AsyncToSync.
  • 4364f9b Changed how StatelessServer handles event loops
  • 7bc055c Update implementations.rst (#295)
  • c758984 Move current_task import choice to module definition time
  • dfe87b2 Fixed #292: Use get_event_loop in class-level code
  • b3a65e3 Removed class variable which has been unused since a0bbe90
  • 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/1610/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1082746149 I_kwDOBm6k_c5AiWUl 1560 Table page title has "where where" in it simonw 9599 closed 0   Datasette 0.60 7571612 0 2021-12-17T00:05:48Z 2022-01-13T22:28:35Z 2022-01-13T22:20:15Z OWNER  

Just noticed this while working on #1518.

% curl -s 'https://latest.datasette.io/fixtures/facetable?_sort=pk&on_earth__exact=1' | grep -C 1 '<title>' <head> <title>fixtures: facetable: 14 rows where where on_earth = 1 sorted by pk</title>

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1560/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1083927147 I_kwDOBm6k_c5Am2pr 1571 Track number of executions for execute_write_many() in traces simonw 9599 closed 0   Datasette 0.60 7571612 0 2021-12-18T19:16:17Z 2022-01-13T22:27:49Z 2021-12-19T20:30:40Z OWNER  

Spotted while working on #1555

There's no indication there of how many times execute_write_many() executed the SQL.

Solving this is a tiny bit tricky because params_seq is an iterator that we don't want to exhaust before passing it to conn.executemany() - so we need to instead wrap it in something that counts how many times it was called.

But then we need a way to attach that to the trace here: https://github.com/simonw/datasette/blob/d637ed46762fdbbd8e32b86f258cd9a53c1cfdc7/datasette/database.py#L115-L122

So probably need to redesign the trace() decorator to allow extra pairs to be attached to it within the with statement.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1571/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1084007781 I_kwDOBm6k_c5AnKVl 1572 "Query took" should be "Queries took" simonw 9599 closed 0   Datasette 0.60 7571612 0 2021-12-19T04:03:00Z 2022-01-13T22:27:43Z 2021-12-19T04:03:24Z OWNER  

This is misleading, since usually there have been more than one query executed:

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1572/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1083718998 I_kwDOBm6k_c5AmD1W 1567 Remove undocumented sqlite_functions mechanism simonw 9599 closed 0   Datasette 0.60 7571612 0 2021-12-18T01:51:10Z 2022-01-13T22:27:04Z 2021-12-18T01:54:46Z OWNER  

I added this in 0b8c1b0a6da9cb8ac0d28cc90dd783de87554036 but it's never been documented and the same thing can now be achieved using the prepare_connection plugin hook.

https://github.com/simonw/datasette/blob/0c91e59d2bbfc08884cfcf5d1b902a2f4968b7ff/datasette/app.py#L262

https://github.com/simonw/datasette/blob/0c91e59d2bbfc08884cfcf5d1b902a2f4968b7ff/datasette/app.py#L551-L552

It's used here in the tests:

https://github.com/simonw/datasette/blob/69244a617b1118dcbd04a8f102173f04680cf08c/tests/fixtures.py#L156

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1567/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
988553806 MDU6SXNzdWU5ODg1NTM4MDY= 1457 suggestion: distinguish names in `--static` documentation ctb 51016 closed 0     0 2021-09-05T17:04:27Z 2021-10-14T18:39:55Z 2021-10-14T18:39:55Z CONTRIBUTOR  

Over in https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files, there is the slightly comical example command -

datasette -m metadata.json --static static:static/ --memory

(now, with MORE STATIC!)

It took me a while to sort out all the URLs and paths involved because I wasn't being very clever. But in the interests of simplification and distinction, I might suggest something like

datasette -m metadata.json --static loc:static-files/ --memory

I will submit a PR for your consideration.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1457/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1026664511 PR_kwDOBm6k_c4tNtoe 1490 Upgrade to httpx 0.20 simonw 9599 closed 0     0 2021-10-14T17:51:05Z 2021-10-14T18:03:45Z 2021-10-14T18:03:44Z OWNER simonw/datasette/pulls/1490

Refs #1488

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1490/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1000779422 PR_kwDOBm6k_c4r9CTw 1474 Update full_text_search.rst MichaelTiemannOSC 72577720 closed 0     0 2021-09-20T09:59:45Z 2021-10-13T21:10:23Z 2021-10-13T21:10:23Z CONTRIBUTOR simonw/datasette/pulls/1474

Change "above" to "below" to correct correspondence of reference to example.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1474/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
1023243105 I_kwDOBm6k_c48_XNh 1486 pipx installation instructions for plugins don't reference pipx inject RhetTbull 41546558 closed 0     0 2021-10-12T00:43:42Z 2021-10-13T21:09:11Z 2021-10-13T21:09:11Z CONTRIBUTOR  

The datasette installation instructions discuss how to install with pipx, how to upgrade with pipx, and how to upgrade plugins with pipx but do not mention how to install a plugin with pipx. You discussed this on your blog but looks like this didn't make it in when you updated the docs for pipx (#756).

I'll submit a PR shortly to fix this.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1486/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1021849766 I_kwDOBm6k_c486DCm 1483 Running a search on page 2 of results should not preserve ?_next= simonw 9599 closed 0     0 2021-10-10T01:18:12Z 2021-10-13T21:08:10Z 2021-10-13T21:08:10Z OWNER  

Reported by @eigenfoo in https://github.com/simonw/datasette/issues/1470

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1483/reactions",
    "total_count": 2,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 1,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1022294524 PR_kwDOBm6k_c4s_4Cw 1484 GitHub Actions: Add Python 3.10 to the tests cclauss 3709715 closed 0     0 2021-10-11T06:03:03Z 2021-10-11T06:03:31Z 2021-10-11T06:03:28Z FIRST_TIME_CONTRIBUTOR simonw/datasette/pulls/1484   datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1484/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
975049826 MDExOlB1bGxSZXF1ZXN0NzE2MjYyODI5 1444 Ability to deploy demos of branches simonw 9599 closed 0     0 2021-08-19T21:08:04Z 2021-08-19T21:09:44Z 2021-08-19T21:09:39Z OWNER simonw/datasette/pulls/1444

See #1442.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1444/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
959276629 MDU6SXNzdWU5NTkyNzY2Mjk= 1416 Use rich to render tracebacks on errors, if available simonw 9599 closed 0     0 2021-08-03T16:12:08Z 2021-08-03T16:12:51Z 2021-08-03T16:12:51Z OWNER  

Now thinking I should try adding Rich as an optional dependency to Datasette - if it's there, show tracebacks using it. Could be really handy for development https://twitter.com/simonw/status/1422576091055616003

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1416/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
946553953 MDExOlB1bGxSZXF1ZXN0NjkxNzA3NDA5 1397 Fix for race condition in refresh_schemas(), closes #1231 simonw 9599 closed 0     0 2021-07-16T19:44:43Z 2021-07-16T19:45:00Z 2021-07-16T19:44:58Z OWNER simonw/datasette/pulls/1397
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1397/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
912959264 MDU6SXNzdWU5MTI5NTkyNjQ= 1364 Don't truncate columns on the list of databases simonw 9599 closed 0     0 2021-06-06T22:01:56Z 2021-06-06T22:07:50Z 2021-06-06T22:07:50Z OWNER  

https://covid-19.datasettes.com/covid currently truncates at 9 database columns:

Django SQL Dashboard showed me that this is a bad idea - having the full list of columns is actually really useful documentation for crafting custom SQL queries.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1364/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
912419349 MDU6SXNzdWU5MTI0MTkzNDk= 1359 `?_trace=1` should only be available with a new `trace_debug` setting simonw 9599 closed 0     0 2021-06-05T19:59:27Z 2021-06-05T20:18:46Z 2021-06-05T20:18:46Z OWNER  

Just like template debug mode is controlled by this off-by-default setting: https://github.com/simonw/datasette/blob/368aa5f1b16ca35f82d90ff747023b9a2bfa27c1/datasette/app.py#L160-L164

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1359/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
864969683 MDU6SXNzdWU4NjQ5Njk2ODM= 1305 Index view crashes when any database table is not accessible to actor gfrmin 416374 closed 0     0 2021-04-22T13:44:22Z 2021-06-02T04:26:29Z 2021-06-02T04:26:29Z CONTRIBUTOR  

Because of https://github.com/simonw/datasette/blob/main/datasette/views/index.py#L63, the tables dict built does not include invisible tables; however, if https://github.com/simonw/datasette/blob/main/datasette/views/index.py#L80 is reached (because table_counts was not successfully initialized, e.g. due to a very large database) then as db.get_all_foreign_keys() returns ALL tables, a KeyError will be raised.

This error can be recreated with the fixtures.db if any table is hidden, e.g. by adding something like "foreign_key_references": { "allow": {} } to fixtures-metadata.json and deleting or not table_counts from https://github.com/simonw/datasette/blob/main/datasette/views/index.py#L77.

I'm not sure how to fix this error; perhaps by testing if the table is in the aforementions tables dict.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1305/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
904582277 MDExOlB1bGxSZXF1ZXN0NjU1NzI2Mzg3 1347 Test docker platform blair only blairdrummond 10801138 closed 0     0 2021-05-28T02:47:09Z 2021-05-28T02:47:28Z 2021-05-28T02:47:28Z CONTRIBUTOR simonw/datasette/pulls/1347
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1347/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
899169307 MDU6SXNzdWU4OTkxNjkzMDc= 1338 Fix jinja2 warnings simonw 9599 closed 0     0 2021-05-24T01:38:23Z 2021-05-24T01:41:55Z 2021-05-24T01:41:55Z OWNER  

Lots of these in the test suite now, after the Jinja upgrade in #1331: ``` tests/test_plugins.py::test_hook_render_cell_link_from_json datasette/tests/plugins/my_plugin_2.py:45: DeprecationWarning: 'jinja2.escape' is deprecated and will be removed in Jinja 3.1. Import 'markupsafe.escape' instead. label=jinja2.escape(data["label"] or "") or " ",

tests/test_plugins.py::test_hook_render_cell_link_from_json datasette/tests/plugins/my_plugin_2.py:41: DeprecationWarning: 'jinja2.Markup' is deprecated and will be removed in Jinja 3.1. Import 'markupsafe.Markup' instead. return jinja2.Markup( ```

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1338/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
807433181 MDU6SXNzdWU4MDc0MzMxODE= 1224 can't start immutable databases from configuration dir mode camallen 295329 closed 0     0 2021-02-12T17:50:13Z 2021-03-29T00:17:31Z 2021-03-29T00:17:31Z CONTRIBUTOR  

Say I have a /databases/ directory with multiple sqlite db files in that dir (1.db & 2.db) and an inspect-data.json file.

If I start datasette via datasette -h 0.0.0.0 /databases/ then the resulting databases are set to is_mutable: true as inspected via http://127.0.0.1:8001/-/databases.json

I don't want to have to list out the databases by name, e.g. datasette -i /databases/1.db -i /databases/2.db as i want the system to autodetect the sqlite dbs i have in the configuration directory

According to the docs outlined in https://docs.datasette.io/en/latest/settings.html?highlight=immutable#configuration-directory-mode this should be possible

inspect-data.json the result of running datasette inspect - any database files listed here will be treated as immutable, so they should not be changed while Datasette is running

I believe that if the inspect-json.json file present, then in theory the databases will be automatically set to immutable via this code https://github.com/simonw/datasette/blob/9603d893b9b72653895318c9104d754229fdb146/datasette/app.py#L211-L216

However it appears the Click Multiple Options will return a tuple via https://github.com/simonw/datasette/blob/9603d893b9b72653895318c9104d754229fdb146/datasette/cli.py#L311-L317

The resulting tuple is passed to the Datasette app via kwargs and overrides the behaviour to set the databases to immutable via this arg https://github.com/simonw/datasette/blob/9603d893b9b72653895318c9104d754229fdb146/datasette/app.py#L182

If you think this is a bug and needs fixing, I am willing to make a PR to check for the empty immutable tuple before calling the Datasette class initializer as I think leaving that class interface alone is the best path here.

Thoughts?

Also - i'm loving Datasette, it truly is a wonderful tool, thank you :)

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1224/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
763207948 MDU6SXNzdWU3NjMyMDc5NDg= 1141 Default styling for bullet point lists simonw 9599 closed 0     0 2020-12-12T02:49:33Z 2021-03-29T00:14:05Z 2021-03-29T00:14:05Z OWNER  

I just noticed that https://datasette.io/content/recent_releases (which uses datasette-render-markdown) is missing its bullet points:

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1141/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
806861312 MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz 1222 --ssl-keyfile and --ssl-certfile, refs #1221 simonw 9599 closed 0     0 2021-02-12T00:45:58Z 2021-02-12T00:52:18Z 2021-02-12T00:52:17Z OWNER simonw/datasette/pulls/1222
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1222/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
792958773 MDExOlB1bGxSZXF1ZXN0NTYwNzI1NzE0 1203 Easier way to run Prettier locally simonw 9599 closed 0     0 2021-01-25T01:39:06Z 2021-01-25T01:41:46Z 2021-01-25T01:41:46Z OWNER simonw/datasette/pulls/1203

Refs #1167

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1203/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
783714076 MDU6SXNzdWU3ODM3MTQwNzY= 1184 request.full_path property simonw 9599 closed 0   Datasette 0.54 6346396 0 2021-01-11T21:21:58Z 2021-01-24T21:21:16Z 2021-01-11T21:34:47Z OWNER  

I'll also add request.full_path for consistency with these: https://github.com/simonw/datasette/blob/97fb10c17dd007a275ab743742e93e932335ad67/datasette/utils/asgi.py#L77-L90

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

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1184/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
760605882 MDU6SXNzdWU3NjA2MDU4ODI= 1135 Feature: --create option to create database file if it does not yet exist simonw 9599 closed 0     0 2020-12-09T19:23:58Z 2021-01-24T21:19:39Z 2020-12-09T19:45:52Z OWNER  

I'd like to be able to tell people to run the following in the Datasette documentation to get started:

brew install datasette
datasette install datasette-upload-csvs
datasette data.db --create --root --open

This would give them a local Datasette instance with the ability to drag-and-drop CSV files directly into it.

Just one catch: I don't want to have to talk them through creating an empty SQLite database file. So I want to add a new --create option which means "If any of the database files passed on the command-line do not yet exist, create them".

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1135/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
761713079 MDU6SXNzdWU3NjE3MTMwNzk= 1138 "Powered by Datasette" should link to new datasette.io site simonw 9599 closed 0     0 2020-12-10T23:33:41Z 2020-12-15T02:28:10Z 2020-12-10T23:37:14Z OWNER  

https://datasette.io/

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1138/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
761706858 MDU6SXNzdWU3NjE3MDY4NTg= 1137 Update README to reflect new datasette.io site simonw 9599 closed 0     0 2020-12-10T23:22:06Z 2020-12-10T23:28:50Z 2020-12-10T23:28:50Z OWNER  

Can finally close #659.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1137/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
753788261 MDU6SXNzdWU3NTM3ODgyNjE= 1118 messagge_is_html typo simonw 9599 closed 0     0 2020-11-30T20:43:22Z 2020-11-30T21:24:28Z 2020-11-30T21:24:28Z OWNER  

https://ripgrep.datasette.io/-/ripgrep?pattern=messagge_is_html

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1118/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
735644513 MDU6SXNzdWU3MzU2NDQ1MTM= 1081 Fixtures should use FTS4 or FTS5, not FTS3 simonw 9599 closed 0   Datasette 0.52 6055094 0 2020-11-03T21:24:13Z 2020-11-12T00:03:00Z 2020-11-12T00:02:59Z OWNER  

Just spotted that fixtures.db uses FTS3, which is pretty much obsolete these days.

https://github.com/simonw/datasette/blob/13d1228d80c91d382a05b1a9549ed02c300ef851/tests/fixtures.py#L488-L489

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1081/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
733805089 MDU6SXNzdWU3MzM4MDUwODk= 1076 Release notes for 0.51 simonw 9599 closed 0   0.51 6026070 0 2020-10-31T20:51:21Z 2020-10-31T22:27:00Z 2020-10-31T22:27:00Z OWNER  

Start by combining release notes from https://github.com/simonw/datasette/releases/tag/0.51a0 and https://github.com/simonw/datasette/releases/tag/0.51a1 and https://github.com/simonw/datasette/releases/tag/0.51a2

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1076/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
718255803 MDU6SXNzdWU3MTgyNTU4MDM= 1004 Replace MockRequest with Request.fake() simonw 9599 closed 0   Datasette 0.50 5971510 0 2020-10-09T15:55:28Z 2020-10-09T16:26:24Z 2020-10-09T16:26:24Z OWNER  

This code: https://github.com/simonw/datasette/blob/7249ac5ca04b5ddc6517750326ee7e522cc49145/tests/utils.py#L1-L8

Predates the introduction of this class method: https://github.com/simonw/datasette/blob/7249ac5ca04b5ddc6517750326ee7e522cc49145/datasette/utils/asgi.py#L108-L121

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1004/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
713304417 MDU6SXNzdWU3MTMzMDQ0MTc= 989 Column action sort descending/ascending links should remove _next= pagination simonw 9599 closed 0   Datasette 0.50 5971510 0 2020-10-02T02:33:48Z 2020-10-08T23:55:15Z 2020-10-04T18:05:28Z OWNER  

On page https://latest.datasette.io/fixtures/sortable?_next=15%2Cg%2Cz&_sort=sortable clicking on sortable_with_nulls > sort_ascending links to https://latest.datasette.io/fixtures/sortable?_next=15%2Cg%2Cz&_sort_desc=sortable_with_nulls - which doesn't make sense.

Changing the sort order needs to reset to the first page.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/989/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
708185405 MDU6SXNzdWU3MDgxODU0MDU= 975 Dependabot couldn't authenticate with https://pypi.python.org/simple/ dependabot-preview[bot] 27856297 closed 0     0 2020-09-24T13:44:40Z 2020-09-25T13:34:34Z 2020-09-25T13:34:34Z CONTRIBUTOR  

Dependabot couldn't authenticate with https://pypi.python.org/simple/.

You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.

View the update logs.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/975/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
701584448 MDU6SXNzdWU3MDE1ODQ0NDg= 966 Remove _request_ip example from canned queries documentation simonw 9599 closed 0     0 2020-09-15T03:51:33Z 2020-09-15T03:52:45Z 2020-09-15T03:52:45Z OWNER  

_request_ip isn't valid, so it shouldn't be in the example: https://github.com/simonw/datasette/blob/cb515a9d75430adaf5e545a840bbc111648e8bfd/docs/sql_queries.rst#L320-L322

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/966/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
691475400 MDU6SXNzdWU2OTE0NzU0MDA= 958 Upgrade to latest Black (20.8b1) simonw 9599 closed 0   Datasette 0.49 5818042 0 2020-09-02T22:24:19Z 2020-09-11T21:34:24Z 2020-09-02T22:25:10Z OWNER  

Black has some changes: https://black.readthedocs.io/en/stable/change_log.html#b0 - in particular:

  • re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures (#1288 and duplicates)
  • Black now reindents docstrings when reindenting code around it (#1053)
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/958/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
679660778 MDExOlB1bGxSZXF1ZXN0NDY4Mzc3MjEy 937 Docs now live at docs.datasette.io simonw 9599 closed 0     0 2020-08-15T23:53:52Z 2020-08-15T23:57:06Z 2020-08-15T23:57:05Z OWNER simonw/datasette/pulls/937
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/937/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
679637501 MDU6SXNzdWU2Nzk2Mzc1MDE= 934 --get doesn't fully invoke the startup routine simonw 9599 closed 0     0 2020-08-15T20:30:25Z 2020-08-15T20:53:49Z 2020-08-15T20:53:49Z OWNER  

https://github.com/simonw/datasette/blob/7702ea602188899ee9b0446a874a6a9b546b564d/datasette/cli.py#L417-L433

Spotted this working on https://github.com/simonw/latest-datasette-with-all-plugins/issues/3 - I'd like to be able to use datasette --get / as a sanity checking test, but that doesn't work if the init hooks aren't fully executed.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/934/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
668064778 MDU6SXNzdWU2NjgwNjQ3Nzg= 912 Add "publishing to Vercel" to the publish docs simonw 9599 closed 0     0 2020-07-29T18:50:58Z 2020-07-31T17:06:35Z 2020-07-31T17:06:35Z OWNER  

https://datasette.readthedocs.io/en/0.45/publish.html#datasette-publish currently only lists Cloud Run, Heroku and Fly. It should list Vercel too.

(I should probably rename datasette-publish-now to datasette-publish-vercel)

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/912/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
646992096 MDU6SXNzdWU2NDY5OTIwOTY= 872 Release non-alpha plugins when 0.45 is out simonw 9599 closed 0   Datasette 0.45 5533512 0 2020-06-28T19:42:01Z 2020-07-01T23:48:51Z 2020-07-01T23:48:51Z OWNER  

I have several plugins currently marked as alphas because they depend on 0.45a3. When 0.45 is released I can ship new versions of these plugins that are full releases, not alphas - and switch them to depending on 0.45 (as opposed to the alpha):

  • [x] https://github.com/simonw/datasette-init
  • [x] https://github.com/simonw/datasette-glitch
  • [x] https://github.com/simonw/datasette-saved-queries
  • [x] https://github.com/simonw/datasette-write
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/872/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
649329013 MDU6SXNzdWU2NDkzMjkwMTM= 884 Only show "log out" button if user is authenticated using a ds_actor cookie simonw 9599 closed 0   Datasette 0.45 5533512 0 2020-07-01T21:21:28Z 2020-07-01T21:26:07Z 2020-07-01T21:26:06Z OWNER  

Right now the "Log out" button in the navigation will show up even if the user was authenticated by a plugin using a mechanism other than the ds_actor cookie. It should only show if the logged-in user has that cookie.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/884/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
647095808 MDU6SXNzdWU2NDcwOTU4MDg= 874 /favicon.ico 500 error simonw 9599 closed 0   Datasette 0.45 5533512 0 2020-06-29T04:04:22Z 2020-06-29T04:27:18Z 2020-06-29T04:27:18Z OWNER  

Traceback (most recent call last): File "...datasette/datasette/app.py", line 969, in route_path response = await view(request, send) TypeError: favicon() missing 1 required positional argument: 'send'

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/874/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
644283211 MDU6SXNzdWU2NDQyODMyMTE= 863 {{ csrftoken() }} doesn't work with datasette.render_template() simonw 9599 closed 0   Datasette 0.45 5533512 0 2020-06-24T03:11:49Z 2020-06-24T04:30:30Z 2020-06-24T03:24:01Z OWNER  

The documentation here suggests that it will work:

https://github.com/simonw/datasette/blob/eed116ac0599c7d21b7129af94d58ce03a923e4e/docs/internals.rst#L540-L546

But right now the csrftoken variable is set in BaseView.render, which means it's not visible to plugins that try to render templates using datasette.render_template:

https://github.com/simonw/datasette/blob/799c5d53570d773203527f19530cf772dc2eeb24/datasette/views/base.py#L99-L106

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/863/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
641460179 MDU6SXNzdWU2NDE0NjAxNzk= 854 Respect default scope["actor"] if one exists simonw 9599 closed 0   Datasette 0.45 5533512 0 2020-06-18T18:25:08Z 2020-06-18T18:39:22Z 2020-06-18T18:39:22Z OWNER  

ASGI wrapper plugins that themselves set the actor scope variable should be respected (though actor_from_request plugins should still execute and get the chance to replace that initial actor value).

Relevant code: https://github.com/simonw/datasette/blob/09a3479a5402df96489ed6cab6cc9fd674bf3433/datasette/app.py#L910-L921

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/854/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
637409144 MDU6SXNzdWU2Mzc0MDkxNDQ= 839 {"$file": ...} mechanism is broken simonw 9599 closed 0   Datasette 0.44 5512395 0 2020-06-12T00:46:24Z 2020-06-12T00:48:26Z 2020-06-12T00:48:26Z OWNER  

https://travis-ci.org/github/simonw/datasette/jobs/697445318 ``` def test_plugin_config_file(app_client): open(TEMP_PLUGIN_SECRET_FILE, "w").write("FROM_FILE")

  assert {"foo": "FROM_FILE"} == app_client.ds.plugin_config("file-plugin")

E AssertionError: assert {'foo': 'FROM_FILE'} == {'foo': {'$fi...ugin-secret'}} E Differing items: E {'foo': 'FROM_FILE'} != {'foo': {'$file': '/tmp/plugin-secret'}} E Use -v to get the full diff ``` Broken in https://github.com/simonw/datasette/commit/fba8ff6e76253af2b03749ed8dd6e28985a7fb8f as part of #837

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/839/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
637370652 MDU6SXNzdWU2MzczNzA2NTI= 837 Plugin $env secrets mechanism doesn't work inside lists simonw 9599 closed 0   Datasette 0.44 5512395 0 2020-06-11T22:59:54Z 2020-06-12T00:25:20Z 2020-06-12T00:25:19Z OWNER  

This didn't work: json { "plugins": { "datasette-auth-tokens": [ { "token": { "$env": "BOT_TOKEN" }, "actor": { "bot_id": "my-bot" } } ] } }

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/837/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
637365801 MDU6SXNzdWU2MzczNjU4MDE= 836 actor_matches_allow fails to consider all keys simonw 9599 closed 0   Datasette 0.44 5512395 0 2020-06-11T22:46:34Z 2020-06-11T22:47:25Z 2020-06-11T22:47:25Z OWNER  

actor: {"id": "root"}

allow block: {"bot_id": "my-bot", "id": ["root"]}

This should pass, because the id matches - but it fails.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/836/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
614806683 MDExOlB1bGxSZXF1ZXN0NDE1Mjg2MTA1 763 Documentation + improvements for db.execute() and Results class simonw 9599 closed 0     0 2020-05-08T15:16:02Z 2020-06-11T16:05:48Z 2020-05-08T16:05:46Z OWNER simonw/datasette/pulls/763

Refs #685

Still TODO:

  • [x] Implement results.first()
  • [x] Implement results.single_value()
  • [x] Unit tests for the above
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/763/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
635076066 MDU6SXNzdWU2MzUwNzYwNjY= 821 Add Response class to internals documentation simonw 9599 closed 0   Datasette 0.44 5512395 0 2020-06-09T03:11:06Z 2020-06-09T03:32:16Z 2020-06-09T03:32:16Z OWNER  

I'll need to add documentation of the Response object (and Response.html() and Response.text() class methods - I should add Response.json() too) to the internals page https://datasette.readthedocs.io/en/stable/internals.html

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

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/821/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
635037204 MDExOlB1bGxSZXF1ZXN0NDMxNDc4NzI0 819 register_routes() plugin hook simonw 9599 closed 0   Datasette 0.44 5512395 0 2020-06-09T01:20:44Z 2020-06-09T03:12:08Z 2020-06-09T03:12:07Z OWNER simonw/datasette/pulls/819

Refs #215

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/819/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
632645865 MDExOlB1bGxSZXF1ZXN0NDI5MzY2NjQx 803 Canned query permissions simonw 9599 closed 0     0 2020-06-06T18:20:00Z 2020-06-06T19:40:21Z 2020-06-06T19:40:20Z OWNER simonw/datasette/pulls/803

Refs #800. Closes #786

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/803/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
629459637 MDU6SXNzdWU2Mjk0NTk2Mzc= 792 Replace response.body.decode("utf8") with response.text in tests simonw 9599 closed 0     0 2020-06-02T19:32:24Z 2020-06-02T21:29:58Z 2020-06-02T21:29:58Z OWNER  

Make use of the response.text property to clean up the tests a tiny bit:

https://github.com/simonw/datasette/blob/57cf5139c552cb7feab9947daa949ca434cc0a66/tests/fixtures.py#L26-L38

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/792/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
627836898 MDExOlB1bGxSZXF1ZXN0NDI1NTMxMjA1 783 Authentication: plugin hooks plus default --root auth mechanism simonw 9599 closed 0     0 2020-05-30T22:25:47Z 2020-06-01T01:16:44Z 2020-06-01T01:16:43Z OWNER simonw/datasette/pulls/783

See #699

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/783/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
622672640 MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw 768 Use dirs_exist_ok=True simonw 9599 closed 0   Datasette 0.43 5471110 0 2020-05-21T17:53:44Z 2020-05-27T20:21:56Z 2020-05-21T17:53:51Z OWNER simonw/datasette/pulls/768

Refs #744

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/768/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
625922239 MDExOlB1bGxSZXF1ZXN0NDI0MDMyNDQ1 769 Backport of Python 3.8 shutil.copytree simonw 9599 closed 0   Datasette 0.43 5471110 0 2020-05-27T18:17:15Z 2020-05-27T20:21:56Z 2020-05-27T18:17:44Z OWNER simonw/datasette/pulls/769

Closes #744

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/769/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
625991831 MDExOlB1bGxSZXF1ZXN0NDI0MDg1MjY0 772 Test that plugin hooks are unit tested simonw 9599 closed 0   Datasette 0.43 5471110 0 2020-05-27T20:01:32Z 2020-05-27T20:21:56Z 2020-05-27T20:16:03Z OWNER simonw/datasette/pulls/772

Refs #771

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/772/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
611874514 MDExOlB1bGxSZXF1ZXN0NDEyOTUxMTkx 753 Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.13 dependabot-preview[bot] 27856297 closed 0     0 2020-05-04T13:27:19Z 2020-05-04T17:41:01Z 2020-05-04T17:40:49Z CONTRIBUTOR simonw/datasette/pulls/753

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

Commits
  • b8e2a45 0.12.0
  • 06580c6 Update changelog
  • b45de23 Fixed failing test case, 'test_asyncio_marker_without_loop'.
  • 238cced Put event_loop first among the fixtures of asyncio tests, fixes #154.
  • e5e3dc7 Added unittests for issue #154.
  • a7e5795 0.12.0 open for business!
  • 1026c39 0.11.0
  • ab2b140 Test on Python 3.8, drop 3.3 and 3.4
  • 6397a22 plugin: Use pytest 5.4.0 new Function API
  • 21a0f94 Replace yield_fixture() by fixture()
  • 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/753/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
596245802 MDExOlB1bGxSZXF1ZXN0NDAwNTc4OTc5 720 Update beautifulsoup4 requirement from ~=4.8.1 to >=4.8.1,<4.10.0 dependabot-preview[bot] 27856297 closed 0     0 2020-04-08T01:24:38Z 2020-05-04T17:14:51Z 2020-05-04T17:14:46Z CONTRIBUTOR simonw/datasette/pulls/720

Updates the requirements on beautifulsoup4 to permit the latest version.

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.


Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking Bump now in your Dependabot dashboard.

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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/720/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
596245923 MDExOlB1bGxSZXF1ZXN0NDAwNTc5MDc3 721 Update pytest requirement from ~=5.2.2 to >=5.2.2,<5.5.0 dependabot-preview[bot] 27856297 closed 0     0 2020-04-08T01:25:04Z 2020-05-04T17:13:49Z 2020-05-04T17:13:41Z CONTRIBUTOR simonw/datasette/pulls/721

Updates the requirements on pytest to permit the latest version.

Release notes

Sourced from pytest's releases.

5.4.1

pytest 5.4.1 (2020-03-13)

Bug Fixes

  • #6909: Revert the change introduced by #6330, which required all arguments to @pytest.mark.parametrize to be explicitly defined in the function signature.

    The intention of the original change was to remove what was expected to be an unintended/surprising behavior, but it turns out many people relied on it, so the restriction has been reverted.

  • #6910: Fix crash when plugins return an unknown stats while using the --reportlog option.

Changelog

Sourced from pytest's changelog.

Commits
  • 3d0f3ba Preparing release version 5.4.1
  • b9e2cd0 Merge pull request #6914 from nicoddemus/revert-6330
  • a84fcbf Revert "[parametrize] enforce explicit argnames declaration (#6330)"
  • 59c1bfa Merge pull request #6913 from nicoddemus/backport-6910
  • 3267f64 Merge pull request #6910 from nicoddemus/resultlog-logreport
  • c9fd1bd Preparing release version 5.4.0
  • 93aa988 Merge pull request #6901 from RonnyPfannschmidt/regendoc-fix-simple
  • 7996724 Merge pull request #6902 from RoyalTS/filterwarnings-docfix
  • 90ee8a7 docfix
  • 378a75d run and fix tox -e regen to prepare 5.4
  • 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.


Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking Bump now in your Dependabot dashboard.

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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/721/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
596246006 MDExOlB1bGxSZXF1ZXN0NDAwNTc5MTM2 722 Update jinja2 requirement from ~=2.10.3 to >=2.10.3,<2.12.0 dependabot-preview[bot] 27856297 closed 0     0 2020-04-08T01:25:24Z 2020-05-04T17:13:26Z 2020-05-04T17:13:16Z CONTRIBUTOR simonw/datasette/pulls/722

Updates the requirements on jinja2 to permit the latest version.

Release notes

Sourced from jinja2's releases.

2.11.1

This fixes an issue in async environment when indexing the result of an attribute lookup, like {{ data.items[1:] }}.

  • Changes: https://jinja.palletsprojects.com/en/2.11.x/changelog/#version-2-11-1
Changelog

Sourced from jinja2's changelog.

Version 2.11.1

Released 2020-01-30

  • Fix a bug that prevented looking up a key after an attribute ({{ data.items[1:] }}) in an async template. 1141

Version 2.11.0

Released 2020-01-27

  • Drop support for Python 2.6, 3.3, and 3.4. This will be the last version to support Python 2.7 and 3.5.
  • Added a new ChainableUndefined class to support getitem and getattr on an undefined object. 977
  • Allow {%+ syntax (with NOP behavior) when lstrip_blocks is disabled. 748
  • Added a default parameter for the map filter. 557
  • Exclude environment globals from meta.find_undeclared_variables. 931
  • Float literals can be written with scientific notation, like 2.56e-3. 912, 922
  • Int and float literals can be written with the '_' separator for legibility, like 12_345. 923
  • Fix a bug causing deadlocks in LRUCache.setdefault. 1000
  • The trim filter takes an optional string of characters to trim. 828
  • A new jinja2.ext.debug extension adds a {% debug %} tag to quickly dump the current context and available filters and tests. 174, 798, 983
  • Lexing templates with large amounts of whitespace is much faster. 857, 858
  • Parentheses around comparisons are preserved, so {{ 2 * (3 < 5) }} outputs "2" instead of "False". 755, 938
  • Add new boolean, false, true, integer and float tests. 824
  • The environment's finalize function is only applied to the output of expressions (constant or not), not static template data. 63
  • When providing multiple paths to FileSystemLoader, a template can have the same name as a directory. 821
  • Always return Undefined when omitting the else clause in a {{ 'foo' if bar }} expression, regardless of the environment's undefined class. Omitting the else clause is a valid shortcut and should not raise an error when using StrictUndefined. 710, 1079
  • Fix behavior of loop control variables such as length and revindex0 when looping over a generator. 459, 751, 794, 993
  • Async support is only loaded the first time an environment enables it, in order to avoid a slow initial import. 765
  • In async environments, the |map filter will await the filter call if needed. 913
  • In for loops that access loop attributes, the iterator is not advanced ahead of the current iteration unless length, revindex, nextitem, or last are accessed. This makes it less likely to break groupby results. 555, 1101
  • In async environments, the loop attributes length and revindex work for async iterators. 1101
  • In async environments, values from attribute/property access will be awaited if needed. 1101
  • ~loader.PackageLoader doesn't depend on setuptools or pkg_resources. 970
  • PackageLoader has limited support for 420 namespace packages. 1097
  • Support os.PathLike objects in ~loader.FileSystemLoader and ~loader.ModuleLoader. 870
  • ~nativetypes.NativeTemplate correctly handles quotes between expressions. "'{{ a }}', '{{ b }}'" renders as the tuple ('1', '2') rather than the string '1, 2'. 1020
  • Creating a ~nativetypes.NativeTemplate directly creates a ~nativetypes.NativeEnvironment instead of a default Environment. 1091
  • After calling LRUCache.copy(), the copy's queue methods point to the correct queue. 843
  • Compiling templates always writes UTF-8 instead of defaulting to the system encoding. 889
  • |wordwrap filter treats existing newlines as separate paragraphs to be wrapped individually, rather than creating short intermediate lines. 175
  • Add break_on_hyphens parameter to |wordwrap filter. 550
  • Cython compiled functions decorated as context functions will be passed the context. 1108
  • When chained comparisons of constants are evaluated at compile time, the result follows Python's behavior of returning False if any comparison returns False, rather than only the last one. 1102
  • Tracebacks for exceptions in templates show the correct line numbers and source for Python >= 3.7. 1104
  • Tracebacks for template syntax errors in Python 3 no longer show internal compiler frames. 763
  • Add a DerivedContextReference node that can be used by extensions to get the current context and local variables such as loop. 860
  • Constant folding during compilation is applied to some node types that were previously overlooked. 733
  • TemplateSyntaxError.source is not empty when raised from an included template. 457
</tr></table> ... (truncated)
Commits
  • b85283e release version 2.11.1
  • 3d5bfc6 Merge pull request #1143 from pallets/bugfix/attribute-access
  • d61c1ea add changelog
  • 15d7e61 Added regression test for slicing of attributes
  • 05dee9b Fix attribute access in async code. Fixes #1141
  • bbdafe3 release version 2.11.0
  • 9ff27f6 add python 3.8 classifier, clean up changelog
  • d312609 isolate bytecode cache tests
  • 9849979 import Markup from markupsafe, fix flake8 import warnings
  • c6d864c increment bytecode cache version
  • 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.


Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking Bump now in your Dependabot dashboard.

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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/722/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
605546606 MDExOlB1bGxSZXF1ZXN0NDA3OTI5MTI4 734 Update janus requirement from ~=0.4.0 to >=0.4,<0.6 dependabot-preview[bot] 27856297 closed 0     0 2020-04-23T13:43:45Z 2020-05-04T16:48:14Z 2020-05-04T16:48:04Z CONTRIBUTOR simonw/datasette/pulls/734

Updates the requirements on janus to permit the latest version.

Changelog

Sourced from janus's changelog.

0.5.0 (2020-04-23)

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

0.4.0 (2018-07-28)

  • Add py.typed macro #89
  • Drop python 3.4 support and fix minimal version python3.5.3 #88
  • Add property with that indicates if queue is closed #86

0.3.2 (2018-07-06)

  • Fixed python 3.7 support #97

0.3.1 (2018-01-30)

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

0.3.0 (2017-02-21)

  • Expose unfinished_tasks property #34

0.2.4 (2016-12-05)

  • Restore tarball deploying

0.2.3 (2016-07-12)

  • Fix exception type

0.2.2 (2016-07-11)

  • Update asyncio.async() to use asyncio.ensure_future() #6

0.2.1 (2016-03-24)

  • Fix python setup.py test command #4

0.2.0 (2015-09-20)

</tr></table> ... (truncated)
Commits
  • 8e89b45 Bump to 0.5.0
  • ec8592b Fix up Python 3.8 loop argument warnings (#246)
  • 2543af6 Bump coverage from 5.0.4 to 5.1
  • 03d1b36 Bump tox from 3.14.5 to 3.14.6
  • 8219c38 Bump coverage from 5.0.3 to 5.0.4
  • 85ec71d Bump pytest from 5.4.0 to 5.4.1
  • 3b974c9 Bump pytest from 5.3.5 to 5.4.0
  • 282dc12 Bump mypy from 0.761 to 0.770
  • 1364fb3 Bump tox from 3.14.4 to 3.14.5
  • dc519bb Bump tox from 3.14.3 to 3.14.4
  • 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/734/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
603242257 MDExOlB1bGxSZXF1ZXN0NDA2MDY3MDE5 728 Update mergedeep requirement from ~=1.1.1 to >=1.1.1,<1.4.0 dependabot-preview[bot] 27856297 closed 0     0 2020-04-20T13:33:23Z 2020-05-04T16:45:58Z 2020-05-04T16:45:49Z CONTRIBUTOR simonw/datasette/pulls/728

Updates the requirements on mergedeep to permit the latest version.

Commits
  • 3d6e7b4 v1.3.0 - support additive merging of Counter types
  • 56a258a v1.2.1 - tidy docs and variable names
  • 61ab213 v1.2.0 - support both TYPESAFE_REPLACE and TYPESAFE_ADDITIVE merge strategies...
  • b331bb5 cleanup Makefile
  • 6f577bf officially label support for python3.8
  • 84faf37 use pipenv for managing dev dependencies
  • 3a8761a Update README.md
  • 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/728/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
610342575 MDU6SXNzdWU2MTAzNDI1NzU= 748 ?_searchmode=raw should be documented on full-text search page simonw 9599 closed 0     0 2020-04-30T19:50:06Z 2020-04-30T21:06:12Z 2020-04-30T21:06:12Z OWNER  

It's currently documented here: https://datasette.readthedocs.io/en/stable/json_api.html#special-table-arguments

But it should also be described here: https://datasette.readthedocs.io/en/stable/full_text_search.html#the-table-view-api

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/748/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
587222354 MDU6SXNzdWU1ODcyMjIzNTQ= 707 Consider configuring Jinja in Datasette() constructor, not .app() simonw 9599 closed 0     0 2020-03-24T19:19:58Z 2020-03-27T01:12:57Z 2020-03-27T01:12:57Z OWNER  

Right now the following fails with an error: python ds = Datasette([], template_dir=".") rendered = await ds.render_template("index.html") The error is: ``` async def render_template( self, templates, context=None, request=None, view_name=None ): context = context or {} if isinstance(templates, Template): template = templates select_templates = [] else: if isinstance(templates, str): templates = [templates]

      template = self.jinja_env.select_template(templates)

E AttributeError: 'Datasette' object has no attribute 'jinja_env' `` This is becausejinja_envis configured in the.app()` method, here:

https://github.com/simonw/datasette/blob/a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c/datasette/app.py#L609-L633

This is a little surprising, especially now that .render_template() is part of the documented internals API: https://datasette.readthedocs.io/en/stable/internals.html#render-template-template-context-none-request-none

Maybe this should happen in the Datasette class constructor instead.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/707/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
573088799 MDExOlB1bGxSZXF1ZXN0MzgxNjY2Nzc3 688 Don't count rows on homepage for DBs > 100MB simonw 9599 closed 0     0 2020-02-29T01:01:06Z 2020-02-29T01:08:30Z 2020-02-29T01:08:29Z OWNER simonw/datasette/pulls/688

Closes #649.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/688/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
570327466 MDExOlB1bGxSZXF1ZXN0Mzc5Mzc4Nzgw 686 ?_searchmode=raw option simonw 9599 closed 0     0 2020-02-25T05:45:50Z 2020-02-25T05:56:09Z 2020-02-25T05:56:04Z OWNER simonw/datasette/pulls/686

Closes #676

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/686/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
522566332 MDExOlB1bGxSZXF1ZXN0MzQwNzQzMjIw 635 Use Jinja async mode simonw 9599 closed 0     0 2019-11-14T01:20:57Z 2019-11-14T23:14:23Z 2019-11-14T23:14:23Z OWNER simonw/datasette/pulls/635

Refs #628. Still needs documentation.

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/635/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
521346800 MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy 630 Use python:3.8 base Docker image simonw 9599 closed 0     0 2019-11-12T06:02:37Z 2019-11-12T06:03:10Z 2019-11-12T06:03:10Z OWNER simonw/datasette/pulls/630

Closes #629

datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/630/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
520728483 MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4 624 Bump pint to 0.9 simonw 9599 closed 0     0 2019-11-11T04:07:07Z 2019-11-11T04:19:02Z 2019-11-11T04:19:02Z OWNER simonw/datasette/pulls/624
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/624/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
453639196 MDU6SXNzdWU0NTM2MzkxOTY= 504 Remove TableView ?_group_count= feature simonw 9599 closed 0 simonw 9599   0 2019-06-07T18:25:18Z 2019-11-06T05:13:10Z 2019-11-06T05:13:10Z OWNER  

This feature really doesn't warrant continuing to exist. For reference: #150 and #44

Don't forget to remove it from the docs: https://github.com/simonw/datasette/blob/172da009d890aa029cff7138b4dcfd4f60948525/docs/json_api.rst#L322-L324

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/504/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
516310670 MDU6SXNzdWU1MTYzMTA2NzA= 610 Don't suggest array facet if column is only [] empty arrays simonw 9599 closed 0     0 2019-11-01T19:42:02Z 2019-11-01T21:46:08Z 2019-11-01T21:46:08Z OWNER  

Follow on from #562

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/610/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
514899195 MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4 609 Update to latest black simonw 9599 closed 0     0 2019-10-30T18:42:35Z 2019-10-30T18:49:01Z 2019-10-30T18:49:01Z OWNER simonw/datasette/pulls/609
datasette 107914493 pull    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/609/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
0  
471292050 MDU6SXNzdWU0NzEyOTIwNTA= 563 incorrect json url for row-level data? rprimet 10352819 closed 0     0 2019-07-22T19:59:38Z 2019-10-21T02:03:09Z 2019-10-21T02:03:09Z CONTRIBUTOR  

While visiting this example page (linked from Datasette documentation), manually clicking on the link ("This data as .json") to the json data results in an error 500 data() got an unexpected keyword argument 'as_format'

The JSON page linked to from the documentation however is correct (the page address ends in .json rather than using a query string ?format=json)

This particular datasette demo page is now a few versions behind, but I was able to reproduce the issue using v0.29.2 and a downloaded copy of the demo database (and also with the current HEAD).

Here is a stack trace:

``` Traceback (most recent call last): File "/home/romain/miniconda3/envs/dsbug/lib/python3.7/site-packages/datasette/utils/asgi.py", line 101, in call return await view(new_scope, receive, send) File "/home/romain/miniconda3/envs/dsbug/lib/python3.7/site-packages/datasette/utils/asgi.py", line 173, in view request, scope["url_route"]["kwargs"] File "/home/romain/miniconda3/envs/dsbug/lib/python3.7/site-packages/datasette/views/base.py", line 267, in get request, database, hash, correct_hash_provided, kwargs File "/home/romain/miniconda3/envs/dsbug/lib/python3.7/site-packages/datasette/views/base.py", line 399, in view_get request, database, hash, **kwargs TypeError: data() got an unexpected keyword argument 'as_format'

```

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/563/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
509339999 MDU6SXNzdWU1MDkzMzk5OTk= 600 Don't auto-format SQL on first page load simonw 9599 closed 0     0 2019-10-18T22:36:10Z 2019-10-18T23:56:46Z 2019-10-18T23:56:46Z OWNER  

I've gone back and forth on this a bit, but I've decided I'm not keen on the way Datasette now automatically formats SQL when a query (or canned query) page first loads.

I like having an optional "Format SQL" button, but applying formatting automatically means that if the user has carefully formatted their SQL to a specific style their formatting will be automatically over-ridden.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/600/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed

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 596.619ms · About: github-to-sqlite