issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Show column metadata plus links for foreign keys on arbitrary query results 50
- JavaScript plugin hooks mechanism similar to pluggy 47
- Redesign default .json format 46
- Updated Dockerfile with SpatiaLite version 5.0 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- await datasette.client.get(path) mechanism for executing internal requests 33
- Maintain an in-memory SQLite table of connected databases and their tables 32
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Support cross-database joins 26
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- WIP: Add Gmail takeout mbox import 25
- Redesign register_output_renderer callback 24
- "datasette insert" command and plugin hook 23
- Datasette Plugins 22
- .json and .csv exports fail to apply base_url 22
- Idea: import CSV to memory, run SQL, export in a single command 22
- table.extract(...) method and "sqlite-utils extract" command 21
- Database page loads too slowly with many large tables (due to table counts) 21
- ?sort=colname~numeric to sort by by column cast to real 21
- Handle spatialite geometry columns better 20
- "flash messages" mechanism 20
- Move CI to GitHub Issues 20
- load_template hook doesn't work for include/extends 20
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
932808216 | https://github.com/simonw/datasette/issues/1479#issuecomment-932808216 | https://api.github.com/repos/simonw/datasette/issues/1479 | IC_kwDOBm6k_c43mYYY | simonw 9599 | 2021-10-02T19:25:09Z | 2021-10-02T19:25:09Z | OWNER | Actually no, from that stack trace you provided:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Win32 "used by another process" error with datasette publish 1010112818 | |
932808043 | https://github.com/simonw/datasette/issues/1479#issuecomment-932808043 | https://api.github.com/repos/simonw/datasette/issues/1479 | IC_kwDOBm6k_c43mYVr | simonw 9599 | 2021-10-02T19:23:52Z | 2021-10-02T19:23:52Z | OWNER | I suspect the root cause of this may be in this code: https://github.com/simonw/datasette/blob/63886178a649586b403966a27a45881709d2b868/datasette/utils/init.py#L673-L677 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Win32 "used by another process" error with datasette publish 1010112818 | |
932807859 | https://github.com/simonw/datasette/issues/1479#issuecomment-932807859 | https://api.github.com/repos/simonw/datasette/issues/1479 | IC_kwDOBm6k_c43mYSz | simonw 9599 | 2021-10-02T19:22:35Z | 2021-10-02T19:22:35Z | OWNER | I'm pretty sure this is a Windows issue, not a Fly issue. I imagine it affects other forms of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Win32 "used by another process" error with datasette publish 1010112818 | |
930071625 | https://github.com/simonw/datasette/issues/1479#issuecomment-930071625 | https://api.github.com/repos/simonw/datasette/issues/1479 | IC_kwDOBm6k_c43b8RJ | kirajano 76450761 | 2021-09-29T11:01:30Z | 2021-09-29T11:01:30Z | NONE | Thanks, but this one has a different error type. Unfortunately, still not working. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Win32 "used by another process" error with datasette publish 1010112818 | |
929927144 | https://github.com/simonw/datasette/issues/1479#issuecomment-929927144 | https://api.github.com/repos/simonw/datasette/issues/1479 | IC_kwDOBm6k_c43bY_o | soobrosa 1244799 | 2021-09-29T07:49:40Z | 2021-09-29T07:49:40Z | NONE | My search yielded these four entries: https://github.com/simonw/datasette/issues?q=PermissionError%3A+%5BWinError+32%5D+ Maybe this is the closet hit? https://github.com/simonw/datasette/issues/744 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Win32 "used by another process" error with datasette publish 1010112818 | |
929651819 | https://github.com/dogsheep/github-to-sqlite/pull/66#issuecomment-929651819 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/66 | IC_kwDODFdgUs43aVxr | sarcasticadmin 30531572 | 2021-09-28T21:50:31Z | 2021-09-28T21:50:31Z | NONE | @simonw any feedback/thoughts? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add --merged-by flag to pull-requests sub command 975161924 | |
928790381 | https://github.com/simonw/sqlite-utils/issues/98#issuecomment-928790381 | https://api.github.com/repos/simonw/sqlite-utils/issues/98 | IC_kwDOCGYnMM43XDdt | patricktrainer 36834097 | 2021-09-28T04:38:44Z | 2021-09-28T04:38:44Z | NONE | Hi @simonw - wondering if you might be able to shed some light here. I've seemed to reproduce this issue. Here's the stacktrace: ``` ... db["potholes"].insert(pothole, pk='id', alter=True, replace=True) ... Traceback (most recent call last): File "<stdin>", line 3, in <module> File "/Users/patricktrainer/.pyenv/versions/3.9.0/lib/python3.9/site-packages/sqlite_utils/db.py", line 2481, in insert return self.insert_all( File "/Users/patricktrainer/.pyenv/versions/3.9.0/lib/python3.9/site-packages/sqlite_utils/db.py", line 2596, in insert_all self.insert_chunk( File "/Users/patricktrainer/.pyenv/versions/3.9.0/lib/python3.9/site-packages/sqlite_utils/db.py", line 2424, in insert_chunk row = list(self.rows_where("rowid = ?", [self.last_rowid]))[0] IndexError: list index out of range ``` Interesting enough, I found that omitting the Let me know how I can help out! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Only set .last_rowid and .last_pk for single update/inserts, not for .insert_all()/.upsert_all() with multiple records 597671518 | |
927312650 | https://github.com/dogsheep/twitter-to-sqlite/issues/54#issuecomment-927312650 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/54 | IC_kwDODEm0Qs43RasK | danp 2182 | 2021-09-26T14:09:51Z | 2021-09-26T14:09:51Z | NONE | Similar trouble with ageinfo using 0.22. Here's what my ageinfo.js file looks like:
Commenting out the registration for ageinfo in archive.py gets my archive to import. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Archive import appears to be broken on recent exports 779088071 | |
926208819 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926208819 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NNMz | simonw 9599 | 2021-09-23T22:26:54Z | 2021-09-23T22:26:54Z | OWNER | I could even have those replacement characters be properties of the
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926207719 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926207719 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NM7n | simonw 9599 | 2021-09-23T22:24:09Z | 2021-09-23T22:24:09Z | OWNER | I think I like the underscore option best. I don't like the idea of injecting surprise
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926207246 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926207246 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NM0O | simonw 9599 | 2021-09-23T22:23:09Z | 2021-09-23T22:23:09Z | OWNER | What are my options for replacing those characters?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926206705 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926206705 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NMrx | simonw 9599 | 2021-09-23T22:21:58Z | 2021-09-23T22:21:58Z | OWNER | I'm inclined to just fix them and not have an option for opting-out of fixing them, since it adds quite a bit of cruft to the overall API design for an option that maybe no-one will ever use. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926206220 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926206220 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NMkM | simonw 9599 | 2021-09-23T22:20:55Z | 2021-09-23T22:21:19Z | OWNER | If I add a new parameter for opting in and out of fixing these, what should it be called? A few options:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926205047 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926205047 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NMR3 | simonw 9599 | 2021-09-23T22:18:34Z | 2021-09-23T22:19:38Z | OWNER | Here's the code where this happens: https://github.com/simonw/sqlite-utils/blob/54191d4dc114d7dc21e849b48a4d5ae4f9e601ca/sqlite_utils/db.py#L2943-L2948 It's called from three different methods in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926204046 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926204046 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NMCO | simonw 9599 | 2021-09-23T22:16:18Z | 2021-09-23T22:16:18Z | OWNER | So either I do the automatic replacement, or I let the user request automatic replacement, or a third option: I do automatic replacement but let the user opt to receive an error instead. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
926203501 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-926203501 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM43NL5t | simonw 9599 | 2021-09-23T22:15:07Z | 2021-09-23T22:15:30Z | OWNER | Quoting https://github.com/simonw/sqlite-utils/issues/86#issuecomment-586676856 in full:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
925321439 | https://github.com/simonw/sqlite-utils/issues/325#issuecomment-925321439 | https://api.github.com/repos/simonw/sqlite-utils/issues/325 | IC_kwDOCGYnMM43J0jf | simonw 9599 | 2021-09-22T20:52:56Z | 2021-09-22T20:52:56Z | OWNER | Updated documentation: https://sqlite-utils.datasette.io/en/latest/cli.html#running-queries-directly-against-csv-or-json
|
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils memory can't deal with multiple files with the same name 990844088 | |
925303497 | https://github.com/simonw/sqlite-utils/issues/325#issuecomment-925303497 | https://api.github.com/repos/simonw/sqlite-utils/issues/325 | IC_kwDOCGYnMM43JwLJ | simonw 9599 | 2021-09-22T20:25:44Z | 2021-09-22T20:25:44Z | OWNER | Here's the relevant code: https://github.com/simonw/sqlite-utils/blob/7427a9137f60de961b6331d0922a3f03da0d1890/sqlite_utils/cli.py#L1289-L1292 I can fix this by checking to see if |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils memory can't deal with multiple files with the same name 990844088 | |
925301981 | https://github.com/simonw/sqlite-utils/issues/325#issuecomment-925301981 | https://api.github.com/repos/simonw/sqlite-utils/issues/325 | IC_kwDOCGYnMM43Jvzd | simonw 9599 | 2021-09-22T20:23:25Z | 2021-09-22T20:23:25Z | OWNER | Oddly I can't replicate this on macOS:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils memory can't deal with multiple files with the same name 990844088 | |
925300720 | https://github.com/simonw/sqlite-utils/issues/328#issuecomment-925300720 | https://api.github.com/repos/simonw/sqlite-utils/issues/328 | IC_kwDOCGYnMM43Jvfw | gravis 12752 | 2021-09-22T20:21:33Z | 2021-09-22T20:21:33Z | NONE | Wow, that was fast! Thank you! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Invalid JSON output when no rows 1004613267 | |
925300637 | https://github.com/simonw/sqlite-utils/issues/325#issuecomment-925300637 | https://api.github.com/repos/simonw/sqlite-utils/issues/325 | IC_kwDOCGYnMM43Jved | simonw 9599 | 2021-09-22T20:21:26Z | 2021-09-22T20:21:26Z | OWNER | The |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils memory can't deal with multiple files with the same name 990844088 | |
925296085 | https://github.com/simonw/sqlite-utils/issues/328#issuecomment-925296085 | https://api.github.com/repos/simonw/sqlite-utils/issues/328 | IC_kwDOCGYnMM43JuXV | simonw 9599 | 2021-09-22T20:14:53Z | 2021-09-22T20:14:53Z | OWNER | { "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Invalid JSON output when no rows 1004613267 | ||
925292384 | https://github.com/simonw/sqlite-utils/issues/328#issuecomment-925292384 | https://api.github.com/repos/simonw/sqlite-utils/issues/328 | IC_kwDOCGYnMM43Jtdg | simonw 9599 | 2021-09-22T20:09:53Z | 2021-09-22T20:09:53Z | OWNER | Good catch, thanks. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Invalid JSON output when no rows 1004613267 | |
924437942 | https://github.com/simonw/datasette/issues/111#issuecomment-924437942 | https://api.github.com/repos/simonw/datasette/issues/111 | IC_kwDOBm6k_c43Gc22 | simonw 9599 | 2021-09-21T22:32:59Z | 2021-09-21T22:47:07Z | OWNER | Side-note: Django 4.0 will switch from using If I need to handle timezones I'll use that, but I think I can get away without it? Django does this: https://github.com/django/django/blob/b0ed619303d2fb723330ca9efa3acf23d49f1d19/setup.cfg#L39-L43
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
924443089 | https://github.com/simonw/datasette/issues/111#issuecomment-924443089 | https://api.github.com/repos/simonw/datasette/issues/111 | IC_kwDOBm6k_c43GeHR | simonw 9599 | 2021-09-21T22:45:14Z | 2021-09-21T22:45:26Z | OWNER | The audiences I care about here are:
For producers I think there are going to be two categories. The first is users who run "publish" and want the site to reflect when they did so (probably using For humans... I'd like to be able to calculate a relative time (3 hours ago) in addition to showing the display time, because that helps avoid confusion over timezones. For machine consumers, it might be nice to offer the option of a calculated Unix timestamp-since-1970, since those can be easier to work with in some languages than running a full ISO date parser. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
924438481 | https://github.com/simonw/datasette/issues/111#issuecomment-924438481 | https://api.github.com/repos/simonw/datasette/issues/111 | IC_kwDOBm6k_c43Gc_R | simonw 9599 | 2021-09-21T22:34:03Z | 2021-09-21T22:34:21Z | OWNER | The simplest possible version of this: it's always represented as a UTC ISO datetime, like this:
Later versions of Datasette could extend this to handle other timezones or support just the date (though that's a backwards incompatible change so probably better to decide on the date thing right now). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
924435971 | https://github.com/simonw/datasette/issues/111#issuecomment-924435971 | https://api.github.com/repos/simonw/datasette/issues/111 | IC_kwDOBm6k_c43GcYD | simonw 9599 | 2021-09-21T22:29:15Z | 2021-09-21T22:29:49Z | OWNER | So this is a metadata key called Question: should I support just the date - I think so. I can easily imagine situations where the exact time of day that a change was made hasn't been recorded, but the overall date is known. But in that case, should the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
924432643 | https://github.com/simonw/datasette/issues/111#issuecomment-924432643 | https://api.github.com/repos/simonw/datasette/issues/111 | IC_kwDOBm6k_c43GbkD | simonw 9599 | 2021-09-21T22:23:23Z | 2021-09-21T22:23:23Z | OWNER | I'm going to use https://github.com/dateutil/dateutil for this - it's been maintained constantly (by an evolving team of contributors) since 2003 and is a very trustworthy dependency. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
924209583 | https://github.com/dogsheep/twitter-to-sqlite/pull/59#issuecomment-924209583 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/59 | IC_kwDODEm0Qs43FlGv | simonw 9599 | 2021-09-21T17:37:34Z | 2021-09-21T17:37:34Z | MEMBER | Thanks for this! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix for since_id bug, closes #58 984942782 | |
923979964 | https://github.com/simonw/datasette/pull/1476#issuecomment-923979964 | https://api.github.com/repos/simonw/datasette/issues/1476 | IC_kwDOBm6k_c43EtC8 | codecov[bot] 22429695 | 2021-09-21T13:18:22Z | 2021-09-21T13:18:22Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1476 +/-=======================================
Coverage 91.83% 91.83% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update pytest-xdist requirement from <2.4,>=2.2.1 to >=2.2.1,<2.5 1002459220 | |
923106887 | https://github.com/simonw/datasette/issues/111#issuecomment-923106887 | https://api.github.com/repos/simonw/datasette/issues/111 | IC_kwDOBm6k_c43BX5H | simonw 9599 | 2021-09-20T16:58:39Z | 2021-09-20T16:58:39Z | OWNER | Still a good idea today too! Would be great for https://cdc-vaccination-history.datasette.io/ for example. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
922394999 | https://github.com/simonw/datasette/issues/1473#issuecomment-922394999 | https://api.github.com/repos/simonw/datasette/issues/1473 | IC_kwDOBm6k_c42-qF3 | mroswell 192568 | 2021-09-19T00:44:39Z | 2021-09-19T00:45:32Z | CONTRIBUTOR | I replaced:
I'd still love to know what caused this (and how to troubleshoot to figure it out), so I'll leave it open for a bit, but I do have a functional logo linking to the Hugo home page, at least locally. I'll likely push tomorrow. (Before trying this, I tried to apply a background image to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base logo link visits `undefined` rather than href url 999902754 | |
922363640 | https://github.com/simonw/datasette/issues/1473#issuecomment-922363640 | https://api.github.com/repos/simonw/datasette/issues/1473 | IC_kwDOBm6k_c42-ib4 | mroswell 192568 | 2021-09-18T19:45:47Z | 2021-09-18T19:45:47Z | CONTRIBUTOR | An update, if I remove the Also, if I keep things exactly as they are, and it improperly, but consistently goes to the Weird stuff. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base logo link visits `undefined` rather than href url 999902754 | |
922075480 | https://github.com/simonw/datasette/issues/236#issuecomment-922075480 | https://api.github.com/repos/simonw/datasette/issues/236 | IC_kwDOBm6k_c429cFY | simonw 9599 | 2021-09-17T20:54:13Z | 2021-09-17T20:54:13Z | OWNER | That's so useful @sethvincent! Really interesting reading your code there, especially clever how you're using the I'd be very interested to see what your demo looks like without using serverless - completely agree that the less additional dependencies there are for this the better. I'm also very interested in figuring out a way to run Datasette in Lambda but with the SQLite database on an EFS volume. Do you have a feel for how hard that would be? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish lambda plugin 317001500 | |
920543967 | https://github.com/simonw/datasette/issues/236#issuecomment-920543967 | https://api.github.com/repos/simonw/datasette/issues/236 | IC_kwDOBm6k_c423mLf | sethvincent 164214 | 2021-09-16T03:19:08Z | 2021-09-16T03:19:08Z | NONE | :wave: I just put together a small example using the lambda container image support: https://github.com/sethvincent/datasette-aws-lambda-example It uses mangum and AWS's python runtime interface client to handle the lambda event stuff. I'd be happy to help with a publish plugin for AWS lambda as I plan to use this for upcoming projects. The example uses the serverless cli for deployment but there might be a more suitable deployment approach for the plugin. It would be cool if users didn't have to install anything additional other than the aws cli and its associated config/credentials setup. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish lambda plugin 317001500 | |
919135732 | https://github.com/simonw/datasette/pull/1453#issuecomment-919135732 | https://api.github.com/repos/simonw/datasette/issues/1453 | IC_kwDOBm6k_c42yOX0 | dependabot[bot] 49699333 | 2021-09-14T13:10:38Z | 2021-09-14T13:10:38Z | CONTRIBUTOR | Superseded by #1471. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 21.7b0 to 21.8b0 982780906 | |
918621705 | https://github.com/simonw/datasette/issues/1464#issuecomment-918621705 | https://api.github.com/repos/simonw/datasette/issues/1464 | IC_kwDOBm6k_c42wQ4J | bobwhitelock 7476523 | 2021-09-13T22:17:17Z | 2021-09-13T22:17:17Z | CONTRIBUTOR |
Not certain, but I think tests in CI run on Ubuntu and don't appear to install any additional Sqlite-related dependencies, and so my guess is the version of Sqlite installed by default on Ubuntu has the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
clean checkout & clean environment has test failures 991191951 | |
869105782 | https://github.com/simonw/datasette/pull/1385#issuecomment-869105782 | https://api.github.com/repos/simonw/datasette/issues/1385 | MDEyOklzc3VlQ29tbWVudDg2OTEwNTc4Mg== | codecov[bot] 22429695 | 2021-06-27T05:48:55Z | 2021-09-13T17:29:30Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1385 +/-=======================================
Coverage 91.70% 91.70% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix + improve get_metadata plugin hook docs 930855052 | |
917840012 | https://github.com/simonw/datasette/issues/1466#issuecomment-917840012 | https://api.github.com/repos/simonw/datasette/issues/1466 | IC_kwDOBm6k_c42tSCM | simonw 9599 | 2021-09-13T04:54:59Z | 2021-09-13T04:54:59Z | OWNER | Especially relevant now that 0.2.0 is out which is a much higher quality release. https://github.com/simonw/datasette-app/releases/tag/0.2.0 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Datasette Desktop to installation documentation 991467558 | |
917839801 | https://github.com/simonw/datasette/issues/1468#issuecomment-917839801 | https://api.github.com/repos/simonw/datasette/issues/1468 | IC_kwDOBm6k_c42tR-5 | simonw 9599 | 2021-09-13T04:54:17Z | 2021-09-13T04:54:17Z | OWNER | Here's a already open issue for this: #972 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Faceting for custom SQL queries 994390593 | |
917839507 | https://github.com/simonw/datasette/issues/1468#issuecomment-917839507 | https://api.github.com/repos/simonw/datasette/issues/1468 | IC_kwDOBm6k_c42tR6T | simonw 9599 | 2021-09-13T04:53:22Z | 2021-09-13T04:53:22Z | OWNER | At the moment this isn't possible - though there's a workaround which is to define a SQL view for the query, at which point facets will be displayed again. I did a lot of the work required to support this when I refactored how facets worked a while back - but to finally implement this I need to refactor the table view and the arbitrary query view to share much more logic than they do at the moment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Faceting for custom SQL queries 994390593 | |
917839062 | https://github.com/simonw/datasette/issues/1469#issuecomment-917839062 | https://api.github.com/repos/simonw/datasette/issues/1469 | IC_kwDOBm6k_c42tRzW | simonw 9599 | 2021-09-13T04:52:01Z | 2021-09-13T04:52:01Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Column cog shows "facet by this" when already default faceted 994450961 | ||
917642487 | https://github.com/simonw/datasette/issues/1464#issuecomment-917642487 | https://api.github.com/repos/simonw/datasette/issues/1464 | IC_kwDOBm6k_c42shz3 | ctb 51016 | 2021-09-12T14:03:09Z | 2021-09-12T14:03:09Z | CONTRIBUTOR | haven't had time to get back to this, but idle thought that I'm recording for later investigation: how does the continuous integration handle this installation issue? Is it documented there? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
clean checkout & clean environment has test failures 991191951 | |
916119657 | https://github.com/simonw/sqlite-utils/pull/326#issuecomment-916119657 | https://api.github.com/repos/simonw/sqlite-utils/issues/326 | IC_kwDOCGYnMM42muBp | meatcar 191622 | 2021-09-09T13:54:10Z | 2021-09-09T13:54:10Z | CONTRIBUTOR | dupe of #293? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against 3.10-dev 991237645 | |
915343886 | https://github.com/simonw/datasette/issues/1464#issuecomment-915343886 | https://api.github.com/repos/simonw/datasette/issues/1464 | IC_kwDOBm6k_c42jwoO | bobwhitelock 7476523 | 2021-09-08T15:32:06Z | 2021-09-08T15:32:06Z | CONTRIBUTOR | Thanks, that does look similar!
Ah that makes sense, I guess that's why this isn't just always installed already. I wonder if a possible solution to this issue could be doing feature detection on whether this feature is supported by the current Sqlite version, and if not these tests could be disabled locally? But possibly there's a better way to handle this, will see what @simonw thinks |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
clean checkout & clean environment has test failures 991191951 | |
915321467 | https://github.com/simonw/sqlite-utils/pull/326#issuecomment-915321467 | https://api.github.com/repos/simonw/sqlite-utils/issues/326 | IC_kwDOCGYnMM42jrJ7 | codecov[bot] 22429695 | 2021-09-08T15:05:53Z | 2021-09-08T15:05:53Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #326 +/-=======================================
Coverage 96.58% 96.58% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against 3.10-dev 991237645 | |
915302885 | https://github.com/simonw/datasette/issues/1464#issuecomment-915302885 | https://api.github.com/repos/simonw/datasette/issues/1464 | IC_kwDOBm6k_c42jmnl | ctb 51016 | 2021-09-08T14:44:50Z | 2021-09-08T14:44:50Z | CONTRIBUTOR | thanks for the response! full errors attached; excerpt: ``` ...
/Users/t/dev/datasette/tests/test_api.py:1115: AssertionError ``` A quick scan of #1223 suggests you're right. Unfortunately, pysqlite3-binary isn't available for Mac OS X, so I can't quickly check that that fixes it; will do so later. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
clean checkout & clean environment has test failures 991191951 | |
915299013 | https://github.com/simonw/datasette/issues/1464#issuecomment-915299013 | https://api.github.com/repos/simonw/datasette/issues/1464 | IC_kwDOBm6k_c42jlrF | bobwhitelock 7476523 | 2021-09-08T14:40:28Z | 2021-09-08T14:40:28Z | CONTRIBUTOR | What are the full errors you're getting? This may be the same issue as described in https://github.com/simonw/datasette/pull/1223 - essentially the test suite (and corresponding Datasette features I assume) are by default implicitly dependent on your Sqlite installation having been compiled with the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
clean checkout & clean environment has test failures 991191951 | |
915279711 | https://github.com/simonw/datasette/issues/1464#issuecomment-915279711 | https://api.github.com/repos/simonw/datasette/issues/1464 | IC_kwDOBm6k_c42jg9f | ctb 51016 | 2021-09-08T14:16:49Z | 2021-09-08T14:16:49Z | CONTRIBUTOR | on commit d57ab156b35ec642 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
clean checkout & clean environment has test failures 991191951 | |
914644260 | https://github.com/simonw/datasette/issues/1462#issuecomment-914644260 | https://api.github.com/repos/simonw/datasette/issues/1462 | IC_kwDOBm6k_c42hF0k | simonw 9599 | 2021-09-07T21:34:32Z | 2021-09-07T21:34:32Z | OWNER | I think this is a setting. There are two relevant settings at the moment:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Separate out "debug" options from "root" options 990367646 | |
914441037 | https://github.com/simonw/datasette/issues/1461#issuecomment-914441037 | https://api.github.com/repos/simonw/datasette/issues/1461 | IC_kwDOBm6k_c42gUNN | simonw 9599 | 2021-09-07T16:13:59Z | 2021-09-07T16:13:59Z | OWNER | I don't think I'll adopt it for this project. For example, here:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Try blacken-docs 989986586 | |
914440282 | https://github.com/simonw/datasette/issues/1461#issuecomment-914440282 | https://api.github.com/repos/simonw/datasette/issues/1461 | IC_kwDOBm6k_c42gUBa | simonw 9599 | 2021-09-07T16:12:57Z | 2021-09-07T16:12:57Z | OWNER | Here's the diff it produced from that first run:
Note that you need to pass @@ -412,12 +408,16 @@ To include an expiry, add a
The resulting cookie will encode data that looks something like this: diff --git a/docs/spatialite.rst b/docs/spatialite.rst index d1b300b..556bad8 100644 --- a/docs/spatialite.rst +++ b/docs/spatialite.rst @@ -58,19 +58,22 @@ Here's a recipe for taking a table with existing latitude and longitude columns, .. code-block:: python
Querying polygons using within()
diff --git a/docs/writing_plugins.rst b/docs/writing_plugins.rst
index bd60a4b..5af01f6 100644
--- a/docs/writing_plugins.rst
+++ b/docs/writing_plugins.rst
@@ -18,9 +18,10 @@ The quickest way to start writing a plugin is to create a
+ @hookimpl def prepare_connection(conn): - conn.create_function('hello_world', 0, lambda: 'Hello world!') + conn.create_function("hello_world", 0, lambda: "Hello world!") If you save this in @@ -60,22 +61,18 @@ The example consists of two files: a
And a Python module file,
Having built a plugin in this way you can turn it into an installable package using the following command:: @@ -123,11 +120,13 @@ To bundle the static assets for a plugin in the package that you publish to PyPI .. code-block:: python
Where @@ -152,11 +151,13 @@ Templates should be bundled for distribution using the same .. code-block:: python
You can also use wildcards here such as |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Try blacken-docs 989986586 | |
914439356 | https://github.com/simonw/datasette/issues/1461#issuecomment-914439356 | https://api.github.com/repos/simonw/datasette/issues/1461 | IC_kwDOBm6k_c42gTy8 | simonw 9599 | 2021-09-07T16:11:37Z | 2021-09-07T16:11:37Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Try blacken-docs 989986586 | |
913218494 | https://github.com/simonw/datasette/issues/1459#issuecomment-913218494 | https://api.github.com/repos/simonw/datasette/issues/1459 | IC_kwDOBm6k_c42bpu- | simonw 9599 | 2021-09-05T19:58:51Z | 2021-09-05T19:59:15Z | OWNER | This idea makes sense to me. There's actually an existing option that takes a path, called So... one option would be to allow combining that with
So some options here are:
I quite like that last combination option, mainly to avoid adding even more command options. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
suggestion: allow `datasette --open` to take a relative URL 988556488 | |
913001416 | https://github.com/simonw/datasette/pull/1455#issuecomment-913001416 | https://api.github.com/repos/simonw/datasette/issues/1455 | IC_kwDOBm6k_c42a0vI | simonw 9599 | 2021-09-04T16:32:21Z | 2021-09-04T16:32:21Z | OWNER | I'll add researchers too. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add scientists to target groups 988325628 | |
913001298 | https://github.com/simonw/datasette/pull/1455#issuecomment-913001298 | https://api.github.com/repos/simonw/datasette/issues/1455 | IC_kwDOBm6k_c42a0tS | simonw 9599 | 2021-09-04T16:31:32Z | 2021-09-04T16:31:32Z | OWNER | Great idea! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add scientists to target groups 988325628 | |
913001282 | https://github.com/simonw/datasette/pull/1455#issuecomment-913001282 | https://api.github.com/repos/simonw/datasette/issues/1455 | IC_kwDOBm6k_c42a0tC | ctb 51016 | 2021-09-04T16:31:24Z | 2021-09-04T16:31:24Z | CONTRIBUTOR | I love it! maybe 'researchers' instead? Or 'scientists and researchers'? |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add scientists to target groups 988325628 | |
911772943 | https://github.com/dogsheep/evernote-to-sqlite/issues/14#issuecomment-911772943 | https://api.github.com/repos/dogsheep/evernote-to-sqlite/issues/14 | IC_kwDOEhK-wc42WI0P | step21 46968 | 2021-09-02T14:53:11Z | 2021-09-02T14:53:11Z | NONE | Additionally, assuming the line numbers match up with the provided enenx file, the mentioned line plus one before and after is as follows: ``` ]]>``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xml.etree.ElementTree.Parse Error - mismatched tag 986829194 | |
910121331 | https://github.com/dogsheep/twitter-to-sqlite/issues/58#issuecomment-910121331 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/58 | IC_kwDODEm0Qs42P1lz | rubenv 42904 | 2021-09-01T09:49:33Z | 2021-09-01T09:49:33Z | CONTRIBUTOR | Found the cause, it's the other commands. PR #59 submitted. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error: Use either --since or --since_id, not both - still broken 984939366 | |
908832938 | https://github.com/simonw/datasette/issues/1446#issuecomment-908832938 | https://api.github.com/repos/simonw/datasette/issues/1446 | IC_kwDOBm6k_c42K7Cq | simonw 9599 | 2021-08-31T01:54:59Z | 2021-08-31T01:54:59Z | OWNER | I used the sticky footer mechanism in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Modify base.html template to support optional sticky footer 978357984 | |
908337614 | https://github.com/simonw/datasette/pull/1453#issuecomment-908337614 | https://api.github.com/repos/simonw/datasette/issues/1453 | IC_kwDOBm6k_c42JCHO | codecov[bot] 22429695 | 2021-08-30T13:20:26Z | 2021-08-30T13:20:26Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1453 +/-=======================================
Coverage 91.83% 91.83% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 21.7b0 to 21.8b0 982780906 | |
907547624 | https://github.com/simonw/datasette/issues/1449#issuecomment-907547624 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42GBPo | simonw 9599 | 2021-08-28T01:44:57Z | 2021-08-28T01:58:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | ||
907547736 | https://github.com/simonw/datasette/issues/1449#issuecomment-907547736 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42GBRY | simonw 9599 | 2021-08-28T01:45:36Z | 2021-08-28T01:45:36Z | OWNER | I need to push this out as an alpha so I can release a demo plugin that uses it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907543982 | https://github.com/simonw/datasette/issues/1449#issuecomment-907543982 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42GAWu | simonw 9599 | 2021-08-28T01:14:27Z | 2021-08-28T01:14:27Z | OWNER | Writing the test for this is proving difficult, because the Trying to work around that with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907542214 | https://github.com/simonw/datasette/issues/1449#issuecomment-907542214 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_7G | simonw 9599 | 2021-08-28T01:02:38Z | 2021-08-28T01:02:38Z | OWNER | Partial prototype of @hookimpl
def register_commands(cli):
from datasette.cli import sqlite_extensions
@cli.command()
@click.argument("files", type=click.Path(exists=True), nargs=-1)
@sqlite_extensions
def verify(files, sqlite_extensions):
"Verify that files can be opened by Datasette"
for file in files:
print(file)
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907540928 | https://github.com/simonw/datasette/issues/1449#issuecomment-907540928 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_nA | simonw 9599 | 2021-08-28T00:53:37Z | 2021-08-28T00:53:37Z | OWNER | I'll probably have to use this mechanism for the tests then: https://til.simonwillison.net/pytest/registering-plugins-in-tests |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907540790 | https://github.com/simonw/datasette/issues/1449#issuecomment-907540790 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_k2 | simonw 9599 | 2021-08-28T00:52:32Z | 2021-08-28T00:52:32Z | OWNER | I don't think I can get this new hook to support the handy --plugins-dir= mechanism for loading plugins from Python files as opposed to registering them with setuptools - that mechanism is itself implemented inside of code called by |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907540240 | https://github.com/simonw/datasette/issues/1450#issuecomment-907540240 | https://api.github.com/repos/simonw/datasette/issues/1450 | IC_kwDOBm6k_c42F_cQ | simonw 9599 | 2021-08-28T00:48:30Z | 2021-08-28T00:48:30Z | OWNER | I'll go with this: ``` % datasette --help Usage: datasette [OPTIONS] COMMAND [ARGS]... Datasette is an open source multi-tool for exploring and publishing data About Datasette: https://datasette.io/ Full documentation: https://docs.datasette.io/ Options: --version Show the version and exit. --help Show this message and exit. ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette --help should show something more useful than "Datasette!" 981681138 | |
907539668 | https://github.com/simonw/datasette/issues/1449#issuecomment-907539668 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_TU | simonw 9599 | 2021-08-28T00:44:16Z | 2021-08-28T00:44:16Z | OWNER | Considering this piece of code: https://github.com/simonw/datasette/blob/a1a33bb5822214be1cebd98cd858b2058d91a4aa/datasette/cli.py#L122-L142 I think the hook itself gets called with a single argument, I can't pass it |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907539251 | https://github.com/simonw/datasette/issues/1449#issuecomment-907539251 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_Mz | simonw 9599 | 2021-08-28T00:41:37Z | 2021-08-28T00:41:50Z | OWNER | The first example plugin I'm going to build for this will be |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907539065 | https://github.com/simonw/datasette/issues/1449#issuecomment-907539065 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_J5 | simonw 9599 | 2021-08-28T00:40:24Z | 2021-08-28T00:40:24Z | OWNER | I'm going to call the new hook |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907538940 | https://github.com/simonw/datasette/issues/1449#issuecomment-907538940 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F_H8 | simonw 9599 | 2021-08-28T00:39:28Z | 2021-08-28T00:39:28Z | OWNER | Here's the answer to that: ``` ~ % datasette --help Usage: datasette [OPTIONS] COMMAND [ARGS]... Datasette! Options: --version Show the version and exit. --help Show this message and exit. Commands:
serve* Serve up specified SQLite database files with a web UI
inspect
install Install Python packages - e.g.
package Package specified SQLite files into a new datasette Docker...
plugins List currently available plugins
publish Publish specified SQLite database files to the internet...
uninstall Uninstall Python packages (e.g.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907537693 | https://github.com/simonw/datasette/issues/1449#issuecomment-907537693 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F-0d | simonw 9599 | 2021-08-28T00:31:26Z | 2021-08-28T00:31:26Z | OWNER | Terminology question: is it correct to call these subcommands or should they be commands? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907537610 | https://github.com/simonw/datasette/issues/1449#issuecomment-907537610 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F-zK | simonw 9599 | 2021-08-28T00:30:51Z | 2021-08-28T00:30:51Z | OWNER | There's also the option for plugins to muck around with existing registered commands - this could get a bit untidy if multiple plugins try to do it, but being able to replace |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
907537366 | https://github.com/simonw/datasette/issues/1449#issuecomment-907537366 | https://api.github.com/repos/simonw/datasette/issues/1449 | IC_kwDOBm6k_c42F-vW | simonw 9599 | 2021-08-28T00:29:16Z | 2021-08-28T00:29:29Z | OWNER | The closest plugin hook to this right now is publish_subcommand - which looks like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`register_commands()` plugin hook to register extra CLI commands 981676832 | |
906646452 | https://github.com/dogsheep/evernote-to-sqlite/issues/13#issuecomment-906646452 | https://api.github.com/repos/dogsheep/evernote-to-sqlite/issues/13 | IC_kwDOEhK-wc42ClO0 | simonw 9599 | 2021-08-26T18:34:34Z | 2021-08-26T18:35:20Z | MEMBER | I tried this ampersand fix: https://regex101.com/r/ojU2H9/1 ```python https://regex101.com/r/ojU2H9/1_invalid_ampersand_re = re.compile(r'&(?![a-z0-9]+;)') def fix_bad_xml(xml): # More fixes for things like '&' not as part of an entity return _invalid_ampersand_re.sub('&', xml) ``` Even with that I'm still getting total garbage in the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xml.etree.ElementTree.ParseError: not well-formed (invalid token) 978743426 | |
906635938 | https://github.com/dogsheep/evernote-to-sqlite/issues/13#issuecomment-906635938 | https://api.github.com/repos/dogsheep/evernote-to-sqlite/issues/13 | IC_kwDOEhK-wc42Ciqi | simonw 9599 | 2021-08-26T18:18:27Z | 2021-08-26T18:18:27Z | MEMBER | It looks like I was using the round-trip to dump the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xml.etree.ElementTree.ParseError: not well-formed (invalid token) 978743426 | |
906414811 | https://github.com/simonw/datasette/pull/1448#issuecomment-906414811 | https://api.github.com/repos/simonw/datasette/issues/1448 | IC_kwDOBm6k_c42Bsrb | codecov[bot] 22429695 | 2021-08-26T13:29:02Z | 2021-08-26T13:29:02Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1448 +/-=======================================
Coverage 91.82% 91.82% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update pluggy requirement from ~=0.13.0 to >=0.13,<1.1 980228553 | |
906015471 | https://github.com/dogsheep/dogsheep-photos/issues/7#issuecomment-906015471 | https://api.github.com/repos/dogsheep/dogsheep-photos/issues/7 | IC_kwDOD079W842ALLv | dkam 18232 | 2021-08-26T02:01:01Z | 2021-08-26T02:01:01Z | NONE | Perceptual hashes might be what you're after : http://phash.org |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Integrate image content hashing 602585497 | |
905904540 | https://github.com/simonw/datasette/issues/859#issuecomment-905904540 | https://api.github.com/repos/simonw/datasette/issues/859 | IC_kwDOBm6k_c41_wGc | brandonrobertz 2670795 | 2021-08-25T21:59:14Z | 2021-08-25T21:59:55Z | CONTRIBUTOR | I did two tests: one with 1000 5-30mb DBs and a second with 20 multi gig DBs. For the second, I created them like so:
This was for deciding whether to use lots of small DBs or to group things into a smaller number of bigger DBs. The second strategy wins. By simply persisting the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
905900807 | https://github.com/simonw/datasette/issues/859#issuecomment-905900807 | https://api.github.com/repos/simonw/datasette/issues/859 | IC_kwDOBm6k_c41_vMH | simonw 9599 | 2021-08-25T21:51:10Z | 2021-08-25T21:51:10Z | OWNER | 10-20 minutes to populate I may have to rethink the I need to get my own stress testing rig setup for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
905899177 | https://github.com/simonw/datasette/issues/859#issuecomment-905899177 | https://api.github.com/repos/simonw/datasette/issues/859 | IC_kwDOBm6k_c41_uyp | brandonrobertz 2670795 | 2021-08-25T21:48:00Z | 2021-08-25T21:48:00Z | CONTRIBUTOR | Upon first stab, there's two issues here: - DB/table/row counts (as discussed above). This isn't too bad if the DBs are actually above the MAX limit check. - Populating the internal DB. On first load of a giant set of DBs, it can take 10-20 mins to populate. By altering datasette and persisting the internal DB to disk, this problem is vastly improved, but I'm sure this will cause problems elsewhere. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
905886797 | https://github.com/simonw/sqlite-utils/issues/323#issuecomment-905886797 | https://api.github.com/repos/simonw/sqlite-utils/issues/323 | IC_kwDOCGYnMM41_rxN | simonw 9599 | 2021-08-25T21:25:18Z | 2021-08-25T21:25:18Z | OWNER | As far as I can tell the Python This means that if I implement a mechanism whereby each call to For that reason, I'm going to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.convert()` method should clean up after itself 979627285 | |
905206234 | https://github.com/dogsheep/evernote-to-sqlite/issues/13#issuecomment-905206234 | https://api.github.com/repos/dogsheep/evernote-to-sqlite/issues/13 | IC_kwDOEhK-wc419Fna | simonw 9599 | 2021-08-25T05:58:42Z | 2021-08-25T05:58:42Z | MEMBER | Not sure why I was round-tripping the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xml.etree.ElementTree.ParseError: not well-formed (invalid token) 978743426 | |
905203570 | https://github.com/dogsheep/evernote-to-sqlite/issues/13#issuecomment-905203570 | https://api.github.com/repos/dogsheep/evernote-to-sqlite/issues/13 | IC_kwDOEhK-wc419E9y | simonw 9599 | 2021-08-25T05:51:22Z | 2021-08-25T05:53:27Z | MEMBER | The debugger showed me that it broke on a string that looked like this: ```xml <en-note>
Q3 2018 Reflection & Development... ``` Yeah that is not valid XML! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xml.etree.ElementTree.ParseError: not well-formed (invalid token) 978743426 | |
905097468 | https://github.com/simonw/datasette/pull/1447#issuecomment-905097468 | https://api.github.com/repos/simonw/datasette/issues/1447 | IC_kwDOBm6k_c418rD8 | simonw 9599 | 2021-08-25T01:28:53Z | 2021-08-25T01:28:53Z | OWNER | Good catch, thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove underscore from search mode parameter name 978614898 | |
905043974 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905043974 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418eAG | simonw 9599 | 2021-08-24T23:33:44Z | 2021-08-24T23:33:44Z | OWNER | Updated documentation: https://sqlite-utils.datasette.io/en/latest/cli.html#inserting-data-from-files |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905022931 | https://github.com/simonw/sqlite-utils/pull/321#issuecomment-905022931 | https://api.github.com/repos/simonw/sqlite-utils/issues/321 | IC_kwDOCGYnMM418Y3T | codecov[bot] 22429695 | 2021-08-24T22:38:38Z | 2021-08-24T23:27:26Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #321 +/-==========================================
+ Coverage 96.41% 96.58% +0.16% | Impacted Files | Coverage Δ | |
|---|---|---|
| sqlite_utils/cli.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert file contents as text, in addition to blob 978537855 | |
905040902 | https://github.com/simonw/sqlite-utils/pull/321#issuecomment-905040902 | https://api.github.com/repos/simonw/sqlite-utils/issues/321 | IC_kwDOCGYnMM418dQG | simonw 9599 | 2021-08-24T23:25:03Z | 2021-08-24T23:25:03Z | OWNER | I'm going to skip this test on windows. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert file contents as text, in addition to blob 978537855 | |
905040307 | https://github.com/simonw/sqlite-utils/pull/321#issuecomment-905040307 | https://api.github.com/repos/simonw/sqlite-utils/issues/321 | IC_kwDOCGYnMM418dGz | simonw 9599 | 2021-08-24T23:23:36Z | 2021-08-24T23:23:36Z | OWNER | https://discuss.python.org/t/pep-597-use-utf-8-for-default-text-file-encoding/1819 says:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert file contents as text, in addition to blob 978537855 | |
905039576 | https://github.com/simonw/sqlite-utils/pull/321#issuecomment-905039576 | https://api.github.com/repos/simonw/sqlite-utils/issues/321 | IC_kwDOCGYnMM418c7Y | simonw 9599 | 2021-08-24T23:21:29Z | 2021-08-24T23:21:29Z | OWNER | Hah, the error here is actually: ```
I suspect this is because on Windows the default character set may not be UTF-8? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert file contents as text, in addition to blob 978537855 | |
905037323 | https://github.com/simonw/sqlite-utils/pull/321#issuecomment-905037323 | https://api.github.com/repos/simonw/sqlite-utils/issues/321 | IC_kwDOCGYnMM418cYL | simonw 9599 | 2021-08-24T23:15:29Z | 2021-08-24T23:15:29Z | OWNER | Huh, tests are failing but only on Windows! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to insert file contents as text, in addition to blob 978537855 | |
905024066 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905024066 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418ZJC | pjamargh 66709385 | 2021-08-24T22:41:39Z | 2021-08-24T22:41:39Z | NONE | I'm happy with this functionality left the way you describe. In my case the data is homogeneous but other cases would work just by being consistent on the encoding. Thanks a lot, Simon! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905021933 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905021933 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418Ynt | simonw 9599 | 2021-08-24T22:36:04Z | 2021-08-24T22:36:04Z | OWNER |
I thought about supporting those different policies (with something like ``` Error: Could not read file '/Users/simon/Dropbox/Development/sqlite-utils/data.txt' as text 'utf-8' codec can't decode byte 0xe3 in position 83: invalid continuation byte The input you provided uses a character encoding other than utf-8. You can fix this by passing the --encoding= option with the encoding of the file. If you do not know the encoding, running 'file filename.csv' may tell you. It's often worth trying: --encoding=latin-1
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905021047 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905021047 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418YZ3 | simonw 9599 | 2021-08-24T22:33:48Z | 2021-08-24T22:33:48Z | OWNER | I had a few doubts about the design just now. Since
This does exactly the same thing as just using But actually I think that's OK - |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905021010 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905021010 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418YZS | pjamargh 66709385 | 2021-08-24T22:33:42Z | 2021-08-24T22:33:42Z | NONE | Oh, I misread. Yes some files will not be valid UTF-8, I'd throw a warning and continue (not adding that file) but if you want to get more elaborate you could allow to define a policy on what to do. Not adding the file, index binary content or use a conversion policy like the ones available on Python's decode. From https://stackoverflow.com/questions/24616678/unicodedecodeerror-in-python-when-reading-a-file-how-to-ignore-the-error-and-ju : - 'ignore' ignores errors. Note that ignoring encoding errors can lead to data loss. - 'replace' causes a replacement marker (such as '?') to be inserted where there is malformed data. - 'surrogateescape' will represent any incorrect bytes as code points in the Unicode Private Use Area ranging from U+DC80 to U+DCFF. These private code points will then be turned back into the same bytes when the surrogateescape error handler is used when writing data. This is useful for processing files in an unknown encoding. - 'xmlcharrefreplace' is only supported when writing to a file. Characters not supported by the encoding are replaced with the appropriate XML character reference &#nnn;. - 'backslashreplace' (also only supported when writing) replaces unsupported characters with Python’s backslashed escape sequences. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905013183 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905013183 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418We_ | simonw 9599 | 2021-08-24T22:15:34Z | 2021-08-24T22:15:34Z | OWNER | Here's the error message I have working for invalid unicode: ``` sqlite-utils insert-files /tmp/text.db files *.txt --text [------------------------------------] 0% Error: Could not read file '/Users/simon/Dropbox/Development/sqlite-utils/data.txt' as text 'utf-8' codec can't decode byte 0xe3 in position 83: invalid continuation byte ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905013162 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905013162 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418Weq | simonw 9599 | 2021-08-24T22:15:31Z | 2021-08-24T22:15:31Z | OWNER | I'm going to assume utf-8 but allow |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905003381 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905003381 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418UF1 | pjamargh 66709385 | 2021-08-24T21:56:49Z | 2021-08-24T21:56:49Z | NONE | I was thinking that an approach could be making FILE_COLUMNS a generator (_get_file_columns(mode)) or you can just have a different set of columns (is there something else that makes sense to be changed on the text scenario?). About UTF-8 I was referring to the encoding to use when reading files. This can be difficult to auto-detect but I believe that UTF-8 is pretty much the standard for text files. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
905001586 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905001586 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418Tpy | simonw 9599 | 2021-08-24T21:52:50Z | 2021-08-24T21:52:50Z | OWNER | Will need to re-title this section of the documentation: https://sqlite-utils.datasette.io/en/3.16/cli.html#inserting-binary-data-from-files - "Inserting binary data from files" will become "Inserting data from files" I'm OK with keeping the default as If the text can't be stored as |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 |
Advanced export
JSON shape: default, array, newline-delimited, object
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]);
user >30