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
1901483874,PR_kwDOBm6k_c5amULw,2190,"Raise an exception if a ""plugins"" block exists in metadata.json",15178711,closed,0,,,5,2023-09-18T18:08:56Z,2023-10-12T16:20:51Z,2023-10-12T16:20:51Z,CONTRIBUTOR,simonw/datasette/pulls/2190,"refs #2183 #2093
From [this comment](https://github.com/simonw/datasette/pull/2183#issuecomment-1714699724) in #2183: If a `""plugins""` block appears in `metadata.json`, it means that a user hasn't migrated over their plugin configuration from `metadata.json` to `datasette.yaml`, which is a breaking change in Datasette 1.0.
This PR will ensure that an error is raised whenever that happens.
----
:books: Documentation preview :books:: https://datasette--2190.org.readthedocs.build/en/2190/
",107914493,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/2190/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0,
1869807874,PR_kwDOBm6k_c5Y8AN0,2160,"Bump sphinx, furo, blacken-docs dependencies",49699333,closed,0,,,5,2023-08-28T13:49:31Z,2023-08-29T00:38:33Z,2023-08-29T00:38:32Z,CONTRIBUTOR,simonw/datasette/pulls/2160,"Bumps the python-packages group with 3 updates: [sphinx](https://github.com/sphinx-doc/sphinx), [furo](https://github.com/pradyunsg/furo) and [blacken-docs](https://github.com/asottile/blacken-docs).
Updates `sphinx` from 7.1.2 to 7.2.4
Sourced from sphinx's releases. Changelog: https://www.sphinx-doc.org/en/master/changes.html Changelog: https://www.sphinx-doc.org/en/master/changes.html Changelog: https://www.sphinx-doc.org/en/master/changes.html Changelog: https://www.sphinx-doc.org/en/master/changes.html Changelog: https://www.sphinx-doc.org/en/master/changes.html Sourced from sphinx's changelog. ... (truncated) Sourced from furo's changelog. ... (truncated) Sourced from blacken-docs's changelog. Allow Markdown fence options. Thanks to initial work from Matthew Anderson in Expand Markdown detection to all Python language names from Pygments: Preserve leading whitespace lines in reStructuredText code blocks. Thanks to Julianus Pfeuffer for the report in Use exit code 2 to indicate errors from Black, whilst exit code 1 remains for “files have been formatted”. Thanks to Julianus Pfeuffer for the report in Support passing the Remove Thanks to Aneesh Agrawal in Release notes
Sphinx 7.2.4
Sphinx 7.2.3
Sphinx 7.2.2
Sphinx 7.2.1
Sphinx 7.2.0
Changelog
Release 7.2.4 (released Aug 28, 2023)
Bugs fixed
Release 7.2.3 (released Aug 23, 2023)
Dependencies
Bugs fixed
autodoc.Documenter.parse_name()
.classmethod
methods
when autodoc_preserve_defaults
is True
.os.fspath
to convert :py:class:~pathlib.Path
objects to strings,
or :py:class:~pathlib.Path
's methods to work with path objects.Release 7.2.2 (released Aug 17, 2023)
Bugs fixed
StateMachine.insert_input()
patch,
for when calling with keyword arguments.in
) for the :py:class:str
interface
of the asset classes (_CascadingStyleSheet
and _JavaScript
),
which several extensions relied upon.SingleFileHTMLBuilder._get_local_toctree
,
includehidden
may be passed as a string or a boolean.:noindex:
for PyModule
and JSModule
.Release 7.2.1 (released Aug 17, 2023)
Commits
3256f1f
Bump to 7.2.4 final2f025a4
linkcheck: Fix conversion from UTC time to the UNIX epoch (#11649)1567281
autodoc: Fix UnboundLocalError in filter_members
(#11651)5e88b9f
Fix the MoveModuleTargets transform (#11647)694fcee
Fix markup in CHANGES (#11639)c503c90
Improve pathlib
type annotations (#11646)bf339b1
Bump version2f6ea14
Bump to 7.2.3 final511e407
Implement bool()
for string paths494de73
Implement hash()
for string paths
Updates `furo` from 2023.7.26 to 2023.8.19
Changelog
Changelog
2023.08.19 -- Xenolithic Xanadu
@AA-Turner
!require_sphinx()
to Sphinx 6.0, in line with dependency changes in Unassuming Ultramarine.2023.08.17 -- Wonderous White
2023.07.26 -- Vigilant Volt
2023.05.20 -- Unassuming Ultramarine
2023.03.27 -- Tasty Tangerine
2023.03.23 -- Sassy Saffron
Commits
0766bb2
Prepare release: 2023.08.19807d73c
Update changelog364b261
Accomodate for the required data-content_root
for search0d38bc6
Simplify retrieval of pygments_dark_style
value (#699)3631ffc
Use sphinx.errors.ConfigError
(#697)d2e2448
Remove duplicate HTML builder check (#698)7b4f130
Drop Python 3.7 (#701)e322b71
Remove pointless assert (#702)ee2097a
Bump require_sphinx()
to Sphinx 6.0 (#700)c1ff10b
Back to development
Updates `blacken-docs` from 1.15.0 to 1.16.0
Changelog
1.16.0 (2023-08-16)
PR [#246](https://github.com/asottile/blacken-docs/issues/246) <https://github.com/adamchainz/blacken-docs/pull/246>
__.py
, sage
, python3
, py3
, and numpy
.Issue [#217](https://github.com/asottile/blacken-docs/issues/217) <https://github.com/adamchainz/blacken-docs/issues/217>
__.Issue [#218](https://github.com/asottile/blacken-docs/issues/218) <https://github.com/adamchainz/blacken-docs/issues/218>
__.--preview
option through to Black, to select the future style.language_version
from .pre-commit-hooks.yaml
.
This change allows default_language_version
in ``.pre-commit-config.yaml` to take precedence.PR [#258](https://github.com/asottile/blacken-docs/issues/258) <https://github.com/adamchainz/blacken-docs/pull/258>
__.Commits
960ead2
Version 1.16.08f0ed18
Support passing --preview through to Black (#273)4eb4e4c
Tweak changelog note6c7450c
Use exit code 2 to indicate errors (#272)99dfc8d
Preserve leading whitespace lines in rST (#271)94465e8
Reformat markdown tests with dedent() (#270)7cd5f30
Use .md in glob examplef97e569
Document applying to many files (#269)ae612b0
Expand Markdown detection to all Python language names (#268)da9b455
Replace NamedTuple with plain class (#267)
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-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ` tag (lazy-loaded of course). So, I need a URL, because embedding base64 would increase the page size too much (each image > 100KB).
Datasette generates a link with `.blob` extension for blob columns. It does this by calling `datasette.urls.row_blob`
https://github.com/simonw/datasette/blob/7a2ed9f8a119e220b66d67c7b9e07cbab47b1196/datasette/views/table.py#L169-L179
But I have no way of getting the row inside the `render_cell` hook.
```python
@hookimpl
def render_cell(value, column, table, database, datasette):
if isinstance(value, bytes) and imghdr.what(None, value):
# generate url
return '$renderedLink'
```
Any pointers?",107914493,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1300/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed
1077620955,I_kwDOBm6k_c5AOzDb,1549,Redesign CSV export to improve usability,536941,open,0,,3268330,5,2021-12-11T19:02:12Z,2022-04-04T11:17:13Z,,CONTRIBUTOR,,"*Original title: Set content type for CSV so that browsers will attempt to download instead opening in the browser*
Right now, if the user clicks on the CSV related to a
table or a query, the response header for the content type is
""content-type: text/plain; charset=utf-8""
Most browsers will try to open a file with this content-type in the browser.
This is not what most people want to do, and lots of folks don't know that if they want to download the CSV and open it in the a spreadsheet program they next need to save the page through their browser.
It would be great if the response header could be something like
```
'Content-type: text/csv');
'Content-disposition: attachment;filename=MyVerySpecial.csv');
```
which would lead browsers to open a download dialog.
",107914493,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1549/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,
1114147905,I_kwDOBm6k_c5CaIxB,1612,Move canned queries closer to the SQL input area,639012,closed,0,,3268330,5,2022-01-25T17:06:39Z,2022-03-19T04:04:49Z,2022-01-25T18:34:21Z,CONTRIBUTOR,,"*Original title: Consider placing example queries above the sql input?*
Hi! Have been enjoying deploying ad hoc datasettes for collaborators to pick over!
I keep finding myself manually ""fixing"" the database.html template so that the ""example queries"" (canned queries) appear directly *over* the sql box? So they are sorta more a suggestion for collaborators who aren't inclined to write their own queries?
My sense is any time I go to the trouble of writing canned queries my users should see 'em?
(( I have also considered a client-side reactive-ish option where selecting a query just places the raw SQL in the box and doesn't execute it, but this seems to end up being an inconvenience, rather than a teaching tool. ))
",107914493,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1612/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed
1105916061,I_kwDOBm6k_c5B6vCd,1601,Add KNN and data_licenses to hidden tables list,25778,closed,0,,,5,2022-01-17T14:19:57Z,2022-01-20T21:29:44Z,2022-01-20T04:38:54Z,CONTRIBUTOR,,"They're generated by Spatialite and not very interesting in most cases.
",107914493,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1601/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed
1033678984,PR_kwDOBm6k_c4tjgJ8,1495,Allow routes to have extra options,536941,open,0,,,5,2021-10-22T15:00:45Z,2021-11-19T15:36:27Z,,CONTRIBUTOR,simonw/datasette/pulls/1495,"Right now, datasette routes can only be a 2-tuple of `(regex, view_fn)`.
If it was possible for datasette to handle extra options, like [standard Django does](https://docs.djangoproject.com/en/3.2/topics/http/urls/#passing-extra-options-to-view-functions), it would add flexibility for plugin authors.
For example, if extra options were enabled, then it would be easy to make a single table the home page (#1284). This plugin would accomplish it.
```python
from datasette import hookimpl
from datasette.views.table import TableView
@hookimpl
def register_routes(datasette):
return [
(r""^/$"", TableView.as_view(datasette), {'db_name': 'DB_NAME',
'table': 'TABLE_NAME'})
]
```
",107914493,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1495/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0,
913865304,MDExOlB1bGxSZXF1ZXN0NjYzODM2OTY1,1368,DRAFT: A new plugin hook for dynamic metadata,2670795,closed,0,,,5,2021-06-07T18:56:00Z,2021-06-26T22:24:54Z,2021-06-26T22:24:54Z,CONTRIBUTOR,simonw/datasette/pulls/1368,"Note that this is a WORK IN PROGRESS!
This PR adds the following plugin hook:
get_metadata(
datasette=self, key=key, database=database, table=table,
fallback=fallback
)
This gets called when we're building our metdata for the rest of the system to use. Datasette merges whatever the plugins return with any local metadata (from metadata.yml/yaml/json) allowing for a live-editable dynamic Datasette. __A major design consideration is this: should Datasette perform the metadata merge? Or should Datasette allow plugins to perform any modifications themselves?__
As a security precation, local meta is *not* overwritable by plugin hooks. The workflow for transitioning to live-meta would be to load the plugin with the full metadata.yaml and save. Then remove the parts of the metadata that you want to be able to change from the file.
I have a WIP dynamic configuration plugin here, for reference: https://github.com/next-LI/datasette-live-config/",107914493,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1368/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0,
849220154,MDU6SXNzdWU4NDkyMjAxNTQ=,1286,Better default display of arrays of items,192568,open,0,,,5,2021-04-02T13:31:40Z,2021-06-12T12:36:15Z,,CONTRIBUTOR,,"Would be great to have template filters that convert array fields to bullets and/or delimited lists upon table display:
```
|to_bullets
|to_comma_delimited
|to_semicolon_delimited
```
or maybe:
```
|join_array(""bullet"")
|join_array(""bullet"",""square"")
|join_array("";"")
|join_array("","")
```
Keeping in mind that bullets show up in html as \