home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

8 rows where author_association = "OWNER" and "updated_at" is on date 2023-08-30 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: issue_url, reactions, created_at (date), updated_at (date)

issue 4

  • DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 5
  • Make cascading permission checks available to plugins 1
  • `datasette publish upload` mechanism for uploading databases to an existing Datasette instance 1
  • Ability to only load a specific list of plugins 1

user 1

  • simonw 8

author_association 1

  • OWNER · 8 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
1699926384 https://github.com/simonw/datasette/issues/1092#issuecomment-1699926384 https://api.github.com/repos/simonw/datasette/issues/1092 IC_kwDOBm6k_c5lUtFw simonw 9599 2023-08-30T22:17:42Z 2023-08-30T22:17:42Z OWNER

This is implemented now: - https://docs.datasette.io/en/stable/internals.html#await-ensure-permissions-actor-permissions

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Make cascading permission checks available to plugins 742041667  
1699925224 https://github.com/simonw/datasette/issues/1190#issuecomment-1699925224 https://api.github.com/repos/simonw/datasette/issues/1190 IC_kwDOBm6k_c5lUszo simonw 9599 2023-08-30T22:16:38Z 2023-08-30T22:16:38Z OWNER

This is going to happen in this tool instead: - https://github.com/simonw/dclient

{
    "total_count": 1,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 1,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
`datasette publish upload` mechanism for uploading databases to an existing Datasette instance 787098146  
1699910555 https://github.com/simonw/datasette/pull/2165#issuecomment-1699910555 https://api.github.com/repos/simonw/datasette/issues/2165 IC_kwDOBm6k_c5lUpOb simonw 9599 2023-08-30T22:05:14Z 2023-08-30T22:05:14Z OWNER

Documentation preview: https://github.com/simonw/datasette/blob/6321c9c055a640ed6ea98e231dc5813dcde1f773/docs/plugins.rst#controlling-which-plugins-are-loaded

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336  
1699884314 https://github.com/simonw/datasette/pull/2165#issuecomment-1699884314 https://api.github.com/repos/simonw/datasette/issues/2165 IC_kwDOBm6k_c5lUi0a simonw 9599 2023-08-30T21:38:29Z 2023-08-30T21:39:51Z OWNER

Here's the reason for that name disparity:

https://github.com/simonw/datasette/blob/30b28c8367a9c6870386ea10a202705b40862457/datasette/plugins.py#L54-L65

Note how the distinfo.project_name name is used when available. That seems to work for regularly installed plugins but not for plugins loaded via DATASETTE_LOAD_PLUGINS.

And that's looking things up in plugin_to_distinfo which is populated here:

https://github.com/simonw/datasette/blob/30b28c8367a9c6870386ea10a202705b40862457/datasette/plugins.py#L37

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336  
1699811810 https://github.com/simonw/datasette/pull/2165#issuecomment-1699811810 https://api.github.com/repos/simonw/datasette/issues/2165 IC_kwDOBm6k_c5lURHi simonw 9599 2023-08-30T20:42:41Z 2023-08-30T20:42:41Z OWNER

The load_setuptools_entrypoints() function in Pluggy does this:

python for ep in dist.entry_points: if ( ep.group != group or (name is not None and ep.name != name) # already registered or self.get_plugin(ep.name) or self.is_blocked(ep.name) ): continue plugin = ep.load() self.register(plugin, name=ep.name)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336  
1699809688 https://github.com/simonw/datasette/pull/2165#issuecomment-1699809688 https://api.github.com/repos/simonw/datasette/issues/2165 IC_kwDOBm6k_c5lUQmY simonw 9599 2023-08-30T20:41:06Z 2023-08-30T20:41:06Z OWNER

Slight weirdness: I noticed that the output from the datasette plugins command looks like this for plugins loaded with the new environment variable: json { "name": "datasette_pretty_json", "static": false, "templates": false, "version": null, "hooks": [ "render_cell" ] }, That should ideally be datasette-pretty-json, not datasette_pretty_json.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336  
1699802028 https://github.com/simonw/datasette/pull/2165#issuecomment-1699802028 https://api.github.com/repos/simonw/datasette/issues/2165 IC_kwDOBm6k_c5lUOus simonw 9599 2023-08-30T20:35:02Z 2023-08-30T20:35:02Z OWNER

Testing this is going to be a bit of a pain.

I think I'll add a whole separate test block to CI which installs a couple of plugins and then exercises this feature using datasette plugins.

I'll use datasette-init and datasette-json-html just because they are small and simple.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336  
1699728102 https://github.com/simonw/datasette/issues/2164#issuecomment-1699728102 https://api.github.com/repos/simonw/datasette/issues/2164 IC_kwDOBm6k_c5lT8rm simonw 9599 2023-08-30T19:35:32Z 2023-08-30T19:35:47Z OWNER

Figured this out so far with the help of GPT-4: https://chat.openai.com/share/0e785865-621b-4fb3-ba05-7449e57c8496

Now this works: bash DATASETTE_LOAD_PLUGINS=datasette-write-ui datasette plugins json [ { "name": "datasette_write_ui", "static": true, "templates": true, "version": null, "hooks": [ "extra_template_vars", "register_routes" ] } ] Or multiple plugins: bash DATASETTE_LOAD_PLUGINS=datasette-write-ui,datasette-pretty-json datasette plugins Outputs: json [ { "name": "datasette_pretty_json", "static": false, "templates": false, "version": null, "hooks": [ "render_cell" ] }, { "name": "datasette_write_ui", "static": true, "templates": true, "version": null, "hooks": [ "extra_template_vars", "register_routes" ] } ]

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Ability to only load a specific list of plugins 1874255116  

Advanced export

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

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
, [performed_via_github_app] TEXT);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Queries took 553.441ms · About: github-to-sqlite