{"html_url": "https://github.com/simonw/datasette/pull/1837#issuecomment-1270855853", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1837", "id": 1270855853, "node_id": "IC_kwDOBm6k_c5Lv7it", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-10-07T00:01:20Z", "updated_at": "2022-10-07T00:01:20Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1837?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **92.50**% // Head: **92.50**% // No change to project coverage :thumbsup:\n> Coverage data is based on head [(`c12447e`)](https://codecov.io/gh/simonw/datasette/pull/1837?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`eff1124`)](https://codecov.io/gh/simonw/datasette/commit/eff112498ecc499323c26612d707908831446d25?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch has no changes to coverable lines.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1837 +/- ##\n=======================================\n Coverage 92.50% 92.50% \n=======================================\n Files 35 35 \n Lines 4400 4400 \n=======================================\n Hits 4070 4070 \n Misses 330 330 \n```\n\n\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1837?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1400431789, "label": "Make hash and size a lazy property"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1835#issuecomment-1270595328", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1835", "id": 1270595328, "node_id": "IC_kwDOBm6k_c5Lu78A", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-10-06T19:42:25Z", "updated_at": "2022-10-06T19:42:25Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1835?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **91.71**% // Head: **92.50**% // Increases project coverage by **`+0.78%`** :tada:\n> Coverage data is based on head [(`b4b92df`)](https://codecov.io/gh/simonw/datasette/pull/1835?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`cb1e093`)](https://codecov.io/gh/simonw/datasette/commit/cb1e093fd361b758120aefc1a444df02462389a3?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch has no changes to coverable lines.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1835 +/- ##\n==========================================\n+ Coverage 91.71% 92.50% +0.78% \n==========================================\n Files 38 35 -3 \n Lines 4754 4400 -354 \n==========================================\n- Hits 4360 4070 -290 \n+ Misses 394 330 -64 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1835?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/database.py](https://codecov.io/gh/simonw/datasette/pull/1835/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RhdGFiYXNlLnB5) | | |\n| [datasette/utils/shutil\\_backport.py](https://codecov.io/gh/simonw/datasette/pull/1835/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3V0aWxzL3NodXRpbF9iYWNrcG9ydC5weQ==) | | |\n| [datasette/\\_\\_init\\_\\_.py](https://codecov.io/gh/simonw/datasette/pull/1835/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL19faW5pdF9fLnB5) | | |\n| [datasette/views/base.py](https://codecov.io/gh/simonw/datasette/pull/1835/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL2Jhc2UucHk=) | `94.75% <0.00%> (+0.01%)` | :arrow_up: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1835?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1400121355, "label": "use inspect data for hash and file size"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1824#issuecomment-1268398461", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1824", "id": 1268398461, "node_id": "IC_kwDOBm6k_c5Lmjl9", "user": {"value": 562352, "label": "CharlesNepote"}, "created_at": "2022-10-05T12:55:05Z", "updated_at": "2022-10-05T12:55:05Z", "author_association": "NONE", "body": "Here is some working javascript code. There might be better solution, I'm not a JS expert.\r\n```javascript\r\n var show_hide = document.querySelector(\".show-hide-sql > a\");\r\n\r\n // Hide SQL query if the URL opened with #_hide_sql\r\n var hash = window.location.hash;\r\n if(hash === \"#_hide_sql\") {\r\n hide_sql();\r\n }\r\n show_hide.setAttribute(\"href\", \"#\");\r\n show_hide.addEventListener(\"click\", toggle_sql_display);\r\n\r\n function toggle_sql_display() {\r\n if (show_hide.innerText === \"hide\") {\r\n hide_sql();\r\n return;\r\n }\r\n if (show_hide.innerText === \"show\") {\r\n show_sql();\r\n return;\r\n }\r\n }\r\n\r\n function hide_sql() {\r\n sql_element.style.cssText=\"display:none\";\r\n show_hide.innerHTML = \"show\";\r\n show_hide.setAttribute(\"href\", \"#_hide_sql\");\r\n }\r\n\r\n function show_sql() {\r\n sql_element.style.cssText=\"display:block\";\r\n show_hide.innerHTML = \"hide\";\r\n show_hide.setAttribute(\"href\", \"#_show_sql\");\r\n }\r\n```\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1387712501, "label": "Convert &_hide_sql=1 to #_hide_sql"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1823#issuecomment-1258833358", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1823", "id": 1258833358, "node_id": "IC_kwDOBm6k_c5LCEXO", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-27T00:54:15Z", "updated_at": "2022-10-05T04:37:54Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1823?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **91.58**% // Head: **92.50**% // Increases project coverage by **`+0.91%`** :tada:\n> Coverage data is based on head [(`b545b6a`)](https://codecov.io/gh/simonw/datasette/pull/1823?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`5f9f567`)](https://codecov.io/gh/simonw/datasette/commit/5f9f567acbc58c9fcd88af440e68034510fb5d2b?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch coverage: 90.47% of modified lines in pull request are covered.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1823 +/- ##\n==========================================\n+ Coverage 91.58% 92.50% +0.91% \n==========================================\n Files 36 35 -1 \n Lines 4444 4400 -44 \n==========================================\n Hits 4070 4070 \n+ Misses 374 330 -44 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1823?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/utils/asgi.py](https://codecov.io/gh/simonw/datasette/pull/1823/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3V0aWxzL2FzZ2kucHk=) | `91.06% <88.23%> (\u00f8)` | |\n| [datasette/app.py](https://codecov.io/gh/simonw/datasette/pull/1823/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.11% <100.00%> (\u00f8)` | |\n| [datasette/utils/shutil\\_backport.py](https://codecov.io/gh/simonw/datasette/pull/1823/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3V0aWxzL3NodXRpbF9iYWNrcG9ydC5weQ==) | | |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1823?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1386917344, "label": "Keyword-only arguments for a bunch of internal methods"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/pull/65#issuecomment-1266141699", "issue_url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/65", "id": 1266141699, "node_id": "IC_kwDODFdgUs5Ld8oD", "user": {"value": 231498, "label": "khimaros"}, "created_at": "2022-10-03T22:35:03Z", "updated_at": "2022-10-03T22:35:03Z", "author_association": "NONE", "body": "@simonw rebased against latest, please let me know if i should drop this PR.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 923270900, "label": "basic support for events"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1805#issuecomment-1265161668", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1805", "id": 1265161668, "node_id": "IC_kwDOBm6k_c5LaNXE", "user": {"value": 562352, "label": "CharlesNepote"}, "created_at": "2022-10-03T09:18:05Z", "updated_at": "2022-10-03T09:18:05Z", "author_association": "NONE", "body": "> I'm tempted to add `word-wrap: anywhere` only to links that are know to be longer than a certain threshold.\r\n\r\nMake sense IMHO.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1363552780, "label": "truncate_cells_html does not work for links?"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1827#issuecomment-1263570186", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1827", "id": 1263570186, "node_id": "IC_kwDOBm6k_c5LUI0K", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-30T13:22:15Z", "updated_at": "2022-09-30T13:22:15Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1827?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **92.50**% // Head: **92.50**% // No change to project coverage :thumbsup:\n> Coverage data is based on head [(`1f0c557`)](https://codecov.io/gh/simonw/datasette/pull/1827?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`34defdc`)](https://codecov.io/gh/simonw/datasette/commit/34defdc10aa293294ca01cfab70780755447e1d7?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch has no changes to coverable lines.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1827 +/- ##\n=======================================\n Coverage 92.50% 92.50% \n=======================================\n Files 35 35 \n Lines 4400 4400 \n=======================================\n Hits 4070 4070 \n Misses 330 330 \n```\n\n\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1827?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1392426838, "label": "Bump furo from 2022.9.15 to 2022.9.29"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1624#issuecomment-1261194164", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1624", "id": 1261194164, "node_id": "IC_kwDOBm6k_c5LLEu0", "user": {"value": 38532, "label": "palfrey"}, "created_at": "2022-09-28T16:54:22Z", "updated_at": "2022-09-28T16:54:22Z", "author_association": "NONE", "body": "https://github.com/simonw/datasette-cors seems to workaround this", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1122427321, "label": "Index page `/` has no CORS headers"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1826#issuecomment-1260373403", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1826", "id": 1260373403, "node_id": "IC_kwDOBm6k_c5LH8Wb", "user": {"value": 66709385, "label": "pjamargh"}, "created_at": "2022-09-28T04:30:27Z", "updated_at": "2022-09-28T04:30:27Z", "author_association": "NONE", "body": "I'm glad the bug report served some purpose. Frankly I just needed the\nmethod signature, that is why the documentation you mention wasn't read.\n\nOn Tue, Sep 27, 2022, 9:05 PM Simon Willison ***@***.***>\nwrote:\n\n> Though now I notice that the copy right there needs to be updated to\n> reflect the new row parameter to render_cell!\n>\n> \u2014\n> Reply to this email directly, view it on GitHub\n> ,\n> or unsubscribe\n> \n> .\n> You are receiving this because you authored the thread.Message ID:\n> ***@***.***>\n>\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1388631785, "label": "render_cell documentation example doesn't match the method signature"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1825#issuecomment-1260368122", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1825", "id": 1260368122, "node_id": "IC_kwDOBm6k_c5LH7D6", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-28T04:20:28Z", "updated_at": "2022-09-28T04:20:28Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1825?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **91.58**% // Head: **91.58**% // No change to project coverage :thumbsup:\n> Coverage data is based on head [(`b16eb2f`)](https://codecov.io/gh/simonw/datasette/pull/1825?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`5f9f567`)](https://codecov.io/gh/simonw/datasette/commit/5f9f567acbc58c9fcd88af440e68034510fb5d2b?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch has no changes to coverable lines.\n\n> :exclamation: Current head b16eb2f differs from pull request most recent head e7e96dc. Consider uploading reports for the commit e7e96dc to get more accurate results\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1825 +/- ##\n=======================================\n Coverage 91.58% 91.58% \n=======================================\n Files 36 36 \n Lines 4444 4444 \n=======================================\n Hits 4070 4070 \n Misses 374 374 \n```\n\n\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1825?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1388227245, "label": "Add documentation for serving via OpenRC"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1818#issuecomment-1258738740", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1818", "id": 1258738740, "node_id": "IC_kwDOBm6k_c5LBtQ0", "user": {"value": 5363, "label": "nelsonjchen"}, "created_at": "2022-09-26T22:52:45Z", "updated_at": "2022-09-26T22:55:57Z", "author_association": "NONE", "body": "thoughts on order of precedence to use:\r\n\r\n* sqlite-utils count, if present. closest thing to a standard i guess.\r\n* row(max_id) if like, the first and/or last x amount of rows ids are all contiguous. kind of a cheap/dumb/imperfect heuristic to see if the table is dump/not dump. if the check passes, still stick on `est.` after the display.\r\n* count(*) if enabled in datasette ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1384549993, "label": "Setting to turn off table row counts entirely"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1818#issuecomment-1257290709", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1818", "id": 1257290709, "node_id": "IC_kwDOBm6k_c5K8LvV", "user": {"value": 5363, "label": "nelsonjchen"}, "created_at": "2022-09-25T22:17:06Z", "updated_at": "2022-09-25T22:17:06Z", "author_association": "NONE", "body": "I wonder if having an option for displaying the max row id might help too. Not accurate especially if something was deleted, but useful for DBs as a dump. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1384549993, "label": "Setting to turn off table row counts entirely"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/358#issuecomment-1257136801", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/358", "id": 1257136801, "node_id": "IC_kwDOCGYnMM5K7mKh", "user": {"value": 11597658, "label": "luxint"}, "created_at": "2022-09-25T07:15:07Z", "updated_at": "2022-09-25T07:15:59Z", "author_association": "NONE", "body": "HI Simon, \r\n\r\nlooks good, I noticed you wanted to use a regex to detect it, you might be interested in [github.com/iafisher/sqliteparser](https://github.com/iafisher/sqliteparser) which creates an ast of the create table statement, not every option supported yet but i forked it and am adding all the possible options in a create table (and create index) statement. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1082651698, "label": "Support for CHECK constraints"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/490#issuecomment-1257072258", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/490", "id": 1257072258, "node_id": "IC_kwDOCGYnMM5K7WaC", "user": {"value": 6180701, "label": "jeqo"}, "created_at": "2022-09-24T22:01:05Z", "updated_at": "2022-09-24T22:01:05Z", "author_association": "NONE", "body": "For completeness, the regex requires a bit more dark magic to capture the following lines, here is a _working_ expression: https://regex101.com/r/rsuEcs/1\r\n\r\n```\r\nsqlite-utils insert /tmp/log.db log multiline.log --text --convert \"\r\nimport re\r\n\r\nr = re.compile(r'^(?P\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})(?:\\:\\s)(?P(.*\\s\\s.*|.*)+)', re.MULTILINE)\r\n\r\ndef convert(text):\r\n return [m.groupdict() for m in r.finditer(text)]\r\n\"\r\n```\r\n\r\n```\r\nBEGIN TRANSACTION;\r\nCREATE TABLE [log] (\r\n [datetime] TEXT,\r\n [log] TEXT\r\n);\r\nINSERT INTO \"log\" VALUES('2022-03-01T12:04:52','Here is a log message\r\n that spans multiple lines');\r\nINSERT INTO \"log\" VALUES('2022-03-01T12:04:52','This is a single line');\r\nINSERT INTO \"log\" VALUES('2022-03-01T12:04:52','Here is another message\r\n that spans multiple lines');\r\nCOMMIT;\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1382457780, "label": "Ability to insert multi-line files"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/490#issuecomment-1257063174", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/490", "id": 1257063174, "node_id": "IC_kwDOCGYnMM5K7UMG", "user": {"value": 6180701, "label": "jeqo"}, "created_at": "2022-09-24T20:50:15Z", "updated_at": "2022-09-24T20:50:15Z", "author_association": "NONE", "body": "\ud83e\udd2f this is beautiful. Thanks @simonw !", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1382457780, "label": "Ability to insert multi-line files"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1415#issuecomment-1255603780", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1415", "id": 1255603780, "node_id": "IC_kwDOBm6k_c5K1v5E", "user": {"value": 17532695, "label": "bendnorman"}, "created_at": "2022-09-22T22:06:10Z", "updated_at": "2022-09-22T22:06:10Z", "author_association": "NONE", "body": "This would be great! I just went through the process of figuring out the minimum permissions for a service account to run `datasette publish cloudrun` for [PUDL](https://github.com/catalyst-cooperative/pudl)'s [datasette deployment](https://data.catalyst.coop/). These are the roles I gave the service account (disclaim: I'm not sure these are the minimum permissions):\r\n\r\n- Cloud Build Service Account: The SA needs this role to publish the build on Cloud Build. \r\n- Cloud Run Admin for the Cloud Run datasette service so the SA can deploy the build.\r\n- I gave the SA the Storage Admin role on the bucket Cloud Build creates to store the build tar files. \r\n- The Viewer Role is [required for storing build logs in the default bucket](https://cloud.google.com/build/docs/running-builds/submit-build-via-cli-api#permissions). More on this below!\r\n\r\nThe Viewer Role is a Basic IAM role that [Google does not recommend using](https://cloud.google.com/build/docs/running-builds/submit-build-via-cli-api#permissions):\r\n\r\n> Caution: Basic roles include thousands of permissions across all Google Cloud services. In production environments, do not grant basic roles unless there is no alternative. Instead, grant the most limited [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) or [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that meet your needs.\r\n\r\nIf you don't grant the Viewer role the `gcloud builds submit` command will successfully create a build but returns exit code 1, preventing the script from getting to the cloud run step:\r\n\r\n```\r\nERROR: (gcloud.builds.submit)\r\nThe build is running, and logs are being written to the default logs bucket.\r\nThis tool can only stream logs if you are Viewer/Owner of the project and, if applicable, allowed by your VPC-SC security policy.\r\n\r\nThe default logs bucket is always outside any VPC-SC security perimeter.\r\nIf you want your logs saved inside your VPC-SC perimeter, use your own bucket.\r\nSee https://cloud.google.com/build/docs/securing-builds/store-manage-build-logs.\r\n```\r\nlong stack trace...\r\n```\r\nCalledProcessError: Command 'gcloud builds submit --tag gcr.io/catalyst-cooperative-pudl/datasette' returned non-zero exit status 1.\r\n```\r\n\r\nYou can store Cloud Build logs in a [user-created bucket](https://cloud.google.com/build/docs/securing-builds/store-manage-build-logs#store-custom-bucket) which only requires the Storage Admin role. However, you have to pass a config file to `gcloud builds submit`, which isn't possible with the current options for `datasette publish cloudrun`. \r\n\r\nI propose we add an additional CLI option to `datasette publish cloudrun` called `--build-config` that allows users to pass a [config file](https://cloud.google.com/build/docs/running-builds/submit-build-via-cli-api#running_builds) specifying a user create Cloud Build log bucket. ", "reactions": "{\"total_count\": 1, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 1, \"eyes\": 0}", "issue": {"value": 959137143, "label": "feature request: document minimum permissions for service account for cloudrun"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/31#issuecomment-1251845216", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/31", "id": 1251845216, "node_id": "IC_kwDODEm0Qs5KnaRg", "user": {"value": 150986, "label": "dckc"}, "created_at": "2022-09-20T05:05:03Z", "updated_at": "2022-09-20T05:05:03Z", "author_association": "NONE", "body": "yay! Thanks a bunch for the `twitter-to-sqlite friends` command!\r\n\r\nThe twitter \"Download an archive of your data\" feature doesn't include who I follow, so this is particularly handy.\r\n\r\nThe whole Dogsheep thing is great :) I've written about similar things under [cloud-services](https://www.madmode.com/search/label/cloud-services/):\r\n - 2021: [Closet Librarian Approach to Cloud Services](https://www.madmode.com/2021/closet-librarian-approach-cloud-services.html)\r\n - 2015: [jukekb \\- Browse iTunes libraries and upload playlists to Google Music](https://www.madmode.com/2015/jukekb)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 520508502, "label": "\"friends\" command (similar to \"followers\")"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1812#issuecomment-1249355888", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1812", "id": 1249355888, "node_id": "IC_kwDOBm6k_c5Kd6hw", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-16T13:18:37Z", "updated_at": "2022-09-16T13:18:37Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1812?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **91.70**% // Head: **91.70**% // No change to project coverage :thumbsup:\n> Coverage data is based on head [(`b3855e7`)](https://codecov.io/gh/simonw/datasette/pull/1812?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`b40872f`)](https://codecov.io/gh/simonw/datasette/commit/b40872f5e5ae5dad331c58f75451e2d206565196?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch has no changes to coverable lines.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1812 +/- ##\n=======================================\n Coverage 91.70% 91.70% \n=======================================\n Files 38 38 \n Lines 4735 4735 \n=======================================\n Hits 4342 4342 \n Misses 393 393 \n```\n\n\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1812?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1375930971, "label": "Bump furo from 2022.6.21 to 2022.9.15"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/486#issuecomment-1248527646", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/486", "id": 1248527646, "node_id": "IC_kwDOCGYnMM5KawUe", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-15T19:34:59Z", "updated_at": "2022-09-15T20:23:12Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/486?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **96.47**% // Head: **96.52**% // Increases project coverage by **`+0.04%`** :tada:\n> Coverage data is based on head [(`0acbc68`)](https://codecov.io/gh/simonw/sqlite-utils/pull/486?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`d9b9e07`)](https://codecov.io/gh/simonw/sqlite-utils/commit/d9b9e075f07a20f1137cd2e34ed5d3f1a3db4ad8?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch coverage: 100.00% of modified lines in pull request are covered.\n\n> :exclamation: Current head 0acbc68 differs from pull request most recent head d5db749. Consider uploading reports for the commit d5db749 to get more accurate results\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #486 +/- ##\n==========================================\n+ Coverage 96.47% 96.52% +0.04% \n==========================================\n Files 6 6 \n Lines 2642 2646 +4 \n==========================================\n+ Hits 2549 2554 +5 \n+ Misses 93 92 -1 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/sqlite-utils/pull/486?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [sqlite\\_utils/cli.py](https://codecov.io/gh/simonw/sqlite-utils/pull/486/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2NsaS5weQ==) | `95.86% <100.00%> (\u00f8)` | |\n| [sqlite\\_utils/utils.py](https://codecov.io/gh/simonw/sqlite-utils/pull/486/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL3V0aWxzLnB5) | `94.98% <100.00%> (+0.47%)` | :arrow_up: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/486?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1366512990, "label": "progressbar for inserts/upserts of all fileformats, closes #485"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/406#issuecomment-1248440137", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/406", "id": 1248440137, "node_id": "IC_kwDOCGYnMM5Kaa9J", "user": {"value": 82988, "label": "psychemedia"}, "created_at": "2022-09-15T18:13:50Z", "updated_at": "2022-09-15T18:13:50Z", "author_association": "NONE", "body": "I was wondering if you have any more thoughts on this? I have a tangible use case now: adding a \"vector\" column to a database to support semantic search using doc2vec embeddings ([example](https://psychemedia.github.io/storynotes/Lang_Doc2Vec.html); note that the `vtfunc` package may no longer be reliable...).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1128466114, "label": "Creating tables with custom datatypes"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/487#issuecomment-1242513223", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/487", "id": 1242513223, "node_id": "IC_kwDOCGYnMM5KDz9H", "user": {"value": 540968, "label": "ryanfox"}, "created_at": "2022-09-09T22:01:10Z", "updated_at": "2022-09-09T22:01:10Z", "author_association": "NONE", "body": "Perfect. Apologies, I searched but didn\u2019t see that one for some reason.\nThank you.\n\nOn Fri, Sep 9, 2022 at 3:04 PM Simon Willison ***@***.***>\nwrote:\n\n> This isn't supported yet - there's an older issue for that here:\n>\n> - #117 \n>\n> \u2014\n> Reply to this email directly, view it on GitHub\n> ,\n> or unsubscribe\n> \n> .\n> You are receiving this because you authored the thread.Message ID:\n> ***@***.***>\n>\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1367835380, "label": "Specify foreign key against compound key in other table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1808#issuecomment-1242187519", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1808", "id": 1242187519, "node_id": "IC_kwDOBm6k_c5KCkb_", "user": {"value": 4399499, "label": "ocdtrekkie"}, "created_at": "2022-09-09T16:22:19Z", "updated_at": "2022-09-09T16:22:19Z", "author_association": "NONE", "body": "@simonw Will upload_csvs treat that as a database it can import to if you set it as mutable?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1368030952, "label": "Database() constructor currently defaults is_mutable to False"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/pocket-to-sqlite/issues/10#issuecomment-1239516561", "issue_url": "https://api.github.com/repos/dogsheep/pocket-to-sqlite/issues/10", "id": 1239516561, "node_id": "IC_kwDODLZ_YM5J4YWR", "user": {"value": 11887, "label": "ashanan"}, "created_at": "2022-09-07T15:07:38Z", "updated_at": "2022-09-07T15:07:38Z", "author_association": "NONE", "body": "Thanks!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1246826792, "label": "When running `auth` command, don't overwrite an existing auth.json file"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/477#issuecomment-1238815924", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/477", "id": 1238815924, "node_id": "IC_kwDOCGYnMM5J1tS0", "user": {"value": 49702524, "label": "thewchan"}, "created_at": "2022-09-07T01:46:24Z", "updated_at": "2022-09-07T01:46:24Z", "author_association": "NONE", "body": "Will do!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1353441389, "label": "Conda Forge"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/596#issuecomment-1238383171", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/596", "id": 1238383171, "node_id": "IC_kwDOBm6k_c5J0DpD", "user": {"value": 562352, "label": "CharlesNepote"}, "created_at": "2022-09-06T16:27:25Z", "updated_at": "2022-09-06T16:27:25Z", "author_association": "NONE", "body": "Perhaps some ways to address this.\r\n\r\n1. Add a **horizontal scrollbar at the top of the table**. There are some solutions here: https://stackoverflow.com/questions/3934271/horizontal-scrollbar-on-top-and-bottom-of-table\r\n2. Use a **fixed table header**. It would be useful when you're lost in the middle of a very big table. Pure CSS solutions seem to exist: https://stackoverflow.com/questions/21168521/table-fixed-header-and-scrollable-body\r\n3. Maybe a possibility to resize columns. Not sure about that because it would more work not to lose it after each reload.\r\n4. A way to keep **favorite views for each user**. The process would be: I select the column I want or not (with existing \"settings\" icon of each column); then I select a \"favoritize view\" option somewhere; then I can recall all my favorite views from a menu. These data could be hosted on the browser.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 507454958, "label": "Handle really wide tables better"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/pull/76#issuecomment-1238190601", "issue_url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/76", "id": 1238190601, "node_id": "IC_kwDODFdgUs5JzUoJ", "user": {"value": 2757699, "label": "OverkillGuy"}, "created_at": "2022-09-06T13:58:20Z", "updated_at": "2022-09-06T13:59:08Z", "author_association": "NONE", "body": "Tested PR just now in private org, fetched >2k repos infos flawlessly!\r\n\r\n poetry run github-to-sqlite repos --organization github.db MYORG", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1363280254, "label": "Add organization support to repos command"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1803#issuecomment-1237548400", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1803", "id": 1237548400, "node_id": "IC_kwDOBm6k_c5Jw31w", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-06T00:38:18Z", "updated_at": "2022-09-06T00:38:18Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1803?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **91.66**% // Head: **91.67**% // Increases project coverage by **`+0.01%`** :tada:\n> Coverage data is based on head [(`2db6f9c`)](https://codecov.io/gh/simonw/datasette/pull/1803?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`51030df`)](https://codecov.io/gh/simonw/datasette/commit/51030df1869b3b574dd3584d1563415776b9cd4e?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch coverage: 100.00% of modified lines in pull request are covered.\n\n> :exclamation: Current head 2db6f9c differs from pull request most recent head 7b6a2b4. Consider uploading reports for the commit 7b6a2b4 to get more accurate results\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1803 +/- ##\n==========================================\n+ Coverage 91.66% 91.67% +0.01% \n==========================================\n Files 38 38 \n Lines 4705 4711 +6 \n==========================================\n+ Hits 4313 4319 +6 \n Misses 392 392 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1803?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/app.py](https://codecov.io/gh/simonw/datasette/pull/1803/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.23% <100.00%> (+0.04%)` | :arrow_up: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1803?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1362567197, "label": "Workaround for test failure: RuntimeError: There is no current event loop"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1801#issuecomment-1237380827", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1801", "id": 1237380827, "node_id": "IC_kwDOBm6k_c5JwO7b", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-09-05T18:35:24Z", "updated_at": "2022-09-05T18:35:24Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1801?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **91.66**% // Head: **91.66**% // No change to project coverage :thumbsup:\n> Coverage data is based on head [(`3f24edd`)](https://codecov.io/gh/simonw/datasette/pull/1801?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`ba35105`)](https://codecov.io/gh/simonw/datasette/commit/ba35105eee2d3ba620e4f230028a02b2e2571df2?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch has no changes to coverable lines.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1801 +/- ##\n=======================================\n Coverage 91.66% 91.66% \n=======================================\n Files 38 38 \n Lines 4705 4705 \n=======================================\n Hits 4313 4313 \n Misses 392 392 \n```\n\n\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1801?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1362367821, "label": "Don't use upper bound dependencies, refs #1800"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/239#issuecomment-1236200834", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/239", "id": 1236200834, "node_id": "IC_kwDOCGYnMM5Jru2C", "user": {"value": 14294, "label": "hubgit"}, "created_at": "2022-09-03T21:26:32Z", "updated_at": "2022-09-03T21:26:32Z", "author_association": "NONE", "body": "I was looking for something like this today, for extracting columns containing objects (and arrays of objects) into separate tables. \r\n\r\nWould it make sense (especially for the fields containing arrays of objects) to create a one-to-many relationship, where each row of the newly created table would contain the id of the row that originally contained it?\r\n\r\nIf the extracted objects have a unique id and are repeated, it could even create a many-to-many relationship, with a third table for the joins.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 816526538, "label": "sqlite-utils extract could handle nested objects"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/260#issuecomment-1235079469", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1235079469, "node_id": "IC_kwDOBm6k_c5JndEt", "user": {"value": 596279, "label": "zaneselvans"}, "created_at": "2022-09-02T05:24:59Z", "updated_at": "2022-09-02T05:24:59Z", "author_association": "NONE", "body": "@zschira is working with Pydantic while converting between and validating JSON frictionless datapackage descriptors that annotate an SQLite DB ([extracted from FERC's XBRL data](https://github.com/catalyst-cooperative/ferc-xbrl-extractor)) and the Datasette YAML metadata [so we can publish them with Datasette](https://github.com/catalyst-cooperative/pudl/pull/1831). Maybe there's some overlap? We've been loving Pydantic.", "reactions": "{\"total_count\": 1, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 1}", "issue": {"value": 323223872, "label": "Validate metadata.json on startup"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233702481", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233702481, "node_id": "IC_kwDOBm6k_c5JiM5R", "user": {"value": 428820, "label": "johnfelipe"}, "created_at": "2022-09-01T03:48:27Z", "updated_at": "2022-09-01T03:48:27Z", "author_association": "NONE", "body": "I want to do may be 3 or 4 PR for your evaluation, and when you allowed\nthen I want supporting that effort\n\nEl mi\u00e9, 31 de ago. de 2022, 10:36 p. m., Simon Willison <\n***@***.***> escribi\u00f3:\n\n> I don't want to start any efforts around documentation translation until\n> after the Datasette 1.0 release, because I'd like to be confident that\n> we're not translating documentation that may have some big changes before\n> Datasette is fully stable!\n>\n> \u2014\n> Reply to this email directly, view it on GitHub\n> ,\n> or unsubscribe\n> \n> .\n> You are receiving this because you authored the thread.Message ID:\n> ***@***.***>\n>\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233684765", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233684765, "node_id": "IC_kwDOBm6k_c5JiIkd", "user": {"value": 428820, "label": "johnfelipe"}, "created_at": "2022-09-01T03:12:50Z", "updated_at": "2022-09-01T03:12:50Z", "author_association": "NONE", "body": "I want to begin translation to es and it documentation, if u like i would do PR asap.\nBut user interface, frontend and backend is a good feature be i18n support.\nWhen you have may be .pot file I can translate to, or Json file with all strings for internationalized", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233328232", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233328232, "node_id": "IC_kwDOBm6k_c5Jgxho", "user": {"value": 428820, "label": "johnfelipe"}, "created_at": "2022-08-31T19:18:47Z", "updated_at": "2022-08-31T19:18:47Z", "author_association": "NONE", "body": "I want contribute if strings is in pot file, or Json, yml, yaml, Js or other type ..", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233298125", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233298125, "node_id": "IC_kwDOBm6k_c5JgqLN", "user": {"value": 17053189, "label": "sachaj"}, "created_at": "2022-08-31T18:53:49Z", "updated_at": "2022-08-31T18:53:49Z", "author_association": "NONE", "body": "I also would like a French version UI and am prepared to contribute to this translation.\r\n\r\nHaving worked an i18n project in the past, there can be complexities with the strings and the various grammars and syntaxes, depending on how things are set up.\r\nIt's a pretty big job to retroactively i18n-ify things, but for us at least we have requirements to provide French-language interfaces at our University, so I would be willing to participate in this initiative.\r\n\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/480#issuecomment-1232091957", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/480", "id": 1232091957, "node_id": "IC_kwDOCGYnMM5JcDs1", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-30T19:45:23Z", "updated_at": "2022-08-31T03:34:37Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/480?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **96.47**% // Head: **96.47**% // Increases project coverage by **`+0.00%`** :tada:\n> Coverage data is based on head [(`3dbfca6`)](https://codecov.io/gh/simonw/sqlite-utils/pull/480?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`087753c`)](https://codecov.io/gh/simonw/sqlite-utils/commit/087753cd42c406f1e060c1822dcd9b5fda3d60f4?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch coverage: 100.00% of modified lines in pull request are covered.\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #480 +/- ##\n=======================================\n Coverage 96.47% 96.47% \n=======================================\n Files 6 6 \n Lines 2640 2642 +2 \n=======================================\n+ Hits 2547 2549 +2 \n Misses 93 93 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/sqlite-utils/pull/480?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [sqlite\\_utils/db.py](https://codecov.io/gh/simonw/sqlite-utils/pull/480/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2RiLnB5) | `97.32% <100.00%> (+<0.01%)` | :arrow_up: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/480?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1355433619, "label": "search_sql add include_rank option"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/474#issuecomment-1229449018", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/474", "id": 1229449018, "node_id": "IC_kwDOCGYnMM5JR-c6", "user": {"value": 14294, "label": "hubgit"}, "created_at": "2022-08-28T12:40:13Z", "updated_at": "2022-08-28T12:40:13Z", "author_association": "NONE", "body": "Creating the table before inserting is a useful workaround, thanks. It does require figuring out the `create table` syntax and listing all the fields manually, though, which loses some of the magic of sqlite-utils.\r\n\r\nI was expecting to find an option like `--headers=foo,bar` (or `--header-row='foo\\tbar'`, if that would be easier) - not necessarily that exact syntax, but something that would essentially be treated the same as having a header row in the file.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1353074021, "label": "Add an option for specifying column names when inserting CSV data"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/471#issuecomment-1229430228", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/471", "id": 1229430228, "node_id": "IC_kwDOCGYnMM5JR53U", "user": {"value": 4312421, "label": "stonebig"}, "created_at": "2022-08-28T10:43:35Z", "updated_at": "2022-08-28T10:43:35Z", "author_association": "NONE", "body": "Is it still nfortunately slow and tricky when playing with floats ?\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1352932716, "label": "sqlite-utils query --functions mechanism for registering extra functions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/468#issuecomment-1224412060", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/468", "id": 1224412060, "node_id": "IC_kwDOCGYnMM5I-wuc", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-23T17:30:24Z", "updated_at": "2022-08-27T23:11:44Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/468?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#468](https://codecov.io/gh/simonw/sqlite-utils/pull/468?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (fc38480) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/c5f8a2eb1a81a18b52825cc649112f71fe419b12?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (c5f8a2e) will **decrease** coverage by `0.12%`.\n> The diff coverage is `88.88%`.\n\n> :exclamation: Current head fc38480 differs from pull request most recent head 2f6a64f. Consider uploading reports for the commit 2f6a64f to get more accurate results\n\n```diff\n@@ Coverage Diff @@\n## main #468 +/- ##\n==========================================\n- Coverage 96.60% 96.47% -0.13% \n==========================================\n Files 6 6 \n Lines 2590 2640 +50 \n==========================================\n+ Hits 2502 2547 +45 \n- Misses 88 93 +5 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/sqlite-utils/pull/468?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [sqlite\\_utils/cli.py](https://codecov.io/gh/simonw/sqlite-utils/pull/468/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2NsaS5weQ==) | `95.86% <66.66%> (-0.09%)` | :arrow_down: |\n| [sqlite\\_utils/db.py](https://codecov.io/gh/simonw/sqlite-utils/pull/468/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2RiLnB5) | `97.31% <90.19%> (-0.23%)` | :arrow_down: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1348294436, "label": "db[table].create(..., transform=True) and create-table --transform"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/473#issuecomment-1229130453", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/473", "id": 1229130453, "node_id": "IC_kwDOCGYnMM5JQwrV", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-27T05:55:12Z", "updated_at": "2022-08-27T05:55:18Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/473?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#473](https://codecov.io/gh/simonw/sqlite-utils/pull/473?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (72db599) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/a46a5e3a9e03dcdd8c84a92e4a5dbfa02ba461fa?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (a46a5e3) will **decrease** coverage by `0.07%`.\n> The diff coverage is `50.00%`.\n\n```diff\n@@ Coverage Diff @@\n## main #473 +/- ##\n==========================================\n- Coverage 96.67% 96.60% -0.08% \n==========================================\n Files 6 6 \n Lines 2587 2590 +3 \n==========================================\n+ Hits 2501 2502 +1 \n- Misses 86 88 +2 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/sqlite-utils/pull/473?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [sqlite\\_utils/cli.py](https://codecov.io/gh/simonw/sqlite-utils/pull/473/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2NsaS5weQ==) | `95.94% <50.00%> (-0.18%)` | :arrow_down: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1352953535, "label": "Support entrypoints for `--load-extension`"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1792#issuecomment-1224606178", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1792", "id": 1224606178, "node_id": "IC_kwDOBm6k_c5I_gHi", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-23T18:49:07Z", "updated_at": "2022-08-24T00:11:37Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1792?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1792](https://codecov.io/gh/simonw/datasette/pull/1792?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (f61cfb7) into [main](https://codecov.io/gh/simonw/datasette/commit/fd1086c6867f3e3582b1eca456e4ea95f6cecf8b?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (fd1086c) will **increase** coverage by `0.04%`.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1792 +/- ##\n==========================================\n+ Coverage 91.66% 91.71% +0.04% \n==========================================\n Files 38 38 \n Lines 4705 4705 \n==========================================\n+ Hits 4313 4315 +2 \n+ Misses 392 390 -2 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1792?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/database.py](https://codecov.io/gh/simonw/datasette/pull/1792/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RhdGFiYXNlLnB5) | `94.13% <0.00%> (+0.65%)` | :arrow_up: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1348394901, "label": "Test `--load-extension` in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1791#issuecomment-1224080105", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1791", "id": 1224080105, "node_id": "IC_kwDOBm6k_c5I9frp", "user": {"value": 1780782, "label": "ment4list"}, "created_at": "2022-08-23T13:29:51Z", "updated_at": "2022-08-23T13:29:51Z", "author_association": "NONE", "body": "For now I've installed datasette via homebrew.\r\n\r\nI then converted my CSV to SQLite via sqlite-utils as per the article [Cleaning data with sqlite](https://datasette.io/tutorials/clean-data).\r\n\r\nNow I can use my `metadata.json` file as follows:\r\n\r\n`datasette mydb.db -m mymetadata.json` ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1347717749, "label": "Updating metadata.json on Datasette for MacOS"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/235#issuecomment-1223378004", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/235", "id": 1223378004, "node_id": "IC_kwDOCGYnMM5I60RU", "user": {"value": 1558033, "label": "wpears"}, "created_at": "2022-08-23T00:44:11Z", "updated_at": "2022-08-23T00:44:11Z", "author_association": "NONE", "body": "This bug affects me as well. Env:\r\n\r\n```\r\nPython 3.8.12\r\nsqlite-utils, version 3.28\r\nsqlite3 3.32.3\r\nMacOS Big Sur 11.6.7\r\nIntel\r\n```\r\n\r\nSimilar to @mdrovdahl, I was able to work around this bug by piping the SQL string constructed in `add_foreign_keys` to the `sqlite3` command itself. Specifically, if you're trying to patch this yourself, replace [lines 1026-1039 of db.py in your site packages](https://github.com/simonw/sqlite-utils/blob/main/sqlite_utils/db.py#L1026-L1039) with something similar to the following:\r\n\r\n```\r\nprint(\"PRAGMA writable_schema = 1;\")\r\nfor table_name, new_sql in table_sql.items():\r\n print(\"UPDATE sqlite_master SET sql = '{}' WHERE name = '{}';\".format(\r\n new_sql, table_name)\r\n )\r\nprint(\"PRAGMA writable_schema = 0;\")\r\nprint(\"VACUUM;\")\r\n```\r\n \r\nThen from your terminal:\r\n`db-to-sqlite \"\" your.db --all > output.sql && sqlite3 your.db < output.sql`\r\n\r\nIf you want to run this with `-p`, you'll have to actually open a file in code to write to instead of redirecting the output.", "reactions": "{\"total_count\": 3, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 3, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 810618495, "label": "Extract columns cannot create foreign key relation: sqlite3.OperationalError: table sqlite_master may not be modified"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/pocket-to-sqlite/issues/11#issuecomment-1221521377", "issue_url": "https://api.github.com/repos/dogsheep/pocket-to-sqlite/issues/11", "id": 1221521377, "node_id": "IC_kwDODLZ_YM5Izu_h", "user": {"value": 2467, "label": "fernand0"}, "created_at": "2022-08-21T10:51:37Z", "updated_at": "2022-08-21T10:51:37Z", "author_association": "NONE", "body": "I didn't see there is a PR about this: https://github.com/dogsheep/pocket-to-sqlite/pull/7", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1345452427, "label": "-a option is used for \"--auth\" and for \"--all\""}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/465#issuecomment-1218565147", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/465", "id": 1218565147, "node_id": "IC_kwDOCGYnMM5IodQb", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-17T22:44:40Z", "updated_at": "2022-08-17T23:21:22Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/465?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#465](https://codecov.io/gh/simonw/sqlite-utils/pull/465?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (bb90d33) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/45e24deffea042b5db7ab84cd1eb63b3ed9bb9da?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (45e24de) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #465 +/- ##\n=======================================\n Coverage 96.64% 96.64% \n=======================================\n Files 6 6 \n Lines 2566 2566 \n=======================================\n Hits 2480 2480 \n Misses 86 86 \n```\n\n\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1342357149, "label": "beanbag-docutils>=2.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1574#issuecomment-1214765672", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1574", "id": 1214765672, "node_id": "IC_kwDOBm6k_c5IZ9po", "user": {"value": 33631, "label": "fs111"}, "created_at": "2022-08-15T08:49:31Z", "updated_at": "2022-08-15T08:49:31Z", "author_association": "NONE", "body": "closing as this is now the default", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1084193403, "label": "introduce new option for datasette package to use a slim base image"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/issues/51#issuecomment-1208757153", "issue_url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/51", "id": 1208757153, "node_id": "IC_kwDODFdgUs5IDCuh", "user": {"value": 9020979, "label": "hydrosquall"}, "created_at": "2022-08-09T00:29:44Z", "updated_at": "2022-08-09T00:29:44Z", "author_association": "NONE", "body": "I've been looking into how to to get this data out of Github (especially now there are \"secondary rate limits\" without an advertised allowance separate from the regular rate limits. \r\n\r\nI've had decent success with the Airbyte github extractor (aside from one data quality issue https://github.com/airbytehq/airbyte/pull/15420 ). Airbyte splits data extraction between the GraphQL and REST endpoints depending on the resource type, but they're very comprehensive. \r\n\r\nhttps://github.com/airbytehq/airbyte/blob/306a75ef5370728e0912cf52a1a898a530db0c90/airbyte-integrations/connectors/source-github/source_github/streams.py#L22-L122\r\n\r\nBefore this, I tried a few solutions in my own custom wrapper mentioned in this thread + its children https://github.com/PyGithub/PyGithub/issues/1989 , but they weren't working as expected.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 703246031, "label": "github-to-sqlite should handle rate limits better"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/235#issuecomment-1206241356", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/235", "id": 1206241356, "node_id": "IC_kwDOCGYnMM5H5chM", "user": {"value": 503614, "label": "lfdebrux"}, "created_at": "2022-08-05T09:26:15Z", "updated_at": "2022-08-05T09:29:42Z", "author_association": "NONE", "body": "I am getting the same error when using github-to-sqlite (which uses sqlite-utils internally). I am also using an M1 MacBook Pro, with macOS Monterey 12.5, with Python 3.10.6 for arm64 installed using pyenv. I have sqlite-utils 3.28 installed.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 810618495, "label": "Extract columns cannot create foreign key relation: sqlite3.OperationalError: table sqlite_master may not be modified"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/462#issuecomment-1203207940", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/462", "id": 1203207940, "node_id": "IC_kwDOCGYnMM5Ht38E", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-02T20:58:38Z", "updated_at": "2022-08-02T21:05:58Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/462?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#462](https://codecov.io/gh/simonw/sqlite-utils/pull/462?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (0a14a03) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (1856002) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #462 +/- ##\n=======================================\n Coverage 96.64% 96.64% \n=======================================\n Files 6 6 \n Lines 2566 2566 \n=======================================\n Hits 2480 2480 \n Misses 86 86 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/462?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/462?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [1856002...0a14a03](https://codecov.io/gh/simonw/sqlite-utils/pull/462?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1326391841, "label": "Discord badge"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/460#issuecomment-1202947160", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/460", "id": 1202947160, "node_id": "IC_kwDOCGYnMM5Hs4RY", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-08-02T16:20:42Z", "updated_at": "2022-08-02T20:53:19Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/460?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#460](https://codecov.io/gh/simonw/sqlite-utils/pull/460?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (f21f4cc) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (1856002) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #460 +/- ##\n=======================================\n Coverage 96.64% 96.64% \n=======================================\n Files 6 6 \n Lines 2566 2566 \n=======================================\n Hits 2480 2480 \n Misses 86 86 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/460?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/460?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [1856002...f21f4cc](https://codecov.io/gh/simonw/sqlite-utils/pull/460?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1326087800, "label": "Cross-link CLI to Python docs"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1272#issuecomment-1199115002", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1272", "id": 1199115002, "node_id": "IC_kwDOBm6k_c5HeQr6", "user": {"value": 37748899, "label": "xmichele"}, "created_at": "2022-07-29T10:22:58Z", "updated_at": "2022-07-29T10:22:58Z", "author_association": "NONE", "body": "> test_dockerfile.py\r\n\r\n\r\n\r\n> I'm skipping this for the moment because the new Dockerfile shape introduced in [#1249 (comment)](https://github.com/simonw/datasette/issues/1249#issuecomment-804404544) isn't compatible with this technique, since it installs Datasette from PyPI rather than directly from the repo.\r\n> \r\n> Will need to change that if I want to do this unit tests thing.\r\n\r\nHello,\r\ncan't you copy in a later step directly in the output directory, e.g. COPY test_dockerfile.py /usr/lib/python*/.. or something like that ? ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 838245338, "label": "Unit tests for the Dockerfile"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/235#issuecomment-1198414383", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/235", "id": 1198414383, "node_id": "IC_kwDOCGYnMM5Hblov", "user": {"value": 474467, "label": "mdrovdahl"}, "created_at": "2022-07-28T17:10:06Z", "updated_at": "2022-07-28T17:10:06Z", "author_association": "NONE", "body": "I was able to fight through this by capturing the SQL commands from the `add_foreign_keys()` function in sqlite-utils and then executing them manually via the sqlite3 client, first setting PRAGMA writable_schema on and then updating the sqlite_master table. Still no clue why they were failing when run in context...", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 810618495, "label": "Extract columns cannot create foreign key relation: sqlite3.OperationalError: table sqlite_master may not be modified"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/457#issuecomment-1197090890", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/457", "id": 1197090890, "node_id": "IC_kwDOCGYnMM5HWihK", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-07-27T17:40:14Z", "updated_at": "2022-07-27T17:40:40Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/457?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#457](https://codecov.io/gh/simonw/sqlite-utils/pull/457?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (80b3907) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/9e6cceac1c0e086429e2d308b700e59cc53a1991?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (9e6ccea) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #457 +/- ##\n=======================================\n Coverage 96.64% 96.64% \n=======================================\n Files 6 6 \n Lines 2566 2566 \n=======================================\n Hits 2480 2480 \n Misses 86 86 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/457?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/457?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [9e6ccea...80b3907](https://codecov.io/gh/simonw/sqlite-utils/pull/457?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1319881016, "label": "Link to installation instructions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1175#issuecomment-1195442266", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1175", "id": 1195442266, "node_id": "IC_kwDOBm6k_c5HQQBa", "user": {"value": 8523191, "label": "RamiAwar"}, "created_at": "2022-07-26T12:52:10Z", "updated_at": "2022-07-26T12:52:10Z", "author_association": "NONE", "body": "I'm using this in a separate FastAPI app, worked perfectly when I changed the AsyncBoundLogger to BoundLogger only.\r\n\r\nAlso for some reason, I'm now getting some logs surfacing from internal packages, like Elasticsearch. But don't have time to deal with that now.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 779156520, "label": "Use structlog for logging"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/456#issuecomment-1190449764", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/456", "id": 1190449764, "node_id": "IC_kwDOCGYnMM5G9NJk", "user": {"value": 45919695, "label": "jcmkk3"}, "created_at": "2022-07-20T15:45:54Z", "updated_at": "2022-07-20T15:45:54Z", "author_association": "NONE", "body": "> hadley wickham's melt and reshape could be good inspo: http://had.co.nz/reshape/introduction.pdf\r\n\r\nNote that Hadley has since implemented `pivot_longer` and `pivot_wider` instead of the previous verbs/functions that he used. Those can be found in the tidyr package and are probably the best reference which includes all of the learnings from years of user feedback. https://tidyr.tidyverse.org/articles/pivot.html", "reactions": "{\"total_count\": 2, \"+1\": 2, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1310243385, "label": "feature request: pivot command"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/455#issuecomment-1189130490", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/455", "id": 1189130490, "node_id": "IC_kwDOCGYnMM5G4LD6", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-07-19T14:32:10Z", "updated_at": "2022-07-19T14:32:10Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/455?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#455](https://codecov.io/gh/simonw/sqlite-utils/pull/455?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (1b35a92) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/855bce8c3823718def13e0b8928c58bf857e41b2?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (855bce8) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #455 +/- ##\n=======================================\n Coverage 96.64% 96.64% \n=======================================\n Files 6 6 \n Lines 2566 2566 \n=======================================\n Hits 2480 2480 \n Misses 86 86 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/sqlite-utils/pull/455?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [sqlite\\_utils/db.py](https://codecov.io/gh/simonw/sqlite-utils/pull/455/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2RiLnB5) | `97.54% <\u00f8> (\u00f8)` | |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/455?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/455?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [855bce8...1b35a92](https://codecov.io/gh/simonw/sqlite-utils/pull/455?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1309542173, "label": "in extract code, check equality with IS instead of = for nulls"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/452#issuecomment-1185949850", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/452", "id": 1185949850, "node_id": "IC_kwDOCGYnMM5GsCia", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-07-15T21:15:45Z", "updated_at": "2022-07-15T21:18:34Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/452?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#452](https://codecov.io/gh/simonw/sqlite-utils/pull/452?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (eef350f) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/42440d6345c242ee39778045e29143fb550bd2c2?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (42440d6) will **increase** coverage by `0.00%`.\n> The diff coverage is `100.00%`.\n\n```diff\n@@ Coverage Diff @@\n## main #452 +/- ##\n=======================================\n Coverage 96.60% 96.61% \n=======================================\n Files 6 6 \n Lines 2534 2540 +6 \n=======================================\n+ Hits 2448 2454 +6 \n Misses 86 86 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/sqlite-utils/pull/452?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [sqlite\\_utils/db.py](https://codecov.io/gh/simonw/sqlite-utils/pull/452/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2RiLnB5) | `97.53% <100.00%> (+0.01%)` | :arrow_up: |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/452?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/452?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [42440d6...eef350f](https://codecov.io/gh/simonw/sqlite-utils/pull/452?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1299760627, "label": "Add duplicate table feature"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1769#issuecomment-1185536255", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1769", "id": 1185536255, "node_id": "IC_kwDOBm6k_c5Gqdj_", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-07-15T13:16:42Z", "updated_at": "2022-07-15T13:16:42Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1769?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1769](https://codecov.io/gh/simonw/datasette/pull/1769?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (bb3c610) into [main](https://codecov.io/gh/simonw/datasette/commit/950cc7677f65aa2543067b3bbfc2b6acb98b62c8?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (950cc76) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1769 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4658 \n=======================================\n Hits 4270 4270 \n Misses 388 388 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1769?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1769?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [950cc76...bb3c610](https://codecov.io/gh/simonw/datasette/pull/1769?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1306020162, "label": "Update pytest-asyncio requirement from <0.19,>=0.17 to >=0.17,<0.20"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1766#issuecomment-1173142896", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1766", "id": 1173142896, "node_id": "IC_kwDOBm6k_c5F7L1w", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-07-03T17:43:51Z", "updated_at": "2022-07-03T17:43:51Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1766?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1766](https://codecov.io/gh/simonw/datasette/pull/1766?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (257fd24) into [main](https://codecov.io/gh/simonw/datasette/commit/9f1eb0d4eac483b953392157bd9fd6cc4df37de7?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (9f1eb0d) will **increase** coverage by `0.00%`.\n> The diff coverage is `100.00%`.\n\n```diff\n@@ Coverage Diff @@\n## main #1766 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4659 +1 \n=======================================\n+ Hits 4270 4271 +1 \n Misses 388 388 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1766?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/app.py](https://codecov.io/gh/simonw/datasette/pull/1766/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.27% <100.00%> (+<0.01%)` | :arrow_up: |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1766?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1766?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [9f1eb0d...257fd24](https://codecov.io/gh/simonw/datasette/pull/1766?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1292377561, "label": "Keep track of config_dir"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1646#issuecomment-1172930092", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1646", "id": 1172930092, "node_id": "IC_kwDOBm6k_c5F6X4s", "user": {"value": 1473102, "label": "mustafa0x"}, "created_at": "2022-07-02T17:12:18Z", "updated_at": "2022-07-02T17:12:18Z", "author_association": "NONE", "body": "I'm affected by this as well. Would be nice to be able to pass in an extension, eg `--extension=sqlite3`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1157182254, "label": "Configuration directory mode does not pick up other file extensions than .db"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/235#issuecomment-1172766270", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/235", "id": 1172766270, "node_id": "IC_kwDOCGYnMM5F5v4-", "user": {"value": 474467, "label": "mdrovdahl"}, "created_at": "2022-07-01T22:40:26Z", "updated_at": "2022-07-01T22:40:26Z", "author_association": "NONE", "body": "Note, I do not get this issue using my Intel MacBook Pro =/\r\n\r\nEnvironment\r\n```\r\nmarkd@Marks-MBP metabase % python3 --version\r\nPython 3.9.13\r\nmarkd@Marks-MBP metabase % sqlite3 --version\r\n3.37.0 2021-12-09 01:34:53 9ff244ce0739f8ee52a3e9671adb4ee54c83c640b02e3f9d185fd2f9a179aapl\r\nmarkd@Marks-MBP metabase % sqlite-utils --version\r\nsqlite-utils, version 3.27\r\nmarkd@Marks-MBP metabase % sqlite3 github.db \r\nSQLite version 3.37.0 2021-12-09 01:34:53\r\nEnter \".help\" for usage hints.\r\nsqlite> .dbconfig\r\n defensive off\r\n dqs_ddl on\r\n dqs_dml on\r\n enable_fkey off\r\n enable_qpsg off\r\n enable_trigger on\r\n enable_view on\r\n fts3_tokenizer off\r\n legacy_alter_table on\r\n legacy_file_format off\r\n load_extension off\r\n no_ckpt_on_close off\r\n reset_database off\r\n trigger_eqp off\r\n trusted_schema on\r\n writable_schema off\r\n```\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 810618495, "label": "Extract columns cannot create foreign key relation: sqlite3.OperationalError: table sqlite_master may not be modified"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/235#issuecomment-1172697090", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/235", "id": 1172697090, "node_id": "IC_kwDOCGYnMM5F5fAC", "user": {"value": 474467, "label": "mdrovdahl"}, "created_at": "2022-07-01T20:37:40Z", "updated_at": "2022-07-01T20:37:55Z", "author_association": "NONE", "body": "I just ran into what appears to be the same issue on a MacBook Pro, M1 Pro. \r\n\r\nEnvironment:\r\n```\r\nmarkd@Marks-MacBook-Pro metabase % python --version \r\nPython 3.8.9\r\nmarkd@Marks-MacBook-Pro metabase % sqlite3 --version \r\n3.37.0 2021-12-09 01:34:53 9ff244ce0739f8ee52a3e9671adb4ee54c83c640b02e3f9d185fd2f9a179aapl\r\nmarkd@Marks-MacBook-Pro metabase % sqlite-utils --version \r\nsqlite-utils, version 3.27\r\nmarkd@Marks-MacBook-Pro metabase % sqlite3 gh.db \r\nSQLite version 3.37.0 2021-12-09 01:34:53\r\nEnter \".help\" for usage hints.\r\nsqlite> .dbconfig\r\n defensive off\r\n dqs_ddl on\r\n dqs_dml on\r\n enable_fkey off\r\n enable_qpsg off\r\n enable_trigger on\r\n enable_view on\r\n fts3_tokenizer off\r\n legacy_alter_table on\r\n legacy_file_format off\r\n load_extension off\r\n no_ckpt_on_close off\r\n reset_database off\r\n trigger_eqp off\r\n trusted_schema on\r\n writable_schema off\r\n``` \r\n\r\nError\r\n```\r\nmarkd@Marks-MacBook-Pro metabase % github-to-sqlite repos gh.db a8cteam51 \r\nTraceback (most recent call last):\r\n File \"/Users/markd/Library/Python/3.8/bin/github-to-sqlite\", line 8, in \r\n sys.exit(cli())\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/click/core.py\", line 1130, in __call__\r\n return self.main(*args, **kwargs)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/click/core.py\", line 1055, in main\r\n rv = self.invoke(ctx)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/click/core.py\", line 1657, in invoke\r\n return _process_result(sub_ctx.command.invoke(sub_ctx))\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/click/core.py\", line 1404, in invoke\r\n return ctx.invoke(self.callback, **ctx.params)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/click/core.py\", line 760, in invoke\r\n return __callback(*args, **kwargs)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/github_to_sqlite/cli.py\", line 268, in repos\r\n utils.ensure_db_shape(db)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/github_to_sqlite/utils.py\", line 688, in ensure_db_shape\r\n ensure_foreign_keys(db)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/github_to_sqlite/utils.py\", line 682, in ensure_foreign_keys\r\n db[table].add_foreign_key(column, table2, column2)\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/sqlite_utils/db.py\", line 2004, in add_foreign_key\r\n self.db.add_foreign_keys([(self.name, column, other_table, other_column)])\r\n File \"/Users/markd/Library/Python/3.8/lib/python/site-packages/sqlite_utils/db.py\", line 1019, in add_foreign_keys\r\n cursor.execute(\r\nsqlite3.OperationalError: table sqlite_master may not be modified\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 810618495, "label": "Extract columns cannot create foreign key relation: sqlite3.OperationalError: table sqlite_master may not be modified"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/26#issuecomment-1170595021", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/26", "id": 1170595021, "node_id": "IC_kwDOCGYnMM5FxdzN", "user": {"value": 60892516, "label": "izzues"}, "created_at": "2022-06-29T23:35:29Z", "updated_at": "2022-06-29T23:35:29Z", "author_association": "NONE", "body": "Have you seen [MakeTypes](https://github.com/jvilk/MakeTypes)? Not the exact same thing but it may be relevant.\r\n\r\nAnd it's inspired by the paper [\"Types from Data: Making Structured Data First-Class Citizens in F#\"](https://dl.acm.org/citation.cfm?id=2908115).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 455486286, "label": "Mechanism for turning nested JSON into foreign keys / many-to-many"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1763#issuecomment-1168715058", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1763", "id": 1168715058, "node_id": "IC_kwDOBm6k_c5FqS0y", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-06-28T13:19:28Z", "updated_at": "2022-06-28T13:19:28Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1763?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1763](https://codecov.io/gh/simonw/datasette/pull/1763?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (fd6a817) into [main](https://codecov.io/gh/simonw/datasette/commit/00e59ec461dc0150772b999c7cc15fcb9b507d58?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (00e59ec) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1763 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4658 \n=======================================\n Hits 4270 4270 \n Misses 388 388 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1763?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1763?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [00e59ec...fd6a817](https://codecov.io/gh/simonw/datasette/pull/1763?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1287325944, "label": "Bump black from 22.1.0 to 22.6.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/431#issuecomment-1164460052", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/431", "id": 1164460052, "node_id": "IC_kwDOCGYnMM5FaEAU", "user": {"value": 738408, "label": "rafguns"}, "created_at": "2022-06-23T14:12:51Z", "updated_at": "2022-06-23T14:12:51Z", "author_association": "NONE", "body": "Yeah, I think I prefer your suggestion: it seems cleaner than my initial `left_name=`/`right_name=` idea. Perhaps one downside is that it's less obvious what the role of each field is: in this example, is `people_id_1` a reference to parent or child?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1227571375, "label": "Allow making m2m relation of a table to itself"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/issues/12#issuecomment-1163917719", "issue_url": "https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/12", "id": 1163917719, "node_id": "IC_kwDOC8tyDs5FX_mX", "user": {"value": 956433, "label": "Mjboothaus"}, "created_at": "2022-06-23T04:35:02Z", "updated_at": "2022-06-23T04:35:02Z", "author_association": "NONE", "body": "In terms of unique identifiers - could you use values stored in `HKMetadataKeySyncIdentifier`?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 727848625, "label": "Some workout columns should be float, not text"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1760#issuecomment-1163097455", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1760", "id": 1163097455, "node_id": "IC_kwDOBm6k_c5FU3Vv", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-06-22T13:27:08Z", "updated_at": "2022-06-22T13:27:08Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1760?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1760](https://codecov.io/gh/simonw/datasette/pull/1760?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (69951ee) into [main](https://codecov.io/gh/simonw/datasette/commit/00e59ec461dc0150772b999c7cc15fcb9b507d58?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (00e59ec) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1760 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4658 \n=======================================\n Hits 4270 4270 \n Misses 388 388 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1760?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1760?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [00e59ec...69951ee](https://codecov.io/gh/simonw/datasette/pull/1760?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1280136357, "label": "Bump furo from 2022.4.7 to 2022.6.21"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/448#issuecomment-1162500525", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/448", "id": 1162500525, "node_id": "IC_kwDOCGYnMM5FSlmt", "user": {"value": 236907, "label": "mungewell"}, "created_at": "2022-06-22T00:46:43Z", "updated_at": "2022-06-22T00:46:43Z", "author_association": "NONE", "body": "[log.txt](https://github.com/simonw/sqlite-utils/files/8953589/log.txt)\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1279144769, "label": "Reading rows from a file => AttributeError: '_io.StringIO' object has no attribute 'readinto'"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/448#issuecomment-1162498734", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/448", "id": 1162498734, "node_id": "IC_kwDOCGYnMM5FSlKu", "user": {"value": 236907, "label": "mungewell"}, "created_at": "2022-06-22T00:43:45Z", "updated_at": "2022-06-22T00:43:45Z", "author_association": "NONE", "body": "Attempted to test on a machine with a new version of Python, but install failed with an error message for the 'click' package.\r\n\r\n```\r\nC:\\WINDOWS\\system32>\"c:\\Program Files\\Python310\\python.exe\"\r\nPython 3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] on win32\r\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n>>> quit()\r\n\r\nC:\\WINDOWS\\system32>cd C:\\Users\\swood\\Downloads\\sqlite-utils-main-20220621\\sqlite-utils-main\r\n\r\nC:\\Users\\swood\\Downloads\\sqlite-utils-main-20220621\\sqlite-utils-main>\"c:\\Program Files\\Python310\\python.exe\" setup.py install\r\nrunning install\r\nrunning bdist_egg\r\nrunning egg_info\r\n\r\n...\r\n\r\nInstalled c:\\program files\\python310\\lib\\site-packages\\click_default_group_wheel-1.2.2-py3.10.egg\r\nSearching for click\r\nDownloading https://files.pythonhosted.org/packages/3d/da/f3bbf30f7e71d881585d598f67f4424b2cc4c68f39849542e81183218017/click-default-group-wheel-1.2.2.tar.gz#sha256=e90da42d92c03e88a12ed0c0b69c8a29afb5d36e3dc8d29c423ba4219e6d7747\r\nBest match: click default-group-wheel-1.2.2\r\nProcessing click-default-group-wheel-1.2.2.tar.gz\r\nWriting C:\\Users\\swood\\AppData\\Local\\Temp\\easy_install-aiaj0_eh\\click-default-group-wheel-1.2.2\\setup.cfg\r\nRunning click-default-group-wheel-1.2.2\\setup.py -q bdist_egg --dist-dir C:\\Users\\swood\\AppData\\Local\\Temp\\easy_install-aiaj0_eh\\click-default-group-wheel-1.2.2\\egg-dist-tmp-z61a4h8n\r\nzip_safe flag not set; analyzing archive contents...\r\nremoving 'c:\\program files\\python310\\lib\\site-packages\\click_default_group_wheel-1.2.2-py3.10.egg' (and everything under it)\r\nCopying click_default_group_wheel-1.2.2-py3.10.egg to c:\\program files\\python310\\lib\\site-packages\r\nclick-default-group-wheel 1.2.2 is already the active version in easy-install.pth\r\n\r\nInstalled c:\\program files\\python310\\lib\\site-packages\\click_default_group_wheel-1.2.2-py3.10.egg\r\nerror: The 'click' distribution was not found and is required by click-default-group-wheel, sqlite-utils\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1279144769, "label": "Reading rows from a file => AttributeError: '_io.StringIO' object has no attribute 'readinto'"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1759#issuecomment-1160717784", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1759", "id": 1160717784, "node_id": "IC_kwDOBm6k_c5FLyXY", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-06-20T18:04:46Z", "updated_at": "2022-06-20T18:04:46Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1759?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1759](https://codecov.io/gh/simonw/datasette/pull/1759?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (b901bb0) into [main](https://codecov.io/gh/simonw/datasette/commit/2e9751672d4fe329b3c359d5b7b1992283185820?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (2e97516) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1759 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4658 \n=======================================\n Hits 4270 4270 \n Misses 388 388 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1759?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1759?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [2e97516...b901bb0](https://codecov.io/gh/simonw/datasette/pull/1759?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1275523220, "label": "Extract facet portions of table.html out into included templates"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/441#issuecomment-1155515426", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/441", "id": 1155515426, "node_id": "IC_kwDOCGYnMM5E38Qi", "user": {"value": 1448859, "label": "betatim"}, "created_at": "2022-06-14T17:53:43Z", "updated_at": "2022-06-14T17:53:43Z", "author_association": "NONE", "body": "That would be handy (additional where filters) but I think the trick with the `with` statement is already an order of magnitude better than what I had thought of, so my problem is solved by it (plus I got to learn about `with` today!)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1257724585, "label": "Combining `rows_where()` and `search()` to limit which rows are searched"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1753#issuecomment-1147435032", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1753", "id": 1147435032, "node_id": "IC_kwDOBm6k_c5EZHgY", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-06-06T13:15:11Z", "updated_at": "2022-06-06T13:15:11Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1753?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1753](https://codecov.io/gh/simonw/datasette/pull/1753?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (23a8515) into [main](https://codecov.io/gh/simonw/datasette/commit/2e9751672d4fe329b3c359d5b7b1992283185820?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (2e97516) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1753 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4658 \n=======================================\n Hits 4270 4270 \n Misses 388 388 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1753?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1753?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [2e97516...23a8515](https://codecov.io/gh/simonw/datasette/pull/1753?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1261826957, "label": "Bump furo from 2022.4.7 to 2022.6.4.1"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/26#issuecomment-1141711418", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/26", "id": 1141711418, "node_id": "IC_kwDOCGYnMM5EDSI6", "user": {"value": 19304, "label": "nileshtrivedi"}, "created_at": "2022-05-31T06:21:15Z", "updated_at": "2022-05-31T06:21:15Z", "author_association": "NONE", "body": "I ran into this. My use case has a JSON file with array of `book` objects with a key called `reviews` which is also an array of objects. My JSON is human-edited and does not specify IDs for either books or reviews. Because sqlite-utils does not support inserting nested objects, I instead have to maintain two separate CSV files with `id` column in `books.csv` and `book_id` column in reviews.csv.\r\n\r\nI think the right way to declare the relationship while inserting a JSON might be to describe the relationship:\r\n\r\n`sqlite-utils insert data.db books mydata.json --hasmany reviews --hasone author --manytomany tags`\r\n\r\nThis is relying on the assumption that foreign keys can point to `rowid` primary key.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 455486286, "label": "Mechanism for turning nested JSON into foreign keys / many-to-many"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1751#issuecomment-1140321380", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1751", "id": 1140321380, "node_id": "IC_kwDOBm6k_c5D9-xk", "user": {"value": 408765, "label": "knutwannheden"}, "created_at": "2022-05-28T19:52:17Z", "updated_at": "2022-05-28T19:52:17Z", "author_association": "NONE", "body": "Closing in favor of existing issue #1298.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1251710928, "label": "Add scrollbars to table presentation in default layout"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/439#issuecomment-1139426398", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/439", "id": 1139426398, "node_id": "IC_kwDOCGYnMM5D6kRe", "user": {"value": 4068, "label": "frafra"}, "created_at": "2022-05-27T09:04:05Z", "updated_at": "2022-05-27T10:44:54Z", "author_association": "NONE", "body": "This code works:\r\n\r\n```python\r\nimport csv\r\nimport sqlite_utils\r\ndb = sqlite_utils.Database(\"test.db\")\r\nreader = csv.DictReader(open(\"csv\", encoding=\"utf-16-le\").read().split(\"\\r\\n\"), delimiter=\";\")\r\ndb[\"test\"].insert_all(reader, pk=\"Id\")\r\n```\r\n\r\nI used `iconv` to change the encoding; sqlite-utils can import the resulting file, even if it stops at 98 %:\r\n\r\n```\r\nsqlite-utils insert --csv test test.db clean \r\n [------------------------------------] 0%\r\n [###################################-] 98% 00:00:00\r\n```\r\n\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1250495688, "label": "Misleading progress bar against utf-16-le CSV input"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/433#issuecomment-1139484453", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/433", "id": 1139484453, "node_id": "IC_kwDOCGYnMM5D6ycl", "user": {"value": 4068, "label": "frafra"}, "created_at": "2022-05-27T10:20:08Z", "updated_at": "2022-05-27T10:20:08Z", "author_association": "NONE", "body": "I can confirm. This only happens with sqlite-utils. I am using gnome-terminal with bash.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1239034903, "label": "CLI eats my cursor"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/438#issuecomment-1139392769", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/438", "id": 1139392769, "node_id": "IC_kwDOCGYnMM5D6cEB", "user": {"value": 4068, "label": "frafra"}, "created_at": "2022-05-27T08:21:53Z", "updated_at": "2022-05-27T08:21:53Z", "author_association": "NONE", "body": "Argument were specified in the wrong order. `PATH TABLE FILE` can be misleading :)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1250161887, "label": "illegal UTF-16 surrogate"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/438#issuecomment-1139379923", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/438", "id": 1139379923, "node_id": "IC_kwDOCGYnMM5D6Y7T", "user": {"value": 4068, "label": "frafra"}, "created_at": "2022-05-27T08:05:01Z", "updated_at": "2022-05-27T08:05:01Z", "author_association": "NONE", "body": "I tried to debug it using `pdb`, but it looks `sqlite-utils` catches the exception, so it is not quick to figure out where the failure is happening.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1250161887, "label": "illegal UTF-16 surrogate"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1693#issuecomment-1081861670", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1693", "id": 1081861670, "node_id": "IC_kwDOBm6k_c5Ae-Ym", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-03-29T13:18:47Z", "updated_at": "2022-05-20T20:36:30Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1693?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1693](https://codecov.io/gh/simonw/datasette/pull/1693?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (65a5d5e) into [main](https://codecov.io/gh/simonw/datasette/commit/1465fea4798599eccfe7e8f012bd8d9adfac3039?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (1465fea) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n> :exclamation: Current head 65a5d5e differs from pull request most recent head ec2d1e4. Consider uploading reports for the commit ec2d1e4 to get more accurate results\n\n```diff\n@@ Coverage Diff @@\n## main #1693 +/- ##\n=======================================\n Coverage 91.67% 91.67% \n=======================================\n Files 36 36 \n Lines 4658 4658 \n=======================================\n Hits 4270 4270 \n Misses 388 388 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1693?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1693?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [1d33fd0...ec2d1e4](https://codecov.io/gh/simonw/datasette/pull/1693?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1184850337, "label": "Bump black from 22.1.0 to 22.3.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/425#issuecomment-1129332959", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/425", "id": 1129332959, "node_id": "IC_kwDOCGYnMM5DUEDf", "user": {"value": 102771161, "label": "McEazy2700"}, "created_at": "2022-05-17T21:27:02Z", "updated_at": "2022-05-17T21:27:02Z", "author_association": "NONE", "body": "Hi, I'm trying to deploy my site using elasticbeanstalk and I keep getting this same error :\r\ndeterministic=True requires SQLite 3.8.3 or higher\r\n\r\nI saw your previous solution that involves editing sqlite-utils/sqlite_utils/db.py file, but I'm curious as to how that will work in production.", "reactions": "{\"total_count\": 5, \"+1\": 5, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1203842656, "label": "`sqlite3.NotSupportedError`: deterministic=True requires SQLite 3.8.3 or higher"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/431#issuecomment-1126295407", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/431", "id": 1126295407, "node_id": "IC_kwDOCGYnMM5DIedv", "user": {"value": 738408, "label": "rafguns"}, "created_at": "2022-05-13T17:47:32Z", "updated_at": "2022-05-13T17:47:32Z", "author_association": "NONE", "body": "I'd be happy to write a PR for this, if you think it's worth having.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1227571375, "label": "Allow making m2m relation of a table to itself"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1298#issuecomment-1125083348", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1298", "id": 1125083348, "node_id": "IC_kwDOBm6k_c5DD2jU", "user": {"value": 7150, "label": "llimllib"}, "created_at": "2022-05-12T14:43:51Z", "updated_at": "2022-05-12T14:43:51Z", "author_association": "NONE", "body": "user report: I found this issue because the first time I tried to use datasette for real, I displayed a large table, and thought there was no horizontal scroll bar at all. I didn't even consider that I had to scroll all the way to the end of the page to find it.\r\n\r\nJust chipping in to say that this confused me, and I didn't even find the scroll bar until after I saw this issue. I don't know what the right answer is, but IMO the UI should suggest to the user that there is a way to view the data that's hidden to the right.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 855476501, "label": "improve table horizontal scroll experience"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/416#issuecomment-1116684581", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/416", "id": 1116684581, "node_id": "IC_kwDOCGYnMM5Cj0El", "user": {"value": 638427, "label": "mattkiefer"}, "created_at": "2022-05-03T21:36:49Z", "updated_at": "2022-05-03T21:36:49Z", "author_association": "NONE", "body": "Thanks for addressing this @simonw! However, I just reinstalled sqlite-utils 3.26.1 and get an `ParserError: Unknown string format: None`:\r\n```\r\nsqlite-utils --version\r\nsqlite-utils, version 3.26.1\r\n```\r\n```\r\nsqlite-utils convert idfpr.db license \"Original Issue Date\" \"r.parsedate(value)\"\r\nTraceback (most recent call last):\r\n File \"/home/matt/.local/lib/python3.9/site-packages/sqlite_utils/db.py\", line 2514, in convert_value\r\n return fn(v)\r\n File \"\", line 2, in fn\r\n File \"/home/matt/.local/lib/python3.9/site-packages/sqlite_utils/recipes.py\", line 19, in parsedate\r\n parser.parse(value, dayfirst=dayfirst, yearfirst=yearfirst)\r\n File \"/usr/lib/python3/dist-packages/dateutil/parser/_parser.py\", line 1374, in parse\r\n return DEFAULTPARSER.parse(timestr, **kwargs)\r\n File \"/usr/lib/python3/dist-packages/dateutil/parser/_parser.py\", line 649, in parse\r\n raise ParserError(\"Unknown string format: %s\", timestr)\r\ndateutil.parser._parser.ParserError: Unknown string format: None\r\nTraceback (most recent call last):\r\n File \"/home/matt/.local/bin/sqlite-utils\", line 8, in \r\n sys.exit(cli())\r\n File \"/usr/lib/python3/dist-packages/click/core.py\", line 829, in __call__\r\n return self.main(*args, **kwargs)\r\n File \"/usr/lib/python3/dist-packages/click/core.py\", line 782, in main\r\n rv = self.invoke(ctx)\r\n File \"/usr/lib/python3/dist-packages/click/core.py\", line 1259, in invoke\r\n return _process_result(sub_ctx.command.invoke(sub_ctx))\r\n File \"/usr/lib/python3/dist-packages/click/core.py\", line 1066, in invoke\r\n return ctx.invoke(self.callback, **ctx.params)\r\n File \"/usr/lib/python3/dist-packages/click/core.py\", line 610, in invoke\r\n return callback(*args, **kwargs)\r\n File \"/home/matt/.local/lib/python3.9/site-packages/sqlite_utils/cli.py\", line 2707, in convert\r\n db[table].convert(\r\n File \"/home/matt/.local/lib/python3.9/site-packages/sqlite_utils/db.py\", line 2530, in convert\r\n self.db.execute(sql, where_args or [])\r\n File \"/home/matt/.local/lib/python3.9/site-packages/sqlite_utils/db.py\", line 463, in execute\r\n return self.conn.execute(sql, parameters)\r\nsqlite3.OperationalError: user-defined function raised exception\r\n```\r\nI definitely have some invalid data in the db. Happy to send a copy if it's helpful.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1173023272, "label": "Options for how `r.parsedate()` should handle invalid dates"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/430#issuecomment-1116336340", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/430", "id": 1116336340, "node_id": "IC_kwDOCGYnMM5CifDU", "user": {"value": 9308268, "label": "rayvoelker"}, "created_at": "2022-05-03T17:03:31Z", "updated_at": "2022-05-03T17:03:31Z", "author_association": "NONE", "body": "So, the good news is that it appears that setting one of those PRAGMA statements fixed the issue of `table.extract()` method call on this large database completing (that I described above.) The bad news is that I'm not sure which one!\r\n\r\nI wonder if it's something system / environment specific about SQLite, or maybe something else going on.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1224112817, "label": "Document how to use `PRAGMA temp_store` to avoid errors when running VACUUM against huge databases"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1732#issuecomment-1115542067", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1732", "id": 1115542067, "node_id": "IC_kwDOBm6k_c5CfdIz", "user": {"value": 52649, "label": "tannewt"}, "created_at": "2022-05-03T01:50:44Z", "updated_at": "2022-05-03T01:50:44Z", "author_association": "NONE", "body": "I haven\u2019t set one up unfortunately. My time is very limited because we just had a baby. \n\nOn Mon, May 2, 2022, at 6:42 PM, Simon Willison wrote:\n> \n> \n> Thanks, this definitely sounds like a bug. Do you have simple steps to reproduce this?\n> \n> \n> \u2014\n> Reply to this email directly, view it on GitHub , or unsubscribe .\n> You are receiving this because you authored the thread.Message ID: ***@***.***>\n> \n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1221849746, "label": "Custom page variables aren't decoded"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1479#issuecomment-1114601882", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1479", "id": 1114601882, "node_id": "IC_kwDOBm6k_c5Cb3ma", "user": {"value": 32839123, "label": "Rik-de-Kort"}, "created_at": "2022-05-02T08:10:27Z", "updated_at": "2022-05-02T11:54:49Z", "author_association": "NONE", "body": "Also ran into this issue today using `datasette package`. The stack trace takes up my whole PowerShell history, though (recursionerror), but it also concerns the temporary directory.\r\nOur development machines have a very zealous scanner that appears to insert itself between every call to the filesystem. I suspected that was causing some racing, but this turned out not to be the case: inserting `time.sleep(3)` on line 451 of `datasette/datasette/utils/__init__.py` does not make the problem go away. Commenting out the `tmp.cleanup()` line does.\r\n\r\nThe next error I get is docker-specific, so that probably does resolve the Datasette error here.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1010112818, "label": "Win32 \"used by another process\" error with datasette publish"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1633#issuecomment-1111955628", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1633", "id": 1111955628, "node_id": "IC_kwDOBm6k_c5CRxis", "user": {"value": 6613091, "label": "henrikek"}, "created_at": "2022-04-28T09:12:56Z", "updated_at": "2022-04-28T09:12:56Z", "author_association": "NONE", "body": "I have verified that the problem with base_url still exists in the latest version 0.61.1. I would need some guidance if my code change suggestion is correct or if base_url should be included in some other code?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1129052172, "label": "base_url or prefix does not work with _exact match"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/159#issuecomment-1111506339", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/159", "id": 1111506339, "node_id": "IC_kwDOCGYnMM5CQD2j", "user": {"value": 154364, "label": "dracos"}, "created_at": "2022-04-27T21:35:13Z", "updated_at": "2022-04-27T21:35:13Z", "author_association": "NONE", "body": "Just stumbled across this, wondering why none of my deletes were working.", "reactions": "{\"total_count\": 2, \"+1\": 2, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 702386948, "label": ".delete_where() does not auto-commit (unlike .insert() or .upsert())"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1727#issuecomment-1111451790", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1727", "id": 1111451790, "node_id": "IC_kwDOBm6k_c5CP2iO", "user": {"value": 716529, "label": "glyph"}, "created_at": "2022-04-27T20:30:33Z", "updated_at": "2022-04-27T20:30:33Z", "author_association": "NONE", "body": "> I should try seeing what happens with WAL mode enabled.\r\n\r\nI've only skimmed above but it looks like you're doing mainly read-only queries? WAL mode is about better interactions between writers & readers, primarily.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1217759117, "label": "Research: demonstrate if parallel SQL queries are worthwhile"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1727#issuecomment-1111448928", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1727", "id": 1111448928, "node_id": "IC_kwDOBm6k_c5CP11g", "user": {"value": 716529, "label": "glyph"}, "created_at": "2022-04-27T20:27:05Z", "updated_at": "2022-04-27T20:27:05Z", "author_association": "NONE", "body": "You don't want to re-use an SQLite connection from multiple threads anyway: https://www.sqlite.org/threadsafe.html\r\n\r\nMultiple connections can operate on the file in parallel, but a single connection can't:\r\n\r\n> Multi-thread. In this mode, SQLite can be safely used by multiple threads **provided that no single database connection is used simultaneously in two or more threads**.\r\n\r\n(emphasis mine)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1217759117, "label": "Research: demonstrate if parallel SQL queries are worthwhile"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1717#issuecomment-1107459446", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1717", "id": 1107459446, "node_id": "IC_kwDOBm6k_c5CAn12", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-04-23T11:56:36Z", "updated_at": "2022-04-23T11:56:36Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1717?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1717](https://codecov.io/gh/simonw/datasette/pull/1717?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (9b9a314) into [main](https://codecov.io/gh/simonw/datasette/commit/d57c347f35bcd8cff15f913da851b4b8eb030867?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (d57c347) will **increase** coverage by `0.00%`.\n> The diff coverage is `100.00%`.\n\n```diff\n@@ Coverage Diff @@\n## main #1717 +/- ##\n=======================================\n Coverage 91.75% 91.75% \n=======================================\n Files 34 34 \n Lines 4574 4575 +1 \n=======================================\n+ Hits 4197 4198 +1 \n Misses 377 377 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1717?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/publish/cloudrun.py](https://codecov.io/gh/simonw/datasette/pull/1717/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3B1Ymxpc2gvY2xvdWRydW4ucHk=) | `97.05% <100.00%> (+0.04%)` | :arrow_up: |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1717?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1717?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [d57c347...9b9a314](https://codecov.io/gh/simonw/datasette/pull/1717?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1213281044, "label": "Add timeout option to Cloudrun build"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1574#issuecomment-1105464661", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1574", "id": 1105464661, "node_id": "IC_kwDOBm6k_c5B5A1V", "user": {"value": 208018, "label": "dholth"}, "created_at": "2022-04-21T16:51:24Z", "updated_at": "2022-04-21T16:51:24Z", "author_association": "NONE", "body": "tfw you have more ephemeral storage than upstream bandwidth\r\n\r\n```\r\nFROM python:3.10-slim AS base\r\n\r\nRUN apt update && apt -y install zstd\r\n\r\nENV DATASETTE_SECRET 'sosecret'\r\nRUN --mount=type=cache,target=/root/.cache/pip\r\n pip install -U datasette datasette-pretty-json datasette-graphql\r\n\r\nENV PORT 8080\r\nEXPOSE 8080\r\n\r\nFROM base AS pack\r\n\r\nCOPY . /app\r\nWORKDIR /app\r\n\r\nRUN datasette inspect --inspect-file inspect-data.json\r\nRUN zstd --rm *.db\r\n\r\nFROM base AS unpack\r\n\r\nCOPY --from=pack /app /app\r\nWORKDIR /app\r\n\r\nCMD [\"/bin/bash\", \"-c\", \"shopt -s nullglob && zstd --rm -d *.db.zst && datasette serve --host 0.0.0.0 --cors --inspect-file inspect-data.json --metadata metadata.json --create --port $PORT *.db\"]\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1084193403, "label": "introduce new option for datasette package to use a slim base image"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1159#issuecomment-1100243987", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1159", "id": 1100243987, "node_id": "IC_kwDOBm6k_c5BlGQT", "user": {"value": 552629, "label": "lovasoa"}, "created_at": "2022-04-15T17:24:43Z", "updated_at": "2022-04-15T17:24:43Z", "author_association": "NONE", "body": "@simonw : do you think this could be merged ?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 774332247, "label": "Improve the display of facets information"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1713#issuecomment-1099443468", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1713", "id": 1099443468, "node_id": "IC_kwDOBm6k_c5BiC0M", "user": {"value": 9308268, "label": "rayvoelker"}, "created_at": "2022-04-14T17:26:27Z", "updated_at": "2022-04-14T17:26:27Z", "author_association": "NONE", "body": "What would be an awesome feature as a plugin would be to be able to save a query (and possibly even results) to a github gist. Being able to share results that way would be super fantastic. Possibly even in Jupyter Notebook format (since github and github gists nicely render those)! \r\n\r\nI know there's the handy datasette-saved-queries plugin, but a button that could export stuff out and then even possibly import stuff back in (I'm sort of thinking the way that Google Colab allows you to save to github, and then pull the notebook back in is a really great workflow \r\n![image](https://user-images.githubusercontent.com/9308268/163441612-9ad2649f-c73e-4557-aaf2-e3d0fdc48fbf.png)\r\nhttps://github.com/cincinnatilibrary/collection-analysis/blob/master/reports/colab_datasette_example.ipynb )", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1203943272, "label": "Datasette feature for publishing snapshots of query results"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1703#issuecomment-1092850719", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1703", "id": 1092850719, "node_id": "IC_kwDOBm6k_c5BI5Qf", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-04-08T13:18:04Z", "updated_at": "2022-04-08T13:18:04Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1703?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1703](https://codecov.io/gh/simonw/datasette/pull/1703?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (73aabe6) into [main](https://codecov.io/gh/simonw/datasette/commit/90d1be9952db9aaddc21a536e4d00a8de44765d7?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (90d1be9) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1703 +/- ##\n=======================================\n Coverage 91.75% 91.75% \n=======================================\n Files 34 34 \n Lines 4573 4573 \n=======================================\n Hits 4196 4196 \n Misses 377 377 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1703?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1703?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [90d1be9...73aabe6](https://codecov.io/gh/simonw/datasette/pull/1703?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1197298420, "label": "Update beautifulsoup4 requirement from <4.11.0,>=4.8.1 to >=4.8.1,<4.12.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1574#issuecomment-1084216224", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1574", "id": 1084216224, "node_id": "IC_kwDOBm6k_c5An9Og", "user": {"value": 33631, "label": "fs111"}, "created_at": "2022-03-31T07:45:25Z", "updated_at": "2022-03-31T07:45:25Z", "author_association": "NONE", "body": "@simonw I like that you want to go \"slim by default\". Do you want another PR for that or should I just wait?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1084193403, "label": "introduce new option for datasette package to use a slim base image"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/420#issuecomment-1082476727", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/420", "id": 1082476727, "node_id": "IC_kwDOCGYnMM5AhUi3", "user": {"value": 770231, "label": "strada"}, "created_at": "2022-03-29T23:52:38Z", "updated_at": "2022-03-29T23:52:38Z", "author_association": "NONE", "body": "@simonw Thanks for looking into it and documenting the solution!\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1178546862, "label": "Document how to use a `--convert` function that runs initialization code first"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1694#issuecomment-1081860312", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1694", "id": 1081860312, "node_id": "IC_kwDOBm6k_c5Ae-DY", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-03-29T13:17:30Z", "updated_at": "2022-03-29T13:17:30Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1694?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1694](https://codecov.io/gh/simonw/datasette/pull/1694?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (83ff967) into [main](https://codecov.io/gh/simonw/datasette/commit/e73fa72917ca28c152208d62d07a490c81cadf52?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (e73fa72) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1694 +/- ##\n=======================================\n Coverage 91.74% 91.74% \n=======================================\n Files 34 34 \n Lines 4565 4565 \n=======================================\n Hits 4188 4188 \n Misses 377 377 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1694?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1694?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [e73fa72...83ff967](https://codecov.io/gh/simonw/datasette/pull/1694?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1184850675, "label": "Update click requirement from <8.1.0,>=7.1.1 to >=7.1.1,<8.2.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/421#issuecomment-1081079506", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/421", "id": 1081079506, "node_id": "IC_kwDOCGYnMM5Ab_bS", "user": {"value": 24938923, "label": "learning4life"}, "created_at": "2022-03-28T19:58:55Z", "updated_at": "2022-03-28T20:05:57Z", "author_association": "NONE", "body": "Sure, it is from the documentation example:\r\n[Extracting columns into a separate table](https://sqlite-utils.datasette.io/en/stable/cli.html#extracting-columns-into-a-separate-table)\r\n\r\n\r\n```\r\nwget \"https://github.com/wri/global-power-plant-database/blob/232a6666/output_database/global_power_plant_database.csv?raw=true\"\r\n\r\nsqlite-utils insert global.db power_plants \\\r\n 'global_power_plant_database.csv?raw=true' --csv\r\n# Extract those columns:\r\nsqlite-utils extract global.db power_plants country country_long \\\r\n --table countries \\\r\n --fk-column country_id \\\r\n --rename country_long name\r\n```\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1180427792, "label": "\"Error: near \"(\": syntax error\" when using sqlite-utils indexes CLI"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1685#issuecomment-1079018557", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1685", "id": 1079018557, "node_id": "IC_kwDOBm6k_c5AUIQ9", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-03-25T13:16:48Z", "updated_at": "2022-03-25T13:16:48Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1685?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#1685](https://codecov.io/gh/simonw/datasette/pull/1685?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (933ce47) into [main](https://codecov.io/gh/simonw/datasette/commit/c496f2b663ff0cef908ffaaa68b8cb63111fb5f2?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (c496f2b) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #1685 +/- ##\n=======================================\n Coverage 91.74% 91.74% \n=======================================\n Files 34 34 \n Lines 4565 4565 \n=======================================\n Hits 4188 4188 \n Misses 377 377 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1685?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1685?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [c496f2b...933ce47](https://codecov.io/gh/simonw/datasette/pull/1685?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1180778860, "label": "Update jinja2 requirement from <3.1.0,>=2.10.3 to >=2.10.3,<3.2.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/419#issuecomment-1076662556", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/419", "id": 1076662556, "node_id": "IC_kwDOCGYnMM5ALJEc", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-03-23T18:12:47Z", "updated_at": "2022-03-23T18:12:47Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/419?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\n> Merging [#419](https://codecov.io/gh/simonw/sqlite-utils/pull/419?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (228f736) into [main](https://codecov.io/gh/simonw/sqlite-utils/commit/93fa79d30b1531bea281d0eb6b925c4e61bc1aa6?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (93fa79d) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n```diff\n@@ Coverage Diff @@\n## main #419 +/- ##\n=======================================\n Coverage 96.55% 96.55% \n=======================================\n Files 6 6 \n Lines 2498 2498 \n=======================================\n Hits 2412 2412 \n Misses 86 86 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/419?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/sqlite-utils/pull/419?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [93fa79d...228f736](https://codecov.io/gh/simonw/sqlite-utils/pull/419?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1178484369, "label": "Ignore common generated files"}, "performed_via_github_app": null}