525 rows where author_association = "NONE" sorted by updated_at descending

View and edit SQL

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

author_association

  • NONE · 525
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
885098025 https://github.com/dogsheep/google-takeout-to-sqlite/pull/5#issuecomment-885098025 https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/5 IC_kwDODFE5qs40wYYp UtahDave 306240 2021-07-22T17:47:50Z 2021-07-22T17:47:50Z NONE

Hi @maxhawkins , I'm sorry, I haven't had any time to work on this. I'll have some time tomorrow to test your commits. I think they look great. I'm great with your commits superseding my initial attempt here.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
WIP: Add Gmail takeout mbox import 813880401  
885094284 https://github.com/dogsheep/google-takeout-to-sqlite/pull/5#issuecomment-885094284 https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/5 IC_kwDODFE5qs40wXeM maxhawkins 28565 2021-07-22T17:41:32Z 2021-07-22T17:41:32Z NONE

I added a follow-up commit that deals with emails that don't have a Date header: https://github.com/maxhawkins/google-takeout-to-sqlite/commit/4bc70103582c10802c85a523ef1e99a8a2154aa9

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
WIP: Add Gmail takeout mbox import 813880401  
885022230 https://github.com/dogsheep/google-takeout-to-sqlite/pull/5#issuecomment-885022230 https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/5 IC_kwDODFE5qs40wF4W maxhawkins 28565 2021-07-22T15:51:46Z 2021-07-22T15:51:46Z NONE

One thing I noticed is this importer doesn't save attachments along with the body of the emails. It would be nice if those got stored as blobs in a separate attachments table so attachments can be included while fetching search results.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
WIP: Add Gmail takeout mbox import 813880401  
884672647 https://github.com/dogsheep/google-takeout-to-sqlite/pull/5#issuecomment-884672647 https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/5 IC_kwDODFE5qs40uwiH maxhawkins 28565 2021-07-22T05:56:31Z 2021-07-22T14:03:08Z NONE

How does this commit look? https://github.com/maxhawkins/google-takeout-to-sqlite/commit/72802a83fee282eb5d02d388567731ba4301050d

It seems that Takeout's mbox format is pretty simple, so we can get away with just splitting the file on lines begining with From. My commit just splits the file every time a line starts with From and uses email.message_from_bytes to parse each chunk.

I was able to load a 12GB takeout mbox without the program using more than a couple hundred MB of memory during the import process. It does make us lose the progress bar, but maybe I can add that back in a later commit.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
WIP: Add Gmail takeout mbox import 813880401  
884910320 https://github.com/simonw/datasette/issues/1401#issuecomment-884910320 https://api.github.com/repos/simonw/datasette/issues/1401 IC_kwDOBm6k_c40vqjw fgregg 536941 2021-07-22T13:26:01Z 2021-07-22T13:26:01Z NONE

ordered lists didn't work either, btw

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
unordered list is not rendering bullet points in description_html on database page 950664971  
884688833 https://github.com/dogsheep/dogsheep-photos/issues/32#issuecomment-884688833 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/32 IC_kwDOD079W840u0fB aaronyih1 10793464 2021-07-22T06:40:25Z 2021-07-22T06:40:25Z NONE

The solution here is to upload an image to the bucket first. It is caused because it does not properly handle the case when there are no images in the bucket.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
KeyError: 'Contents' on running upload 803333769  
817403642 https://github.com/simonw/datasette/pull/1296#issuecomment-817403642 https://api.github.com/repos/simonw/datasette/issues/1296 MDEyOklzc3VlQ29tbWVudDgxNzQwMzY0Mg== codecov[bot] 22429695 2021-04-12T00:29:05Z 2021-07-20T08:52:12Z NONE

Codecov Report

Merging #1296 (527a056) into main (c73af5d) will decrease coverage by 0.11%.
The diff coverage is n/a.

:exclamation: Current head 527a056 differs from pull request most recent head 8f00c31. Consider uploading reports for the commit 8f00c31 to get more accurate results

@@            Coverage Diff             @@
##             main    #1296      +/-   ##
==========================================
- Coverage   91.62%   91.51%   -0.12%     
==========================================
  Files          34       34              
  Lines        4371     4255     -116     
==========================================
- Hits         4005     3894     -111     
+ Misses        366      361       -5     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/tracer.py</td> <td>81.60% <0.00%> (-1.35%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/base.py</td> <td>95.01% <0.00%> (-0.42%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/facets.py</td> <td>89.04% <0.00%> (-0.41%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/utils/__init__.py</td> <td>94.13% <0.00%> (-0.21%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/renderer.py</td> <td>94.02% <0.00%> (-0.18%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/database.py</td> <td>97.19% <0.00%> (-0.10%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/table.py</td> <td>95.88% <0.00%> (-0.07%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/index.py</td> <td>96.36% <0.00%> (-0.07%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/hookspecs.py</td> <td>100.00% <0.00%> (ø)</td> <td></td> </tr> <tr> <td>datasette/utils/testing.py</td> <td>95.38% <0.00%> (ø)</td> <td></td> </tr> <tr> <td>... and 5 more</td> <td></td> <td></td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c73af5d...8f00c31. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Dockerfile: use Ubuntu 20.10 as base 855446829  
882542519 https://github.com/simonw/datasette/pull/1400#issuecomment-882542519 https://api.github.com/repos/simonw/datasette/issues/1400 IC_kwDOBm6k_c40moe3 codecov[bot] 22429695 2021-07-19T13:20:52Z 2021-07-19T13:20:52Z NONE

Codecov Report

Merging #1400 (e95c685) into main (c73af5d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1400   +/-   ##
=======================================
  Coverage   91.62%   91.62%           
=======================================
  Files          34       34           
  Lines        4371     4371           
=======================================
  Hits         4005     4005           
  Misses        366      366           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c73af5d...e95c685. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 21.6b0 to 21.7b0 947640902  
882096402 https://github.com/simonw/datasette/issues/123#issuecomment-882096402 https://api.github.com/repos/simonw/datasette/issues/123 IC_kwDOBm6k_c40k7kS RayBB 921217 2021-07-18T18:07:29Z 2021-07-18T18:07:29Z NONE

I also love the idea for this feature and wonder if it could work without having to download the whole database into memory at once if it's a rather large db. Obviously this could be slower but could have many use cases.

My comment is partially inspired by this post about streaming sqlite dbs from github pages or such
https://news.ycombinator.com/item?id=27016630

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Datasette serve should accept paths/URLs to CSVs and other file formats 275125561  
882091516 https://github.com/dogsheep/dogsheep-photos/issues/32#issuecomment-882091516 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/32 IC_kwDOD079W840k6X8 aaronyih1 10793464 2021-07-18T17:29:39Z 2021-07-18T17:33:02Z NONE

Same here for US West (N. California) us-west-1. Running on Catalina.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
KeyError: 'Contents' on running upload 803333769  
579675357 https://github.com/simonw/datasette/issues/651#issuecomment-579675357 https://api.github.com/repos/simonw/datasette/issues/651 MDEyOklzc3VlQ29tbWVudDU3OTY3NTM1Nw== clausjuhl 2181410 2020-01-29T09:45:00Z 2021-07-14T19:26:06Z NONE

Hi Simon

Thank you for adding the escape_function, but it does not work on my datasette-installation (0.33). I've added the following file to my datasette-dir: /plugins/sql_functions.py:

from datasette import hookimpl

def escape_fts_query(query):
    bits = query.split()
    return ' '.join('"{}"'.format(bit.replace('"', '')) for bit in bits)

@hookimpl
def prepare_connection(conn):
    conn.create_function("escape_fts_query", 1, escape_fts_query)`

It has no effect on the standard queries to the tables though, as they still produce errors when including any characters like '-', '/', '+' or '?'

Does the function only work when using costum queries, where I can include the escape_fts-function explicitly in the sql-query?

PS. I'm calling datasette with --plugins=plugins, and my other plugins work just fine.
PPS. The fts5 virtual table is created with 'sqlite3' like so:

CREATE VIRTUAL TABLE "cases_fts" USING FTS5( title, subtitle, resume, suggestion, presentation, detail = full, content_rowid = 'id', content = 'cases', tokenize='unicode61', 'remove_diacritics 2', 'tokenchars "-_"' );

Thanks!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
fts5 syntax error when using punctuation 539590148  
877874117 https://github.com/dogsheep/healthkit-to-sqlite/issues/12#issuecomment-877874117 https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/12 MDEyOklzc3VlQ29tbWVudDg3Nzg3NDExNw== Mjboothaus 956433 2021-07-11T23:03:37Z 2021-07-11T23:03:37Z NONE

P.s. wondering if you have explored using the spatialite functionality with the location data in workouts?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Some workout columns should be float, not text 727848625  
877805513 https://github.com/dogsheep/healthkit-to-sqlite/issues/12#issuecomment-877805513 https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/12 MDEyOklzc3VlQ29tbWVudDg3NzgwNTUxMw== Mjboothaus 956433 2021-07-11T14:03:01Z 2021-07-11T14:03:01Z NONE

Hi Simon -- just experimenting with your excellent software!

Up to this point in time I have been using the (paid) HealthFit App to export my workouts from my Apple Watch, one walk at the time into either .GPX or .FIT format and then using another library to suck it into Python and eventually here to my "Emmaus Walking" app:

https://share.streamlit.io/mjboothaus/emmaus_walking/emmaus_walking/app.py

I just used healthkit-to-sqlite to convert my export.zip file and it all "just worked".

I did notice the issue with various numeric fields being stored in the SQLite db as TEXT for now and just thought I'd flag it - but you're already self-reported this issue.

Keep up the great work!

I was curious if you have any thoughts about periodically exporting "export.zip" and how to just update the SQLite file instead of re-creating it each time. Hopefully Apple will give some thought to managing this data in a more sensible fashion as it grows over time. Ideally one could pull it from iCloud (where it is allegedly being backed up).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Some workout columns should be float, not text 727848625  
650340914 https://github.com/simonw/datasette/pull/868#issuecomment-650340914 https://api.github.com/repos/simonw/datasette/issues/868 MDEyOklzc3VlQ29tbWVudDY1MDM0MDkxNA== codecov[bot] 22429695 2020-06-26T18:53:02Z 2021-07-10T23:41:42Z NONE

Codecov Report

Merging #868 (b452fcb) into master (0005281) will increase coverage by 0.49%.
The diff coverage is 96.19%.

:exclamation: Current head b452fcb differs from pull request most recent head c99caba. Consider uploading reports for the commit c99caba to get more accurate results

@@            Coverage Diff             @@
##           master     #868      +/-   ##
==========================================
+ Coverage   82.91%   83.40%   +0.49%     
==========================================
  Files          26       27       +1     
  Lines        3547     3634      +87     
==========================================
+ Hits         2941     3031      +90     
+ Misses        606      603       -3     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/plugins.py</td> <td>82.35% <ø> (ø)</td> <td></td> </tr> <tr> <td>datasette/default_magic_parameters.py</td> <td>91.17% <91.17%> (ø)</td> <td></td> </tr> <tr> <td>datasette/app.py</td> <td>95.99% <97.91%> (+1.32%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/hookspecs.py</td> <td>100.00% <100.00%> (ø)</td> <td></td> </tr> <tr> <td>datasette/utils/__init__.py</td> <td>93.93% <100.00%> (+0.08%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/utils/asgi.py</td> <td>91.32% <100.00%> (+0.41%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/views/base.py</td> <td>93.39% <100.00%> (-0.01%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/database.py</td> <td>96.37% <100.00%> (-1.96%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/table.py</td> <td>95.67% <0.00%> (-0.03%)</td> <td>:arrow_down:</td> </tr> <tr> <td>... and 6 more</td> <td></td> <td></td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 180c7a5...c99caba. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
initial windows ci setup 646448486  
876721585 https://github.com/simonw/datasette/issues/268#issuecomment-876721585 https://api.github.com/repos/simonw/datasette/issues/268 MDEyOklzc3VlQ29tbWVudDg3NjcyMTU4NQ== rayvoelker 9308268 2021-07-08T20:22:17Z 2021-07-08T20:22:17Z NONE

I do like the idea of there being a option for turning that on by default so that you could use those terms in the default "Search" bar presented when you browse to a table where FTS has been enabled. Maybe even a small inline pop up with a short bit explaining the FTS feature and the keywords (e.g. case matters). What are the side-effects of turning that on in the query string, or even by default as you suggested? I see that you stated in the docs... "to ensure they do not cause any confusion for users who are not aware of them", but I'm not sure what those could be.

Isn't it the case that those keywords are only picked up by sqlite in where you're using the MATCH clause?

Seems like a really powerful feature (even though there are a lot of hurdles around setting it up in the sqlite db ... sqlite-utils makes that so simple by the way!)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mechanism for ranking results from SQLite full-text search 323718842  
876428348 https://github.com/simonw/datasette/issues/268#issuecomment-876428348 https://api.github.com/repos/simonw/datasette/issues/268 MDEyOklzc3VlQ29tbWVudDg3NjQyODM0OA== rayvoelker 9308268 2021-07-08T13:13:12Z 2021-07-08T13:13:12Z NONE

I had setup a full text search on my instance of Datasette for title data for our public library, and was noticing that some of the features of the SQLite FTS weren't working as expected ... and maybe the issue is in the escape_fts() function


vs removing the function...

Also, on the issue of sorting by rank by default .. perhaps something like this could work for the baked-in default SQL query for Datasette?

link to the above search in my instance of Datasette

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mechanism for ranking results from SQLite full-text search 323718842  
873166836 https://github.com/simonw/datasette/issues/1387#issuecomment-873166836 https://api.github.com/repos/simonw/datasette/issues/1387 MDEyOklzc3VlQ29tbWVudDg3MzE2NjgzNg== rayvoelker 9308268 2021-07-02T17:58:23Z 2021-07-02T17:58:23Z NONE

Thanks Simon for nailing that one down! It does seem a little confusing that the ProxyPreservehost option is set to Off By default, but this config totally did the trick and fixed the issue

<Location /collection-analysis/>
   ProxyPass http://127.0.0.1:8010/collection-analysis/
   ProxyPreservehost On
</Location>
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
absolute_url() behind a proxy assembles incorrect http://127.0.0.1:8001/ URLs 935930820  
869677851 https://github.com/simonw/datasette/pull/1386#issuecomment-869677851 https://api.github.com/repos/simonw/datasette/issues/1386 MDEyOklzc3VlQ29tbWVudDg2OTY3Nzg1MQ== codecov[bot] 22429695 2021-06-28T13:18:50Z 2021-06-28T13:18:50Z NONE

Codecov Report

Merging #1386 (e974ed1) into main (ea627ba) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1386   +/-   ##
=======================================
  Coverage   91.70%   91.70%           
=======================================
  Files          34       34           
  Lines        4364     4364           
=======================================
  Hits         4002     4002           
  Misses        362      362           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ea627ba...e974ed1. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update asgiref requirement from <3.4.0,>=3.2.10 to >=3.2.10,<3.5.0 931557895  
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-06-27T05:48:55Z NONE

Codecov Report

Merging #1385 (db78094) into main (ea627ba) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1385   +/-   ##
=======================================
  Coverage   91.70%   91.70%           
=======================================
  Files          34       34           
  Lines        4364     4364           
=======================================
  Hits         4002     4002           
  Misses        362      362           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ea627ba...db78094. Read the comment docs.

{
    "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  
868125750 https://github.com/simonw/sqlite-utils/pull/293#issuecomment-868125750 https://api.github.com/repos/simonw/sqlite-utils/issues/293 MDEyOklzc3VlQ29tbWVudDg2ODEyNTc1MA== codecov[bot] 22429695 2021-06-25T01:42:43Z 2021-06-25T01:42:43Z NONE

Codecov Report

Merging #293 (ae0f46a) into main (747be60) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #293   +/-   ##
=======================================
  Coverage   96.03%   96.03%           
=======================================
  Files           4        4           
  Lines        1994     1994           
=======================================
  Hits         1915     1915           
  Misses         79       79           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 747be60...ae0f46a. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Test against Python 3.10-dev 929748885  
866241836 https://github.com/simonw/sqlite-utils/issues/289#issuecomment-866241836 https://api.github.com/repos/simonw/sqlite-utils/issues/289 MDEyOklzc3VlQ29tbWVudDg2NjI0MTgzNg== adamchainz 857609 2021-06-22T18:44:36Z 2021-06-22T18:44:36Z NONE

Great!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mypy fixes for rows_from_file() 925677191  
863230355 https://github.com/simonw/datasette/pull/1378#issuecomment-863230355 https://api.github.com/repos/simonw/datasette/issues/1378 MDEyOklzc3VlQ29tbWVudDg2MzIzMDM1NQ== codecov[bot] 22429695 2021-06-17T13:16:17Z 2021-06-17T13:16:17Z NONE

Codecov Report

Merging #1378 (0c132d1) into main (83e9c8b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1378   +/-   ##
=======================================
  Coverage   91.68%   91.68%           
=======================================
  Files          34       34           
  Lines        4340     4340           
=======================================
  Hits         3979     3979           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 83e9c8b...0c132d1. Read the comment docs.

{
    "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.3,>=2.2.1 to >=2.2.1,<2.4 923910375  
863205049 https://github.com/simonw/sqlite-utils/pull/277#issuecomment-863205049 https://api.github.com/repos/simonw/sqlite-utils/issues/277 MDEyOklzc3VlQ29tbWVudDg2MzIwNTA0OQ== codecov[bot] 22429695 2021-06-17T12:40:49Z 2021-06-17T12:40:49Z NONE

Codecov Report

Merging #277 (abbd324) into main (a19ce1a) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #277   +/-   ##
=======================================
  Coverage   96.06%   96.06%           
=======================================
  Files           4        4           
  Lines        1828     1829    +1     
=======================================
+ Hits         1756     1757    +1     
  Misses         72       72           
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>sqlite_utils/cli.py</td> <td>94.03% <100.00%> (+<0.01%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a19ce1a...abbd324. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
add -h support closes #276 923612361  
862817185 https://github.com/simonw/sqlite-utils/pull/273#issuecomment-862817185 https://api.github.com/repos/simonw/sqlite-utils/issues/273 MDEyOklzc3VlQ29tbWVudDg2MjgxNzE4NQ== codecov[bot] 22429695 2021-06-17T00:15:34Z 2021-06-17T00:15:34Z NONE

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@78aebb6). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #273   +/-   ##
=======================================
  Coverage        ?   96.10%           
=======================================
  Files           ?        4           
  Lines           ?     1873           
  Branches        ?        0           
=======================================
  Hits            ?     1800           
  Misses          ?       73           
  Partials        ?        0           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 78aebb6...df7a37b. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
sqlite-utils memory command for directly querying CSV/JSON data 922099793  
862574390 https://github.com/simonw/sqlite-utils/issues/270#issuecomment-862574390 https://api.github.com/repos/simonw/sqlite-utils/issues/270 MDEyOklzc3VlQ29tbWVudDg2MjU3NDM5MA== frafra 4068 2021-06-16T17:34:49Z 2021-06-16T17:34:49Z NONE

Sorry, I got confused because SQLite has a JSON column type, even if it is treated as TEXT, and I though automatic facets were available for JSON arrays stored as JSON only :)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Cannot set type JSON 919314806  
861944202 https://github.com/simonw/sqlite-utils/issues/272#issuecomment-861944202 https://api.github.com/repos/simonw/sqlite-utils/issues/272 MDEyOklzc3VlQ29tbWVudDg2MTk0NDIwMg== eyeseast 25778 2021-06-16T01:41:03Z 2021-06-16T01:41:03Z NONE

So, I do things like this a lot, too. I like the idea of piping in from stdin. Something like this would be nice to do in a makefile:

cat file.csv | sqlite-utils --csv --table data - 'SELECT * FROM data WHERE col="whatever"' > filtered.csv

If you assumed that you're always piping out the same format you're piping in, the option names don't have to change. Depends how much you want to change formats.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Idea: import CSV to memory, run SQL, export in a single command 921878733  
861087651 https://github.com/dogsheep/github-to-sqlite/issues/64#issuecomment-861087651 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/64 MDEyOklzc3VlQ29tbWVudDg2MTA4NzY1MQ== khimaros 231498 2021-06-15T00:48:37Z 2021-06-15T00:48:37Z NONE

@simonw -- i've created an omega-query that fetched most of what was interesting to me for a single user.

found by poking around in the "Explorer" tab in https://docs.github.com/en/graphql/overview/explorer

note: pagination is still required via first and last but it seems to allow unlimited history.

query MyQuery {
  __typename
  user(login: "<user>") {
    id
    pinnedItems(first: 100) {
      edges {
        node
      }
    }
    pullRequests(first: 100) {
      nodes {
        body
        title
        state
        createdAt
      }
    }
    createdAt
    issues(first: 100) {
      pageInfo {
        endCursor
        startCursor
      }
      nodes {
        title
        url
        createdAt
        body
      }
    }
    issueComments(first: 100) {
      edges {
        node {
          id
          updatedAt
          url
          body
        }
      }
    }
    repositories(first: 100) {
      nodes {
        createdAt
        description
        parent {
          name
        }
        pinnedIssues(first: 100) {
          edges {
            node {
              id
            }
          }
        }
        pinnedDiscussions(first: 100) {
          edges {
            node {
              id
            }
          }
        }
      }
    }
    starredRepositories(first: 100) {
      edges {
        node {
          id
        }
      }
    }
  }
}
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
feature: support "events" 920636216  
861035862 https://github.com/dogsheep/github-to-sqlite/issues/64#issuecomment-861035862 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/64 MDEyOklzc3VlQ29tbWVudDg2MTAzNTg2Mg== khimaros 231498 2021-06-14T22:29:20Z 2021-06-14T22:29:20Z NONE

it looks like the v4 GraphQL API is the only way to get data beyond 90 days from GitHub.

this is significant change, but may be worth considering in the future.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
feature: support "events" 920636216  
860895838 https://github.com/dogsheep/github-to-sqlite/issues/64#issuecomment-860895838 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/64 MDEyOklzc3VlQ29tbWVudDg2MDg5NTgzOA== khimaros 231498 2021-06-14T18:23:21Z 2021-06-14T21:37:35Z NONE

i have a basic working version at https://github.com/khimaros/github-to-sqlite

this can be tested with github-to-sqlite events.db khimaros/events

caveat: the GitHub API doesn't seem to provide a complete history of events.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
feature: support "events" 920636216  
860548546 https://github.com/simonw/datasette/issues/1375#issuecomment-860548546 https://api.github.com/repos/simonw/datasette/issues/1375 MDEyOklzc3VlQ29tbWVudDg2MDU0ODU0Ng== frafra 4068 2021-06-14T09:41:59Z 2021-06-14T09:41:59Z NONE

There is a feature for this at the moment, but it's a little bit hidden: you can use ?_json=col to tell
Datasette that you would like a specific column to be exported as nested JSON: https://docs.datasette.io/en/stable/json_api.html#special-json-arguments

Thanks :)

I considered trying to make this automatic - so it detects columns that appear to contain valid JSON and outputs them as nested objects - but the problem with that is that it can lead to inconsistent results - you might hit the API and find that not every column contains valid JSON (compared to the previous day) resulting in the API retuning string instead of the expected dictionary and breaking your code.

If a developer is not sure if the JSON fields are valid, but then retrieves and parse them, it should handle errors too. Handling inconsistent data is necessary due to the nature of SQLite. A global or dataset option to render the data as they have been defined (JSON, boolean, etc.) when requesting JSON could allow the user to download a regular JSON from the browser without having to rely on APIs. I would guess someone could just make a custom template with an extra JSON-parsed download button otherwise :)

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
JSON export dumps JSON fields as TEXT 919508498  
857684605 https://github.com/simonw/datasette/pull/1373#issuecomment-857684605 https://api.github.com/repos/simonw/datasette/issues/1373 MDEyOklzc3VlQ29tbWVudDg1NzY4NDYwNQ== codecov[bot] 22429695 2021-06-09T13:15:31Z 2021-06-13T15:34:07Z NONE

Codecov Report

Merging #1373 (d117ba7) into main (03418ee) will increase coverage by 7.65%.
The diff coverage is 93.29%.

:exclamation: Current head d117ba7 differs from pull request most recent head 51ff366. Consider uploading reports for the commit 51ff366 to get more accurate results

@@            Coverage Diff             @@
##             main    #1373      +/-   ##
==========================================
+ Coverage   84.02%   91.68%   +7.65%     
==========================================
  Files          28       34       +6     
  Lines        3774     4340     +566     
==========================================
+ Hits         3171     3979     +808     
+ Misses        603      361     -242     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/inspect.py</td> <td>36.11% <ø> (ø)</td> <td></td> </tr> <tr> <td>datasette/plugins.py</td> <td>82.35% <ø> (ø)</td> <td></td> </tr> <tr> <td>datasette/publish/common.py</td> <td>94.73% <ø> (ø)</td> <td></td> </tr> <tr> <td>datasette/cli.py</td> <td>76.33% <70.64%> (+1.19%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/filters.py</td> <td>94.35% <77.77%> (ø)</td> <td></td> </tr> <tr> <td>datasette/database.py</td> <td>92.93% <89.28%> (ø)</td> <td></td> </tr> <tr> <td>datasette/utils/asgi.py</td> <td>90.98% <92.00%> (-0.95%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/publish/heroku.py</td> <td>87.73% <94.44%> (+1.13%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/app.py</td> <td>95.73% <94.52%> (-0.27%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/utils/__init__.py</td> <td>94.36% <94.53%> (+0.55%)</td> <td>:arrow_up:</td> </tr> <tr> <td>... and 29 more</td> <td></td> <td></td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e797565...51ff366. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update trustme requirement from <0.8,>=0.7 to >=0.7,<0.9 916183914  
860063190 https://github.com/dogsheep/twitter-to-sqlite/issues/57#issuecomment-860063190 https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/57 MDEyOklzc3VlQ29tbWVudDg2MDA2MzE5MA== stiles 232237 2021-06-12T14:46:44Z 2021-06-12T14:46:44Z NONE

I'm having the same issue (same versions of python and twitter-to-sqlite). It's the user-timeline command. Other commands are working.

{
    "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 907645813  
860047794 https://github.com/simonw/datasette/issues/1286#issuecomment-860047794 https://api.github.com/repos/simonw/datasette/issues/1286 MDEyOklzc3VlQ29tbWVudDg2MDA0Nzc5NA== frafra 4068 2021-06-12T12:36:15Z 2021-06-12T12:36:15Z NONE

@mroswell That is a very nice solution. I wonder if custom classes, like col-columnName-value could be automatically added to cells when facets on such column are enabled, to allow custom styling without having to modify templates or add custom JavaScript code.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Better default display of arrays of items 849220154  
860031217 https://github.com/simonw/sqlite-utils/issues/269#issuecomment-860031217 https://api.github.com/repos/simonw/sqlite-utils/issues/269 MDEyOklzc3VlQ29tbWVudDg2MDAzMTIxNw== frafra 4068 2021-06-12T10:01:53Z 2021-06-12T10:01:53Z NONE

sqlite-utils transform does not allow setting the column type to boolean:

Error: Invalid value for '--type': 'bool' is not one of 'INTEGER', 'TEXT', 'FLOAT', 'BLOB'.
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bool type not supported 919250621  
860031071 https://github.com/simonw/sqlite-utils/issues/270#issuecomment-860031071 https://api.github.com/repos/simonw/sqlite-utils/issues/270 MDEyOklzc3VlQ29tbWVudDg2MDAzMTA3MQ== frafra 4068 2021-06-12T10:00:24Z 2021-06-12T10:00:24Z NONE

Sure, I am sorry if my message hasn't been clear enough. I am also a new user :)

At the beginning, I just call sqlite-utils insert "$db" "$table" "$jsonfile" to create the database. sqlite-utils convert JSON values into TEXT, when it tries to determine the schema automatically. I then try to transform the table to set JSON as type:

sqlite-utils transform species.sqlite species --type criteria json
Usage: sqlite-utils transform [OPTIONS] PATH TABLE
Try 'sqlite-utils transform --help' for help.

Error: Invalid value for '--type': 'json' is not one of 'INTEGER', 'TEXT', 'FLOAT', 'BLOB'.
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Cannot set type JSON 919314806  
859940977 https://github.com/simonw/sqlite-utils/issues/269#issuecomment-859940977 https://api.github.com/repos/simonw/sqlite-utils/issues/269 MDEyOklzc3VlQ29tbWVudDg1OTk0MDk3Nw== frafra 4068 2021-06-11T22:33:08Z 2021-06-11T22:33:08Z NONE

true and false json values are cast to integer, which is not optimal.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bool type not supported 919250621  
859572791 https://github.com/simonw/datasette/pull/1374#issuecomment-859572791 https://api.github.com/repos/simonw/datasette/issues/1374 MDEyOklzc3VlQ29tbWVudDg1OTU3Mjc5MQ== codecov[bot] 22429695 2021-06-11T13:12:58Z 2021-06-11T13:12:58Z NONE

Codecov Report

Merging #1374 (0ef0dd5) into main (cd7678f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1374   +/-   ##
=======================================
  Coverage   91.68%   91.68%           
=======================================
  Files          34       34           
  Lines        4340     4340           
=======================================
  Hits         3979     3979           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd7678f...0ef0dd5. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 21.5b2 to 21.6b0 918730335  
858831895 https://github.com/simonw/datasette/issues/858#issuecomment-858831895 https://api.github.com/repos/simonw/datasette/issues/858 MDEyOklzc3VlQ29tbWVudDg1ODgzMTg5NQ== rachelll4 56045588 2021-06-10T17:44:09Z 2021-06-10T17:44:09Z NONE

any fixes for that recursive issue with temp file? I get it using both heroku and cloudrun, although it seems to still publish and deploy fine

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
publish heroku does not work on Windows 10 642388564  
858813675 https://github.com/simonw/datasette/issues/858#issuecomment-858813675 https://api.github.com/repos/simonw/datasette/issues/858 MDEyOklzc3VlQ29tbWVudDg1ODgxMzY3NQ== rachelll4 56045588 2021-06-10T17:27:46Z 2021-06-10T17:27:46Z NONE

shell=True is added to line 56 (I guess it used to be 54) of heroku.py as detailed in the original issue. (for posterity)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
publish heroku does not work on Windows 10 642388564  
855428296 https://github.com/simonw/datasette/issues/1362#issuecomment-855428296 https://api.github.com/repos/simonw/datasette/issues/1362 MDEyOklzc3VlQ29tbWVudDg1NTQyODI5Ng== dracos 154364 2021-06-06T16:53:20Z 2021-06-06T16:53:20Z NONE

Presumably this would also require adding Content-Security-Policy to the Vary header though, which will have a nasty effect on Cloudflare and Fastly and such like.

No, because Vary header is about request headers that cause the response to vary, not response headers.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Consider using CSP to protect against future XSS 912864936  
812815358 https://github.com/simonw/datasette/pull/1291#issuecomment-812815358 https://api.github.com/repos/simonw/datasette/issues/1291 MDEyOklzc3VlQ29tbWVudDgxMjgxNTM1OA== codecov[bot] 22429695 2021-04-03T05:32:50Z 2021-06-05T19:48:30Z NONE

Codecov Report

Merging #1291 (8789157) into main (0a7621f) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 8789157 differs from pull request most recent head 9bf089f. Consider uploading reports for the commit 9bf089f to get more accurate results

@@           Coverage Diff           @@
##             main    #1291   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0a7621f...9bf089f. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update docs: explain allow_download setting 849582643  
855281774 https://github.com/simonw/datasette/pull/1357#issuecomment-855281774 https://api.github.com/repos/simonw/datasette/issues/1357 MDEyOklzc3VlQ29tbWVudDg1NTI4MTc3NA== codecov[bot] 22429695 2021-06-05T18:59:07Z 2021-06-05T18:59:07Z NONE

Codecov Report

Merging #1357 (1b27643) into main (6e9b07b) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1357   +/-   ##
=======================================
  Coverage   91.71%   91.72%           
=======================================
  Files          34       34           
  Lines        4333     4336    +3     
=======================================
+ Hits         3974     3977    +3     
  Misses        359      359           
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/testing.py</td> <td>95.38% <ø> (ø)</td> <td></td> </tr> <tr> <td>datasette/app.py</td> <td>95.71% <100.00%> (+0.01%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6e9b07b...1b27643. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Make custom pages compatible with base_url setting 912394511  
852693854 https://github.com/simonw/datasette/pull/1346#issuecomment-852693854 https://api.github.com/repos/simonw/datasette/issues/1346 MDEyOklzc3VlQ29tbWVudDg1MjY5Mzg1NA== codecov[bot] 22429695 2021-06-02T03:44:35Z 2021-06-02T03:44:35Z NONE

Codecov Report

Merging #1346 (3bffc35) into main (7b106e1) will increase coverage by 0.14%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1346      +/-   ##
==========================================
+ Coverage   91.56%   91.71%   +0.14%     
==========================================
  Files          34       34              
  Lines        4282     4332      +50     
==========================================
+ Hits         3921     3973      +52     
+ Misses        361      359       -2     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/app.py</td> <td>95.69% <ø> (-0.15%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/renderer.py</td> <td>94.20% <100.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/utils/__init__.py</td> <td>94.36% <100.00%> (+0.05%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/views/base.py</td> <td>95.41% <100.00%> (+0.39%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/views/database.py</td> <td>97.28% <100.00%> (+0.09%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/views/table.py</td> <td>95.90% <100.00%> (+0.07%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/tracer.py</td> <td>85.05% <0.00%> (+3.44%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7b106e1...3bffc35. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Re-display user's query with an error message if an error occurs 904537568  
850077484 https://github.com/simonw/datasette/pull/1348#issuecomment-850077484 https://api.github.com/repos/simonw/datasette/issues/1348 MDEyOklzc3VlQ29tbWVudDg1MDA3NzQ4NA== codecov[bot] 22429695 2021-05-28T03:06:16Z 2021-05-28T03:06:16Z NONE

Codecov Report

Merging #1348 (56cba8f) into main (7b106e1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1348   +/-   ##
=======================================
  Coverage   91.56%   91.56%           
=======================================
  Files          34       34           
  Lines        4282     4282           
=======================================
  Hits         3921     3921           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7b106e1...56cba8f. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
DRAFT: add test and scan for docker images 904598267  
849708617 https://github.com/dogsheep/google-takeout-to-sqlite/pull/5#issuecomment-849708617 https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/5 MDEyOklzc3VlQ29tbWVudDg0OTcwODYxNw== maxhawkins 28565 2021-05-27T15:01:42Z 2021-05-27T15:01:42Z NONE

Any updates?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
WIP: Add Gmail takeout mbox import 813880401  
849313380 https://github.com/simonw/datasette/pull/1319#issuecomment-849313380 https://api.github.com/repos/simonw/datasette/issues/1319 MDEyOklzc3VlQ29tbWVudDg0OTMxMzM4MA== codecov[bot] 22429695 2021-05-27T04:38:44Z 2021-05-27T04:38:44Z NONE

Codecov Report

Merging #1319 (cfca570) into main (1b69753) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1319      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b69753...cfca570. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Add Docker multi-arch support with Buildx 881219362  
847207804 https://github.com/simonw/datasette/pull/1339#issuecomment-847207804 https://api.github.com/repos/simonw/datasette/issues/1339 MDEyOklzc3VlQ29tbWVudDg0NzIwNzgwNA== codecov[bot] 22429695 2021-05-24T17:22:13Z 2021-05-27T04:14:21Z NONE

Codecov Report

Merging #1339 (3d8598b) into main (a443dba) will increase coverage by 0.01%.
The diff coverage is 91.66%.

:exclamation: Current head 3d8598b differs from pull request most recent head 387c837. Consider uploading reports for the commit 387c837 to get more accurate results

@@            Coverage Diff             @@
##             main    #1339      +/-   ##
==========================================
+ Coverage   91.55%   91.56%   +0.01%     
==========================================
  Files          34       34              
  Lines        4262     4280      +18     
==========================================
+ Hits         3902     3919      +17     
- Misses        360      361       +1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/views/table.py</td> <td>95.83% <90.00%> (-0.05%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/app.py</td> <td>95.84% <100.00%> (-0.01%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/views/database.py</td> <td>97.19% <100.00%> (ø)</td> <td></td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a443dba...387c837. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
?_col=/?_nocol= to show/hide columns on the table page 899851083  
848425056 https://github.com/simonw/datasette/issues/670#issuecomment-848425056 https://api.github.com/repos/simonw/datasette/issues/670 MDEyOklzc3VlQ29tbWVudDg0ODQyNTA1Ng== river-matt 52261150 2021-05-26T03:22:32Z 2021-05-26T03:22:32Z NONE

I've also been investigating serving postgresql databases over postgrest. I like the idea of hosting some static html + js on github, but having it backed by datasets I can update and control on the database server. I started from SQLite + datasette but would like to host larger datasets (with smaller materialized views exposed publicly). I think the postgrest model where all the authorization and ownership is defined in database role grants is really powerful. But I really miss being able to define an ad-hoc query in sql, then instantly link to a json representation of it like datasette does.

P.S.: I've been sort of following along as you pop up in hacker news here and there. It's been great! Thanks for doing this all out in the open!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Prototoype for Datasette on PostgreSQL 564833696  
847271122 https://github.com/simonw/datasette/issues/1327#issuecomment-847271122 https://api.github.com/repos/simonw/datasette/issues/1327 MDEyOklzc3VlQ29tbWVudDg0NzI3MTEyMg== GmGniap 20846286 2021-05-24T19:10:21Z 2021-05-24T19:10:21Z NONE

wow, thanks a lot @simonw , problem is solved. I converted my current json file into utf-8 format with Python script. It's working now. I'm using with Window 10.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support Unicode characters in metadata.json 892457208  
846138580 https://github.com/simonw/datasette/pull/1325#issuecomment-846138580 https://api.github.com/repos/simonw/datasette/issues/1325 MDEyOklzc3VlQ29tbWVudDg0NjEzODU4MA== stonebig 4312421 2021-05-21T18:00:10Z 2021-05-21T18:00:10Z NONE

would be nice to have

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0 890073989  
846137332 https://github.com/simonw/datasette/issues/1331#issuecomment-846137332 https://api.github.com/repos/simonw/datasette/issues/1331 MDEyOklzc3VlQ29tbWVudDg0NjEzNzMzMg== stonebig 4312421 2021-05-21T17:57:53Z 2021-05-21T17:57:53Z NONE

I'm stuck also because datasette wants itsdangerous~=1.1 instead of allowing itsdangerous-2.0.0

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Add support for Jinja2 version 3.0 893537744  
845985439 https://github.com/simonw/datasette/issues/856#issuecomment-845985439 https://api.github.com/repos/simonw/datasette/issues/856 MDEyOklzc3VlQ29tbWVudDg0NTk4NTQzOQ== bram2000 5268174 2021-05-21T14:22:41Z 2021-05-21T14:22:41Z NONE

Thanks Simon this is working very well.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Consider pagination of canned queries 642296989  
844970776 https://github.com/simonw/datasette/issues/1331#issuecomment-844970776 https://api.github.com/repos/simonw/datasette/issues/1331 MDEyOklzc3VlQ29tbWVudDg0NDk3MDc3Ng== MarkusH 475613 2021-05-20T10:40:25Z 2021-05-20T10:40:25Z NONE

Any chance you could push a new datasette release with the updated dependencies in the setup.py, @simonw?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Add support for Jinja2 version 3.0 893537744  
844007155 https://github.com/simonw/datasette/pull/1335#issuecomment-844007155 https://api.github.com/repos/simonw/datasette/issues/1335 MDEyOklzc3VlQ29tbWVudDg0NDAwNzE1NQ== codecov[bot] 22429695 2021-05-19T11:21:45Z 2021-05-19T11:21:45Z NONE

Codecov Report

Merging #1335 (d91c18d) into main (9b3b7e2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1335   +/-   ##
=======================================
  Coverage   91.53%   91.53%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3895     3895           
  Misses        360      360           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9b3b7e2...d91c18d. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Fix small typo 895315478  
843065142 https://github.com/simonw/datasette/issues/856#issuecomment-843065142 https://api.github.com/repos/simonw/datasette/issues/856 MDEyOklzc3VlQ29tbWVudDg0MzA2NTE0Mg== bram2000 5268174 2021-05-18T10:49:11Z 2021-05-18T10:49:29Z NONE

Hi Simon, I'm using a canned query to do some geospatial stuff, but it maxes out at 1000 rows returned. I can't see any Link headers to follow to get the next page of data. Is there any way currently to work around this 1000 row limit for canned queries?

Thanks,
Jon

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Consider pagination of canned queries 642296989  
839763331 https://github.com/simonw/datasette/pull/1323#issuecomment-839763331 https://api.github.com/repos/simonw/datasette/issues/1323 MDEyOklzc3VlQ29tbWVudDgzOTc2MzMzMQ== codecov[bot] 22429695 2021-05-12T13:14:50Z 2021-05-17T17:25:17Z NONE

Codecov Report

Merging #1323 (cd69502) into main (5e60bad) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1323      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9b3b7e2...cd69502. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update click requirement from ~=7.1.1 to >=7.1.1,<8.1.0 890073888  
842499728 https://github.com/simonw/datasette/issues/1331#issuecomment-842499728 https://api.github.com/repos/simonw/datasette/issues/1331 MDEyOklzc3VlQ29tbWVudDg0MjQ5OTcyOA== MarkusH 475613 2021-05-17T17:24:30Z 2021-05-17T17:24:30Z NONE

I wonder if there are any new 3.0 features we should be taking advantage of here that would justify pinning to 3.0 minimum?

The changelog reads like bug fixes and removal of deprecated parts to me

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Add support for Jinja2 version 3.0 893537744  
842495820 https://github.com/simonw/datasette/issues/1331#issuecomment-842495820 https://api.github.com/repos/simonw/datasette/issues/1331 MDEyOklzc3VlQ29tbWVudDg0MjQ5NTgyMA== MarkusH 475613 2021-05-17T17:18:05Z 2021-05-17T17:18:05Z NONE

Wow, you are fast!

I didn't notice dependabot had opened a PR already. I was about to.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Add support for Jinja2 version 3.0 893537744  
842312696 https://github.com/simonw/datasette/pull/1330#issuecomment-842312696 https://api.github.com/repos/simonw/datasette/issues/1330 MDEyOklzc3VlQ29tbWVudDg0MjMxMjY5Ng== codecov[bot] 22429695 2021-05-17T13:11:54Z 2021-05-17T13:11:54Z NONE

Codecov Report

Merging #1330 (cc1b504) into main (1b69753) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1330      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b69753...cc1b504. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update aiofiles requirement from <0.7,>=0.4 to >=0.4,<0.8 893314402  
839763280 https://github.com/simonw/datasette/pull/1324#issuecomment-839763280 https://api.github.com/repos/simonw/datasette/issues/1324 MDEyOklzc3VlQ29tbWVudDgzOTc2MzI4MA== codecov[bot] 22429695 2021-05-12T13:14:44Z 2021-05-12T13:14:44Z NONE

Codecov Report

Merging #1324 (177456e) into main (1b69753) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1324      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b69753...177456e. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update jinja2 requirement from <2.12.0,>=2.10.3 to >=2.10.3,<3.1.0 890073940  
839763094 https://github.com/simonw/datasette/pull/1325#issuecomment-839763094 https://api.github.com/repos/simonw/datasette/issues/1325 MDEyOklzc3VlQ29tbWVudDgzOTc2MzA5NA== codecov[bot] 22429695 2021-05-12T13:14:29Z 2021-05-12T13:14:29Z NONE

Codecov Report

Merging #1325 (4dea180) into main (1b69753) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1325      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b69753...4dea180. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0 890073989  
838458014 https://github.com/simonw/datasette/pull/1321#issuecomment-838458014 https://api.github.com/repos/simonw/datasette/issues/1321 MDEyOklzc3VlQ29tbWVudDgzODQ1ODAxNA== codecov[bot] 22429695 2021-05-11T13:18:12Z 2021-05-11T13:18:12Z NONE

Codecov Report

Merging #1321 (966ced8) into main (1b69753) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1321      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b69753...966ced8. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 21.4b2 to 21.5b1 887241681  
832676649 https://github.com/simonw/datasette/pull/1318#issuecomment-832676649 https://api.github.com/repos/simonw/datasette/issues/1318 MDEyOklzc3VlQ29tbWVudDgzMjY3NjY0OQ== codecov[bot] 22429695 2021-05-05T13:13:45Z 2021-05-05T13:13:45Z NONE

Codecov Report

Merging #1318 (e06c099) into main (1b69753) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1318      +/-   ##
==========================================
+ Coverage   91.51%   91.53%   +0.02%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3895       +1     
+ Misses        361      360       -1     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/utils/__init__.py</td> <td>94.31% <0.00%> (+0.17%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b69753...e06c099. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 21.4b2 to 21.5b0 876431852  
831004775 https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-831004775 https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 MDEyOklzc3VlQ29tbWVudDgzMTAwNDc3NQ== cobiadigital 25372415 2021-05-03T03:46:23Z 2021-05-03T03:46:23Z NONE

RS1800955 is related to novelty seeking and ADHD
https://www.snpedia.com/index.php/Rs1800955

select rsid, genotype, case genotype when 'CC' then 'increased susceptibility to novelty seeking' when 'CT' then 'increased susceptibility to novelty seeking' when 'TT' then 'normal' end as interpretation from genome where rsid = 'rs1800955'

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Figure out some interesting example SQL queries 496415321  
829885904 https://github.com/simonw/datasette/issues/1310#issuecomment-829885904 https://api.github.com/repos/simonw/datasette/issues/1310 MDEyOklzc3VlQ29tbWVudDgyOTg4NTkwNA== ColinMaudry 3747136 2021-04-30T06:58:46Z 2021-04-30T07:26:11Z NONE

I made it work with openpyxl. I'm not sure all the code under @hookimpl is necessary... but it works :)

from datasette import hookimpl
from datasette.utils.asgi import Response
from openpyxl import Workbook
from openpyxl.writer.excel import save_virtual_workbook
from openpyxl.cell import WriteOnlyCell
from openpyxl.styles import Alignment, Font, PatternFill
from tempfile import NamedTemporaryFile

def render_spreadsheet(rows):
    wb = Workbook(write_only=True)
    ws = wb.create_sheet()
    ws = wb.active
    ws.title = "decp"

    columns = rows[0].keys()
    headers = []
    for col in columns :
        c = WriteOnlyCell(ws, col)
        c.fill = PatternFill("solid", fgColor="DDEFFF")
        headers.append(c)
    ws.append(headers)

    for row in rows:
        wsRow = []
        for col in columns:
            c = WriteOnlyCell(ws, row[col])
            if col == "objet" :
                c.alignment = Alignment(wrapText = True)
            wsRow.append(c)
        ws.append(wsRow)

    with NamedTemporaryFile() as tmp:
        wb.save(tmp.name)
        tmp.seek(0)
        return Response(
            tmp.read(),
            headers={
                'Content-Disposition': 'attachment; filename=decp.xlsx',
                'Content-type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
            }
        )

@hookimpl
def register_output_renderer():
    return {"extension": "xlsx",
    "render": render_spreadsheet,
    "can_render": lambda: False}

The key part was to find the right function to wrap the spreadsheet object wb. NamedTemporaryFile() did it!

I'll update this issue when the plugin is packaged and ready for broader use.

{
    "total_count": 1,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 1,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
I'm creating a plugin to export a spreadsheet file (.ods or .xlsx) 870125126  
829349118 https://github.com/simonw/datasette/pull/1314#issuecomment-829349118 https://api.github.com/repos/simonw/datasette/issues/1314 MDEyOklzc3VlQ29tbWVudDgyOTM0OTExOA== codecov[bot] 22429695 2021-04-29T15:43:32Z 2021-04-29T15:43:32Z NONE

Codecov Report

Merging #1314 (98eea0b) into main (a4bb2ab) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1314   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a4bb2ab...98eea0b. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Upgrade to GitHub-native Dependabot 871157602  
829265979 https://github.com/simonw/datasette/pull/1313#issuecomment-829265979 https://api.github.com/repos/simonw/datasette/issues/1313 MDEyOklzc3VlQ29tbWVudDgyOTI2NTk3OQ== codecov[bot] 22429695 2021-04-29T14:04:13Z 2021-04-29T14:04:13Z NONE

Codecov Report

Merging #1313 (3cd7ad4) into main (a4bb2ab) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1313   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a4bb2ab...3cd7ad4. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 20.8b1 to 21.4b2 871046111  
828683322 https://github.com/simonw/datasette/pull/1311#issuecomment-828683322 https://api.github.com/repos/simonw/datasette/issues/1311 MDEyOklzc3VlQ29tbWVudDgyODY4MzMyMg== codecov[bot] 22429695 2021-04-28T18:30:49Z 2021-04-28T18:30:49Z NONE

Codecov Report

Merging #1311 (baf3030) into main (a4bb2ab) will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1311      +/-   ##
==========================================
+ Coverage   91.51%   91.58%   +0.07%     
==========================================
  Files          34       34              
  Lines        4255     4255              
==========================================
+ Hits         3894     3897       +3     
+ Misses        361      358       -3     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/database.py</td> <td>93.68% <0.00%> (+0.74%)</td> <td>:arrow_up:</td> </tr> <tr> <td>datasette/views/index.py</td> <td>98.18% <0.00%> (+1.81%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a4bb2ab...baf3030. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 20.8b1 to 21.4b1 870227815  
828670621 https://github.com/simonw/datasette/issues/1310#issuecomment-828670621 https://api.github.com/repos/simonw/datasette/issues/1310 MDEyOklzc3VlQ29tbWVudDgyODY3MDYyMQ== ColinMaudry 3747136 2021-04-28T18:12:08Z 2021-04-28T18:12:08Z NONE

Apparently, beside a string, Reponse could also work with bytes.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
I'm creating a plugin to export a spreadsheet file (.ods or .xlsx) 870125126  
827911909 https://github.com/simonw/datasette/pull/1309#issuecomment-827911909 https://api.github.com/repos/simonw/datasette/issues/1309 MDEyOklzc3VlQ29tbWVudDgyNzkxMTkwOQ== codecov[bot] 22429695 2021-04-27T20:35:15Z 2021-04-27T20:35:15Z NONE

Codecov Report

Merging #1309 (20fc3fe) into main (a4bb2ab) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1309   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a4bb2ab...20fc3fe. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Bump black from 20.8b1 to 21.4b0 869237023  
826784306 https://github.com/simonw/datasette/issues/173#issuecomment-826784306 https://api.github.com/repos/simonw/datasette/issues/173 MDEyOklzc3VlQ29tbWVudDgyNjc4NDMwNg== ColinMaudry 3747136 2021-04-26T12:10:01Z 2021-04-26T12:10:01Z NONE

I found a neat tutorial to set up gettext with jinja2: http://siongui.github.io/2016/01/17/i18n-python-web-application-by-gettext-jinja2/

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
I18n and L10n support 281110295  
824866566 https://github.com/simonw/datasette/pull/1306#issuecomment-824866566 https://api.github.com/repos/simonw/datasette/issues/1306 MDEyOklzc3VlQ29tbWVudDgyNDg2NjU2Ng== codecov[bot] 22429695 2021-04-22T13:59:04Z 2021-04-22T13:59:04Z NONE

Codecov Report

Merging #1306 (115332c) into main (6ed9238) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1306   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4256    +1     
=======================================
+ Hits         3894     3895    +1     
  Misses        361      361           
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/views/index.py</td> <td>96.42% <100.00%> (+0.06%)</td> <td>:arrow_up:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6ed9238...115332c. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Avoid error sorting by relationships if related tables are not allowed 864979486  
823961091 https://github.com/simonw/datasette/issues/173#issuecomment-823961091 https://api.github.com/repos/simonw/datasette/issues/173 MDEyOklzc3VlQ29tbWVudDgyMzk2MTA5MQ== ColinMaudry 3747136 2021-04-21T10:37:05Z 2021-04-21T10:37:36Z NONE

I have the feeling that the text visible to users is 95% present in template files (datasette/templates). The python code mainly contains error messages.

In the current situation, the best way to provide a localized frontend is to translate the templates and configure datasette to use them. I think I'm going to do it for French.

If we want localization to be better integrated, for the python code, I think gettext is the way to go. The .po can be translated in user-friendly tools such as Transifex and Crowdin.

For the templates, I'm not sure how we could do it cleanly and easy to maintain. Maybe the tools above could parse HTML and detect the strings to be translated.

In any case, localization implementing l10n is just the first step: a continuous process must be setup to maintain the translations and produce new ones while datasette keeps getting new features.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
I18n and L10n support 281110295  
823102978 https://github.com/simonw/datasette/issues/1298#issuecomment-823102978 https://api.github.com/repos/simonw/datasette/issues/1298 MDEyOklzc3VlQ29tbWVudDgyMzEwMjk3OA== dracos 154364 2021-04-20T08:51:23Z 2021-04-20T08:51:23Z NONE
  1. Max height would still let you scroll the page to underneath the facets to the table, but would mean the table would never take up more than your window size, so the horizontal scrollbar would be visible as soon as the table took up the size of the window.
  2. Yes, this wouldn't be for mobile :) It'd be desktop-only styling. On mobile you can scroll much more easily with touch, anyway. In your case, perhaps better would be the whole top half would be facets, bottom left quadrant chart, bottom right table. Depends upon the particular use case, as you say.
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
improve table horizontal scroll experience 855476501  
823064725 https://github.com/simonw/datasette/issues/1298#issuecomment-823064725 https://api.github.com/repos/simonw/datasette/issues/1298 MDEyOklzc3VlQ29tbWVudDgyMzA2NDcyNQ== dracos 154364 2021-04-20T07:57:14Z 2021-04-20T07:57:14Z NONE

My suggestions, originally made on twitter, but might be better here now:

  1. Could have a CSS shadow (one of the comments on https://stackoverflow.com/questions/44793453/how-do-i-add-a-top-and-bottom-shadow-while-scrolling-but-only-when-needed is a codepen for horizontal instead of vertical);

  2. Could give the table a max-height (either the window or work out the available space) so that it is both vertically/horizontally scrollable and you don't have to scroll to the bottom in order to see this;

  3. On a desktop browser, what I think I'd want is an absolute grid to work with - left query/filters, TR chart (or map), BR table. No problem with scrolling then. Here is a mockup I made when this was about the map plugin:

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
improve table horizontal scroll experience 855476501  
822486113 https://github.com/simonw/datasette/pull/1303#issuecomment-822486113 https://api.github.com/repos/simonw/datasette/issues/1303 MDEyOklzc3VlQ29tbWVudDgyMjQ4NjExMw== codecov[bot] 22429695 2021-04-19T13:55:24Z 2021-04-19T13:55:24Z NONE

Codecov Report

Merging #1303 (c348ff1) into main (0a7621f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1303   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0a7621f...c348ff1. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update pytest-asyncio requirement from <0.15,>=0.10 to >=0.10,<0.16 861331159  
819775388 https://github.com/simonw/datasette/issues/1196#issuecomment-819775388 https://api.github.com/repos/simonw/datasette/issues/1196 MDEyOklzc3VlQ29tbWVudDgxOTc3NTM4OA== robroc 1219001 2021-04-14T19:28:38Z 2021-04-14T19:28:38Z NONE

@QAInsights I'm having a similar problem when publishing to Cloud Run on Windows. It's not able to access certain packages in my conda environment where Datasette is installed. Can you explain how you got it to work in WSL? Were you able to access the .db file in the Windows file system? Thank you.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Access Denied Error in Windows 791237799  
813249000 https://github.com/dogsheep/dogsheep-photos/issues/35#issuecomment-813249000 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/35 MDEyOklzc3VlQ29tbWVudDgxMzI0OTAwMA== ligurio 1151557 2021-04-05T07:37:57Z 2021-04-05T07:37:57Z NONE
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support to annotate photos on other than macOS OSes 842695374  
812804178 https://github.com/simonw/datasette/pull/1290#issuecomment-812804178 https://api.github.com/repos/simonw/datasette/issues/1290 MDEyOklzc3VlQ29tbWVudDgxMjgwNDE3OA== codecov[bot] 22429695 2021-04-03T03:39:16Z 2021-04-03T03:41:29Z NONE

Codecov Report

Merging #1290 (2fb1e42) into main (87b583a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1290   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 87b583a...2fb1e42. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Use pytest-xdist to speed up tests 849568079  
812742462 https://github.com/simonw/datasette/issues/916#issuecomment-812742462 https://api.github.com/repos/simonw/datasette/issues/916 MDEyOklzc3VlQ29tbWVudDgxMjc0MjQ2Mg== jungle-boogie 1111743 2021-04-02T22:37:27Z 2021-04-02T22:37:27Z NONE

Yes, this would be nice!

I using Datasette v0.56 and don't see a previous page button.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support reverse pagination (previous page, has-previous-items) 672421411  
812711365 https://github.com/simonw/datasette/issues/1245#issuecomment-812711365 https://api.github.com/repos/simonw/datasette/issues/1245 MDEyOklzc3VlQ29tbWVudDgxMjcxMTM2NQ== jungle-boogie 1111743 2021-04-02T20:53:35Z 2021-04-02T20:53:35Z NONE

Yes, I agree.

Alternatively, maybe the header could be at the top and bottom, above the next page button.

Maybe even have the header 50 records down?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Sticky table column headers would be useful, especially on the query page 817544251  
812710120 https://github.com/simonw/datasette/issues/1255#issuecomment-812710120 https://api.github.com/repos/simonw/datasette/issues/1255 MDEyOklzc3VlQ29tbWVudDgxMjcxMDEyMA== jungle-boogie 1111743 2021-04-02T20:50:08Z 2021-04-02T20:50:08Z NONE

Hello again,

I was able to get my facets running with this settings.json, which was lifted from one of Simon's datasette's and slightly modified.

{
    "default_page_size": 100,
    "max_returned_rows": 1000,
    "num_sql_threads": 3,
    "sql_time_limit_ms": 9000,
    "default_facet_size": 10,
    "facet_time_limit_ms": 9000,
    "facet_suggest_time_limit_ms": 500,
    "hash_urls": false,
    "allow_facet": true,
    "suggest_facets": false,
    "default_cache_ttl": 5,
    "default_cache_ttl_hashed": 31536000,
    "cache_size_kb": 0,
    "allow_csv_stream": true,
    "max_csv_mb": 100,
    "truncate_cells_html": 2048,
    "template_debug": false,
    "base_url": "/"
}
{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Facets timing out but work when filtering 826700095  
812680519 https://github.com/simonw/datasette/issues/1255#issuecomment-812680519 https://api.github.com/repos/simonw/datasette/issues/1255 MDEyOklzc3VlQ29tbWVudDgxMjY4MDUxOQ== jungle-boogie 1111743 2021-04-02T19:37:57Z 2021-04-02T19:37:57Z NONE

Hello,

I'm also experiencing a timeout in my environment. I don't know if it's because I need more indexes or a more powerful system.

My data has 1,271,111 and when I try to create a facet, there's a time out. I've tried this on two different rows that should significantly filter down data: CITY and PARTY_REG.

Simon's johns_hopkins_csse_daily_reports has more rows and it setup with two facets on load. He does have four indexes created, though. Do I need more indexes?

I have one simple one so far:

CREATE INDEX [idx_party_reg]
    ON [county_active] ([PARTY_REG]);

I'm running Datasette 0.56 installed via pip with Python 3.7.3.

4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Facets timing out but work when filtering 826700095  
811362316 https://github.com/dogsheep/dogsheep-photos/pull/31#issuecomment-811362316 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/31 MDEyOklzc3VlQ29tbWVudDgxMTM2MjMxNg== PabloLerma 871250 2021-03-31T19:14:39Z 2021-03-31T19:14:39Z NONE

👋 could I help somehow for this to be merged? As Big Sur is going to be more used as the time goes I think it would be nice to merge and publish a new version. Nice work!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Update for Big Sur 771511344  
811209922 https://github.com/simonw/datasette/issues/1276#issuecomment-811209922 https://api.github.com/repos/simonw/datasette/issues/1276 MDEyOklzc3VlQ29tbWVudDgxMTIwOTkyMg== justinallen 1314318 2021-03-31T16:27:26Z 2021-03-31T16:27:26Z NONE

Fantastic. Thank you!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Invalid SQL: "no such table: pragma_database_list" on database page 841456306  
810943882 https://github.com/simonw/datasette/issues/526#issuecomment-810943882 https://api.github.com/repos/simonw/datasette/issues/526 MDEyOklzc3VlQ29tbWVudDgxMDk0Mzg4Mg== jokull 701 2021-03-31T10:03:55Z 2021-03-31T10:03:55Z NONE

+1 on using nested queries to achieve this! Would be great as streaming CSV is an amazing feature.

Some UX/DX details:

I was expecting it to work to simply add &_stream=on to custom SQL queries because the docs say

Any Datasette table, view or custom SQL query can be exported as CSV.

After a bit of testing back and forth I realized streaming only works for full tables.

Would love this feature because I'm using pandas.read_csv to paint graphs from custom queries and the graphs are cut off because of the 1000 row limit.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Stream all results for arbitrary SQL and canned queries 459882902  
809667320 https://github.com/simonw/datasette/pull/1282#issuecomment-809667320 https://api.github.com/repos/simonw/datasette/issues/1282 MDEyOklzc3VlQ29tbWVudDgwOTY2NzMyMA== codecov[bot] 22429695 2021-03-29T19:52:35Z 2021-03-29T19:52:35Z NONE

Codecov Report

Merging #1282 (08f7427) into main (0486303) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1282   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0486303...08f7427. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Fix little typo 843739658  
780830464 https://github.com/simonw/datasette/pull/1229#issuecomment-780830464 https://api.github.com/repos/simonw/datasette/issues/1229 MDEyOklzc3VlQ29tbWVudDc4MDgzMDQ2NA== codecov[bot] 22429695 2021-02-17T20:24:30Z 2021-03-29T00:17:21Z NONE

Codecov Report

Merging #1229 (a095248) into main (8e18c79) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1229   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/app.py</td> <td>95.85% <100.00%> (ø)</td> <td></td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8e18c79...a095248. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
ensure immutable databses when starting in configuration directory mode with 810507413  
808762613 https://github.com/simonw/datasette/pull/1279#issuecomment-808762613 https://api.github.com/repos/simonw/datasette/issues/1279 MDEyOklzc3VlQ29tbWVudDgwODc2MjYxMw== codecov[bot] 22429695 2021-03-27T17:03:37Z 2021-03-27T17:03:37Z NONE

Codecov Report

Merging #1279 (14d8977) into main (3fcfc85) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1279   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3fcfc85...14d8977. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Minor Docs Update. Added `--app` to fly install command. 842556944  
807459633 https://github.com/simonw/datasette/issues/1258#issuecomment-807459633 https://api.github.com/repos/simonw/datasette/issues/1258 MDEyOklzc3VlQ29tbWVudDgwNzQ1OTYzMw== wdccdw 1385831 2021-03-25T20:48:33Z 2021-03-25T20:49:34Z NONE

What about allowing default parameters when defining the query in metadata.yml? Something like:

databases:
  fec:
    queries:
      search_by_name:
        params:
            - q
        default-param-values:
             q: "text to search"
        sql: |-
          SELECT...

For now, I'm using a custom database-<file>.html file that hardcodes a default param in the link, but I'd rather not customize the template just for that.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Allow canned query params to specify default values 828858421  
806010960 https://github.com/simonw/datasette/issues/741#issuecomment-806010960 https://api.github.com/repos/simonw/datasette/issues/741 MDEyOklzc3VlQ29tbWVudDgwNjAxMDk2MA== zaneselvans 596279 2021-03-24T17:19:42Z 2021-03-24T17:19:42Z NONE

Ah, okay so --extra-options applies to both datasette publish and datasette package? There wren't any examples of it being used with publish in the docs, so this tripped me up for a bit.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Replace "datasette publish --extra-options" with "--setting" 607223136  
804698315 https://github.com/simonw/datasette/pull/1159#issuecomment-804698315 https://api.github.com/repos/simonw/datasette/issues/1159 MDEyOklzc3VlQ29tbWVudDgwNDY5ODMxNQ== lovasoa 552629 2021-03-23T07:58:28Z 2021-03-23T07:58:38Z NONE

@mroswell Did you try it with more columns ? The display is flexible and columns get closer as new ones are added.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Improve the display of facets information 774332247  
804261103 https://github.com/simonw/datasette/pull/1271#issuecomment-804261103 https://api.github.com/repos/simonw/datasette/issues/1271 MDEyOklzc3VlQ29tbWVudDgwNDI2MTEwMw== codecov[bot] 22429695 2021-03-22T17:39:57Z 2021-03-22T17:39:57Z NONE

Codecov Report

Merging #1271 (fb2ad7a) into main (c4f1ec7) will decrease coverage by 0.28%.
The diff coverage is 94.28%.

@@            Coverage Diff             @@
##             main    #1271      +/-   ##
==========================================
- Coverage   91.51%   91.22%   -0.29%     
==========================================
  Files          34       34              
  Lines        4255     4263       +8     
==========================================
- Hits         3894     3889       -5     
- Misses        361      374      +13     
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/database.py</td> <td>92.41% <94.28%> (-0.52%)</td> <td>:arrow_down:</td> </tr> <tr> <td>datasette/utils/__init__.py</td> <td>92.24% <0.00%> (-1.90%)</td> <td>:arrow_down:</td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c4f1ec7...fb2ad7a. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Use SQLite conn.interrupt() instead of sqlite_timelimit() 837956424  
803502424 https://github.com/simonw/sqlite-utils/issues/249#issuecomment-803502424 https://api.github.com/repos/simonw/sqlite-utils/issues/249 MDEyOklzc3VlQ29tbWVudDgwMzUwMjQyNA== prabhur 36287 2021-03-21T02:43:32Z 2021-03-21T02:43:32Z NONE

Did you run enable-fts before you inserted the data?

If so you'll need to run populate-fts after the insert to populate the FTS index.

A better solution may be to add --create-triggers to the enable-fts command to add triggers that will automatically keep the index updated as you insert new records.

Wow. Wasn't expecting a response this quick, especially during a weekend. :-) Sincerely appreciate it.
I tried the populate-fts and that did the trick. My bad for not consulting the docs again. I think I forgot to add that step when I automated the workflow.
Thanks for the suggestion. I'll close this issue. Have a great weekend and many many thanks for creating these suite of tools around sqlite.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Full text search possibly broken? 836963850  
803499509 https://github.com/simonw/datasette/issues/1261#issuecomment-803499509 https://api.github.com/repos/simonw/datasette/issues/1261 MDEyOklzc3VlQ29tbWVudDgwMzQ5OTUwOQ== brimstone 812795 2021-03-21T02:06:43Z 2021-03-21T02:06:43Z NONE

I can confirm 0.9.2 fixes the problem. Thanks for the fast response!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Some links aren't properly URL encoded. 832092321  
803160804 https://github.com/simonw/datasette/issues/1265#issuecomment-803160804 https://api.github.com/repos/simonw/datasette/issues/1265 MDEyOklzc3VlQ29tbWVudDgwMzE2MDgwNA== yunzheng 468612 2021-03-19T22:05:12Z 2021-03-19T22:05:12Z NONE

Wow that was fast! Thanks for this very cool project and quick update! 👍

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support for HTTP Basic Authentication 836123030  
802164134 https://github.com/simonw/datasette/issues/1262#issuecomment-802164134 https://api.github.com/repos/simonw/datasette/issues/1262 MDEyOklzc3VlQ29tbWVudDgwMjE2NDEzNA== henry501 19328961 2021-03-18T17:55:00Z 2021-03-18T17:55:00Z NONE

Thanks for the comments. I'll take a look at the documentation to familiarize myself, as I haven't tried to write any plugins yet. With some luck I might be ready to write it when the hook is implemented.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Plugin hook that could support 'order by random()' for table view 834602299  
802032152 https://github.com/simonw/sqlite-utils/issues/159#issuecomment-802032152 https://api.github.com/repos/simonw/sqlite-utils/issues/159 MDEyOklzc3VlQ29tbWVudDgwMjAzMjE1Mg== limar 1025224 2021-03-18T15:42:52Z 2021-03-18T15:42:52Z NONE

I confirm the bug. Happens for me in version 3.6. I use the call to delete all the records:
table.delete_where()
This does not delete anything.

I see that delete() method DOES use context manager with self.db.conn: which should help. You may want to align the code of both methods.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
.delete_where() does not auto-commit (unlike .insert() or .upsert()) 702386948  
801816980 https://github.com/simonw/sqlite-utils/issues/246#issuecomment-801816980 https://api.github.com/repos/simonw/sqlite-utils/issues/246 MDEyOklzc3VlQ29tbWVudDgwMTgxNjk4MA== polyrand 37962604 2021-03-18T10:40:32Z 2021-03-18T10:43:04Z NONE

I have found a similar problem, but I only when using that type of query (with * for doing a prefix search). I'm also building something on top of FTS5/sqlite-utils, and the way I decided to handle it was creating a specific function for prefixes. According to the docs, the query can be done in this 2 ways:

... MATCH '"one two thr" * '
... MATCH 'one + two + thr*'

I thought I could build a query like the first one using this function:

def prefix(query: str):
    return f'"{query}" *'

And then I use the output of that function as the query parameter for the standard .search() method in sqlite-utils.

However, my use case is different because I'm the one "deciding" when to use a prefix search, not the end user. I also haven't done many tests, but maybe you found that useful. One thing I could think of is checking if the query has an * at the end, remove it and build the prefix query using the function above.

This is just for prefix queries, I think having the escaping function is still useful for other use cases.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Escaping FTS search strings 831751367  
798913090 https://github.com/simonw/datasette/pull/1260#issuecomment-798913090 https://api.github.com/repos/simonw/datasette/issues/1260 MDEyOklzc3VlQ29tbWVudDc5ODkxMzA5MA== codecov[bot] 22429695 2021-03-14T14:01:30Z 2021-03-14T14:01:30Z NONE

Codecov Report

Merging #1260 (90f5fb6) into main (8e18c79) will not change coverage.
The diff coverage is 83.33%.

@@           Coverage Diff           @@
##             main    #1260   +/-   ##
=======================================
  Coverage   91.51%   91.51%           
=======================================
  Files          34       34           
  Lines        4255     4255           
=======================================
  Hits         3894     3894           
  Misses        361      361           
<table> <thead> <tr> <th>Impacted Files</th> <th>Coverage Δ</th> <th></th> </tr> </thead> <tbody> <tr> <td>datasette/inspect.py</td> <td>36.11% <0.00%> (ø)</td> <td></td> </tr> <tr> <td>datasette/default_magic_parameters.py</td> <td>91.17% <50.00%> (ø)</td> <td></td> </tr> <tr> <td>datasette/app.py</td> <td>95.85% <100.00%> (ø)</td> <td></td> </tr> <tr> <td>datasette/views/base.py</td> <td>95.01% <100.00%> (ø)</td> <td></td> </tr> <tr> <td>datasette/views/table.py</td> <td>95.88% <100.00%> (ø)</td> <td></td> </tr> </tbody> </table>

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8e18c79...90f5fb6. Read the comment docs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Fix: code quality issues 831163537  

Next page

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]);