issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Show column metadata plus links for foreign keys on arbitrary query results 50
- Redesign default .json format 47
- JavaScript plugin hooks mechanism similar to pluggy 47
- Updated Dockerfile with SpatiaLite version 5.0 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- await datasette.client.get(path) mechanism for executing internal requests 33
- Maintain an in-memory SQLite table of connected databases and their tables 32
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Support cross-database joins 26
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- WIP: Add Gmail takeout mbox import 25
- Redesign register_output_renderer callback 24
- "datasette insert" command and plugin hook 23
- Datasette Plugins 22
- .json and .csv exports fail to apply base_url 22
- Idea: import CSV to memory, run SQL, export in a single command 22
- table.extract(...) method and "sqlite-utils extract" command 21
- Database page loads too slowly with many large tables (due to table counts) 21
- ?sort=colname~numeric to sort by by column cast to real 21
- Handle spatialite geometry columns better 20
- "flash messages" mechanism 20
- Move CI to GitHub Issues 20
- load_template hook doesn't work for include/extends 20
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
970553780 | https://github.com/simonw/datasette/issues/782#issuecomment-970553780 | https://api.github.com/repos/simonw/datasette/issues/782 | IC_kwDOBm6k_c452Xm0 | simonw 9599 | 2021-11-16T18:30:51Z | 2021-11-16T18:30:58Z | OWNER | OK, I'm ready to start working on this today. I'm going to go with a default representation that looks like this:
I'll implement |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
970544733 | https://github.com/simonw/datasette/issues/1509#issuecomment-970544733 | https://api.github.com/repos/simonw/datasette/issues/1509 | IC_kwDOBm6k_c452VZd | simonw 9599 | 2021-11-16T18:22:32Z | 2021-11-16T18:22:32Z | OWNER | This is mainly happening here: - https://github.com/simonw/datasette/issues/782 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette 1.0 JSON API (and documentation) 1054243511 | |
970266123 | https://github.com/simonw/datasette/issues/1012#issuecomment-970266123 | https://api.github.com/repos/simonw/datasette/issues/1012 | IC_kwDOBm6k_c451RYL | bollwyvl 45380 | 2021-11-16T13:18:36Z | 2021-11-16T13:18:36Z | CONTRIBUTOR | Congratulations, looks like it went through! There was a bit of a hold-up on the JupyterLab ones, but it's semi automated: a dependabot pr to warehouse and a CI deploy, with a click in between. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
For 1.0 update trove classifier in setup.py 718540751 | |
970188065 | https://github.com/simonw/datasette/issues/1505#issuecomment-970188065 | https://api.github.com/repos/simonw/datasette/issues/1505 | IC_kwDOBm6k_c450-Uh | Segerberg 7094907 | 2021-11-16T11:40:52Z | 2021-11-16T11:40:52Z | NONE | A suggestion is to have the option to choose an arbitrary delimiter (and quoting characters ) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette should have an option to output CSV with semicolons 1052247023 | |
969621662 | https://github.com/simonw/datasette/issues/448#issuecomment-969621662 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45y0Ce | simonw 9599 | 2021-11-16T01:32:04Z | 2021-11-16T01:32:04Z | OWNER | Tests are failing and I think it's because the facets come back in different orders, need a tie-breaker. https://github.com/simonw/datasette/runs/4219325197?check_suite_focus=true |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969616626 | https://github.com/simonw/datasette/issues/1176#issuecomment-969616626 | https://api.github.com/repos/simonw/datasette/issues/1176 | IC_kwDOBm6k_c45yyzy | simonw 9599 | 2021-11-16T01:29:13Z | 2021-11-16T01:29:13Z | OWNER | I'm inclined to create a Sphinx reference documentation page for this, as I did for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Policy on documenting "public" datasette.utils functions 779691739 | |
969613166 | https://github.com/simonw/datasette/issues/1012#issuecomment-969613166 | https://api.github.com/repos/simonw/datasette/issues/1012 | IC_kwDOBm6k_c45yx9u | simonw 9599 | 2021-11-16T01:27:25Z | 2021-11-16T01:27:25Z | OWNER | Requested here: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
For 1.0 update trove classifier in setup.py 718540751 | |
969602825 | https://github.com/simonw/datasette/issues/1012#issuecomment-969602825 | https://api.github.com/repos/simonw/datasette/issues/1012 | IC_kwDOBm6k_c45yvcJ | simonw 9599 | 2021-11-16T01:21:14Z | 2021-11-16T01:21:14Z | OWNER | I'd been wondering how to get new classifiers into Trove - thanks, I'll give this a go. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
For 1.0 update trove classifier in setup.py 718540751 | |
969600859 | https://github.com/simonw/datasette/issues/1511#issuecomment-969600859 | https://api.github.com/repos/simonw/datasette/issues/1511 | IC_kwDOBm6k_c45yu9b | simonw 9599 | 2021-11-16T01:20:13Z | 2021-11-16T01:20:13Z | OWNER | See: - #830 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Review plugin hooks for Datasette 1.0 1054246919 | |
969582098 | https://github.com/simonw/datasette/issues/448#issuecomment-969582098 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yqYS | simonw 9599 | 2021-11-16T01:10:28Z | 2021-11-16T01:10:28Z | OWNER | Also note that this demo data is using a SQL view to create the JSON arrays - the view is defined as such:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969578466 | https://github.com/simonw/datasette/issues/448#issuecomment-969578466 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45ypfi | simonw 9599 | 2021-11-16T01:08:29Z | 2021-11-16T01:08:29Z | OWNER | Actually with the cache warmed up it looks like the facet query is taking 150ms which is good enough. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969572281 | https://github.com/simonw/datasette/issues/448#issuecomment-969572281 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yn-5 | simonw 9599 | 2021-11-16T01:05:11Z | 2021-11-16T01:05:11Z | OWNER | I tried this and it seems to work correctly:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969557008 | https://github.com/simonw/datasette/issues/448#issuecomment-969557008 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45ykQQ | simonw 9599 | 2021-11-16T00:56:09Z | 2021-11-16T00:59:59Z | OWNER | This looks like it might work:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969557972 | https://github.com/simonw/datasette/issues/448#issuecomment-969557972 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45ykfU | simonw 9599 | 2021-11-16T00:56:58Z | 2021-11-16T00:56:58Z | OWNER | It uses a CTE which were introduced in SQLite 3.8 - and AWS Lambda Python 3.9 still provides 3.7 - but I've checked and I can use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969449772 | https://github.com/simonw/datasette/issues/448#issuecomment-969449772 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yKEs | simonw 9599 | 2021-11-15T23:48:37Z | 2021-11-15T23:48:37Z | OWNER | Given this query: https://json-view-facet-bug-demo-j7hipcg4aq-uc.a.run.app/russian-ads?sql=select%0D%0A++j.value+as+value%2C%0D%0A++count%28*%29+as+count%0D%0Afrom%0D%0A++%28%0D%0A++++select%0D%0A++++++id%2C%0D%0A++++++file%2C%0D%0A++++++clicks%2C%0D%0A++++++impressions%2C%0D%0A++++++text%2C%0D%0A++++++url%2C%0D%0A++++++spend_amount%2C%0D%0A++++++spend_currency%2C%0D%0A++++++created%2C%0D%0A++++++ended%2C%0D%0A++++++target_names%0D%0A++++from%0D%0A++++++ads_with_targets%0D%0A++++where%0D%0A++++++%3Ap0+in+%28%0D%0A++++++++select%0D%0A++++++++++value%0D%0A++++++++from%0D%0A++++++++++json_each%28%5Bads_with_targets%5D.%5Btarget_names%5D%29%0D%0A++++++%29%0D%0A++%29%0D%0A++join+json_each%28target_names%29+j%0D%0Agroup+by%0D%0A++j.value%0D%0Aorder+by%0D%0A++count+desc%2C%0D%0A++value%0D%0Alimit%0D%0A++31&p0=people_who_match%3Ainterests%3AAfrican-American+culture
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969446972 | https://github.com/simonw/datasette/issues/448#issuecomment-969446972 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yJY8 | simonw 9599 | 2021-11-15T23:46:13Z | 2021-11-15T23:46:13Z | OWNER | It looks like the problem here is that some of the tags occur more than once in the documents: So they get counted more than once, hence the 182 count for something that couldn't possibly return more than 172 documents. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969442215 | https://github.com/simonw/datasette/issues/448#issuecomment-969442215 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yIOn | simonw 9599 | 2021-11-15T23:42:03Z | 2021-11-15T23:42:03Z | OWNER | I think this code is wrong in the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969440918 | https://github.com/simonw/datasette/issues/448#issuecomment-969440918 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yH6W | simonw 9599 | 2021-11-15T23:40:17Z | 2021-11-15T23:40:35Z | OWNER | Applied that fix to the Should never get 182 results on a page that faceting against only 172 items. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969436930 | https://github.com/simonw/datasette/issues/448#issuecomment-969436930 | https://api.github.com/repos/simonw/datasette/issues/448 | IC_kwDOBm6k_c45yG8C | simonw 9599 | 2021-11-15T23:31:58Z | 2021-11-15T23:31:58Z | OWNER | I think this SQL recipe may work instead:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
_facet_array should work against views 440222719 | |
969433734 | https://github.com/simonw/datasette/issues/519#issuecomment-969433734 | https://api.github.com/repos/simonw/datasette/issues/519 | IC_kwDOBm6k_c45yGKG | simonw 9599 | 2021-11-15T23:26:11Z | 2021-11-15T23:26:11Z | OWNER | I'm happy with this as the goals for 1.0. I'm going to close this issue and create three tracking tickets for the three key themes: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Decide what goes into Datasette 1.0 459590021 | |
968904414 | https://github.com/simonw/datasette/pull/1508#issuecomment-968904414 | https://api.github.com/repos/simonw/datasette/issues/1508 | IC_kwDOBm6k_c45wE7e | codecov[bot] 22429695 | 2021-11-15T13:20:49Z | 2021-11-15T13:20:49Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1508 +/-=======================================
Coverage 91.82% 91.82% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update docutils requirement from <0.18 to <0.19 1053655062 | |
968470212 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-968470212 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM45ua7E | simonw 9599 | 2021-11-15T02:49:28Z | 2021-11-15T02:49:28Z | OWNER | I was going to replace all of the I'll keep the This avoids the whole issue of needing to rewrite parameters, and solves the immediate problem which is consuming CSV files with bad column names. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
968458837 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-968458837 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM45uYJV | simonw 9599 | 2021-11-15T02:21:15Z | 2021-11-15T02:21:15Z | OWNER | I'm not going to implement a fix that rewrites the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
968453129 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-968453129 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM45uWwJ | simonw 9599 | 2021-11-15T02:07:46Z | 2021-11-15T02:07:46Z | OWNER | If I replace What should the following do?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
968451954 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-968451954 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM45uWdy | simonw 9599 | 2021-11-15T02:05:29Z | 2021-11-15T02:05:29Z | OWNER |
I'm not going to do this, it's unnecessary extra complexity and it means the function that fixes the column names needs to have access to the current |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
968450579 | https://github.com/simonw/sqlite-utils/issues/339#issuecomment-968450579 | https://api.github.com/repos/simonw/sqlite-utils/issues/339 | IC_kwDOCGYnMM45uWIT | simonw 9599 | 2021-11-15T02:02:34Z | 2021-11-15T02:02:34Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.lookup()` option to populate additional columns when creating a record 1053122092 | ||
968435041 | https://github.com/simonw/sqlite-utils/issues/339#issuecomment-968435041 | https://api.github.com/repos/simonw/sqlite-utils/issues/339 | IC_kwDOCGYnMM45uSVh | simonw 9599 | 2021-11-15T01:44:42Z | 2021-11-15T01:44:42Z | OWNER |
Maybe this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.lookup()` option to populate additional columns when creating a record 1053122092 | |
968434594 | https://github.com/simonw/sqlite-utils/issues/339#issuecomment-968434594 | https://api.github.com/repos/simonw/sqlite-utils/issues/339 | IC_kwDOCGYnMM45uSOi | simonw 9599 | 2021-11-15T01:43:10Z | 2021-11-15T01:43:10Z | OWNER | What should I call this parameter? Django has a similar feature where it calls them |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.lookup()` option to populate additional columns when creating a record 1053122092 | |
968434425 | https://github.com/simonw/sqlite-utils/issues/339#issuecomment-968434425 | https://api.github.com/repos/simonw/sqlite-utils/issues/339 | IC_kwDOCGYnMM45uSL5 | simonw 9599 | 2021-11-15T01:42:36Z | 2021-11-15T01:42:36Z | OWNER | Here's the current signature of I'm going to add a second positional argument which can provide a dictionary of column->value to use when creating the original table and populating the initial row. If the row already exists, those columns will be ignored entirely. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.lookup()` option to populate additional columns when creating a record 1053122092 | |
968401459 | https://github.com/simonw/sqlite-utils/pull/322#issuecomment-968401459 | https://api.github.com/repos/simonw/sqlite-utils/issues/322 | IC_kwDOCGYnMM45uKIz | simonw 9599 | 2021-11-15T00:26:42Z | 2021-11-15T00:26:42Z | OWNER | This relates to the fact that dictionaries, lists and tuples get special treatment and are converted to JSON strings, using this code: https://github.com/simonw/sqlite-utils/blob/e8d958109ee290cfa1b44ef7a39629bb50ab673e/sqlite_utils/db.py#L2937-L2947 So the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add dict type to be mapped as TEXT in sqllite 979612115 | |
968384988 | https://github.com/simonw/sqlite-utils/pull/324#issuecomment-968384988 | https://api.github.com/repos/simonw/sqlite-utils/issues/324 | IC_kwDOCGYnMM45uGHc | simonw 9599 | 2021-11-14T23:25:16Z | 2021-11-14T23:25:16Z | OWNER | Yes this was absolutely the intention! Thanks, I wonder how often I've made that mistake in other projects? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use python-dateutil package instead of dateutils 988013247 | |
968384005 | https://github.com/simonw/sqlite-utils/issues/331#issuecomment-968384005 | https://api.github.com/repos/simonw/sqlite-utils/issues/331 | IC_kwDOCGYnMM45uF4F | simonw 9599 | 2021-11-14T23:19:29Z | 2021-11-14T23:20:32Z | OWNER | Tested it like this, against a freshly built My if name == "main":
db = sqlite_utils.Database(memory=True)
table = cast(sqlite_utils.db.Table, db["foo"])
table.insert({"id": 5})
print(list(db.query("select * from foo")))
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mypy error: found module but no type hints or library stubs 1026794056 | |
968381939 | https://github.com/simonw/sqlite-utils/issues/331#issuecomment-968381939 | https://api.github.com/repos/simonw/sqlite-utils/issues/331 | IC_kwDOCGYnMM45uFXz | simonw 9599 | 2021-11-14T23:06:20Z | 2021-11-14T23:06:20Z | OWNER | Thanks - I didn't know this was needed! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mypy error: found module but no type hints or library stubs 1026794056 | |
968380675 | https://github.com/simonw/sqlite-utils/issues/332#issuecomment-968380675 | https://api.github.com/repos/simonw/sqlite-utils/issues/332 | IC_kwDOCGYnMM45uFED | simonw 9599 | 2021-11-14T22:57:56Z | 2021-11-14T22:57:56Z | OWNER | This is a great idea. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`sqlite-utils memory --flatten` option to flatten nested JSON 1028056713 | |
968380387 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968380387 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uE_j | simonw 9599 | 2021-11-14T22:55:56Z | 2021-11-14T22:55:56Z | OWNER | OK, this should fix it. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968371112 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968371112 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uCuo | simonw 9599 | 2021-11-14T21:57:43Z | 2021-11-14T22:21:31Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968361671 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968361671 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAbH | simonw 9599 | 2021-11-14T20:54:53Z | 2021-11-14T21:01:14Z | OWNER | I'm leaning towards Or "ignore" sounds like it might not create the index if the name exists, but we want to still create the index but pick a new name. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968362285 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968362285 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAkt | simonw 9599 | 2021-11-14T20:59:44Z | 2021-11-14T20:59:44Z | OWNER | I think I'll attempt to create the index and re-try if it fails with that error. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968362214 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968362214 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAjm | simonw 9599 | 2021-11-14T20:59:15Z | 2021-11-14T20:59:15Z | OWNER | How to figure out if an index name is already in use?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968361409 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968361409 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAXB | simonw 9599 | 2021-11-14T20:52:55Z | 2021-11-14T20:52:55Z | OWNER | Looking at the method signature: https://github.com/simonw/sqlite-utils/blob/92aa5c9c5d26b0889c8c3d97c76a908d5f8af211/sqlite_utils/db.py#L1518-L1524
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968361285 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968361285 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAVF | simonw 9599 | 2021-11-14T20:51:57Z | 2021-11-14T20:51:57Z | OWNER | SQLite will happily create multiple identical indexes on a table, using more disk space each time: ```pycon <Table t (id)> # dupes.db is 98304 bytes >>> db["t"].create_index(["id"]) <Table t (id)> # dupes.db is 204800 bytes >>> db["t"].indexes [Index(seq=0, name='idx_t_id', unique=0, origin='c', partial=0, columns=['id'])] >>> db["t"].create_index(["id"], index_name="t_idx_t_id_2") <Table t (id)> # 311296 bytes >>> db["t"].create_index(["id"], index_name="t_idx_t_id_3") <Table t (id)> # 417792 bytes >>> db.vacuum() # Still 417792 bytes ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968360538 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968360538 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAJa | simonw 9599 | 2021-11-14T20:46:56Z | 2021-11-14T20:46:56Z | OWNER | I'm tempted to not provide an opt-out option either: if you call But... it feels wasteful to create an index that exactly duplicates an existing index. Would SQLite even let you do that or would it notice and NOT double the amount of disk space used for that index? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968360387 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968360387 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45uAHD | simonw 9599 | 2021-11-14T20:45:44Z | 2021-11-14T20:45:44Z | OWNER | What would such an option be called? Some options:
If the user doesn't pass in an explicit name it seems like their intent is "just create me the index, I don't care what name you use" - so actually perhaps the default behaviour here should be to pick a new unique name if that name is already in use. Then maybe there should be an option to disable that - some options there:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968359868 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968359868 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45t_-8 | simonw 9599 | 2021-11-14T20:41:42Z | 2021-11-14T20:41:42Z | OWNER | The "index idx_generators_eia860_report_date already exists" error suggests that the problem here is actually one of an index name collision.
So perhaps |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968359137 | https://github.com/simonw/sqlite-utils/issues/335#issuecomment-968359137 | https://api.github.com/repos/simonw/sqlite-utils/issues/335 | IC_kwDOCGYnMM45t_zh | simonw 9599 | 2021-11-14T20:37:00Z | 2021-11-14T20:37:00Z | OWNER | This is strange - the code already checks that an index doesn't exist before attempting to create it: https://github.com/simonw/sqlite-utils/blob/92aa5c9c5d26b0889c8c3d97c76a908d5f8af211/sqlite_utils/db.py#L893-L902 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils index-foreign-keys fails due to pre-existing index 1042569687 | |
968210842 | https://github.com/simonw/datasette/issues/1507#issuecomment-968210842 | https://api.github.com/repos/simonw/datasette/issues/1507 | IC_kwDOBm6k_c45tbma | simonw 9599 | 2021-11-14T05:41:55Z | 2021-11-14T05:41:55Z | OWNER | Here's the build with that fix: https://readthedocs.org/projects/datasette/builds/15268498/ It passed and published the docs: https://docs.datasette.io/en/latest/changelog.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
ReadTheDocs build failed for 0.59.2 release 1052851176 | |
968210222 | https://github.com/simonw/datasette/issues/1507#issuecomment-968210222 | https://api.github.com/repos/simonw/datasette/issues/1507 | IC_kwDOBm6k_c45tbcu | simonw 9599 | 2021-11-14T05:34:14Z | 2021-11-14T05:34:14Z | OWNER | Here's the new build using Python 3: https://readthedocs.org/projects/datasette/builds/15268482/ It's still broken. Here's one of many issue threads about it, this one has a workaround fix: https://github.com/readthedocs/readthedocs.org/issues/8616#issuecomment-952034858
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
ReadTheDocs build failed for 0.59.2 release 1052851176 | |
968209957 | https://github.com/simonw/datasette/issues/1507#issuecomment-968209957 | https://api.github.com/repos/simonw/datasette/issues/1507 | IC_kwDOBm6k_c45tbYl | simonw 9599 | 2021-11-14T05:31:07Z | 2021-11-14T05:31:07Z | OWNER | Looks like ReadTheDocs builds started failing for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
ReadTheDocs build failed for 0.59.2 release 1052851176 | |
968209731 | https://github.com/simonw/datasette/issues/1507#issuecomment-968209731 | https://api.github.com/repos/simonw/datasette/issues/1507 | IC_kwDOBm6k_c45tbVD | simonw 9599 | 2021-11-14T05:28:41Z | 2021-11-14T05:28:41Z | OWNER | I will try adding a This might work: ``` version: 2 build: os: ubuntu-20.04 tools: python: "3.9" sphinx: configuration: docs/conf.py ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
ReadTheDocs build failed for 0.59.2 release 1052851176 | |
968209616 | https://github.com/simonw/datasette/issues/1507#issuecomment-968209616 | https://api.github.com/repos/simonw/datasette/issues/1507 | IC_kwDOBm6k_c45tbTQ | simonw 9599 | 2021-11-14T05:27:22Z | 2021-11-14T05:27:22Z | OWNER | https://blog.readthedocs.com/default-python-3/ they started defaulting new projects to Python 3 back in Feb 2019 but clearly my project was created before then. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
ReadTheDocs build failed for 0.59.2 release 1052851176 | |
968209560 | https://github.com/simonw/datasette/issues/1507#issuecomment-968209560 | https://api.github.com/repos/simonw/datasette/issues/1507 | IC_kwDOBm6k_c45tbSY | simonw 9599 | 2021-11-14T05:26:36Z | 2021-11-14T05:26:36Z | OWNER | It looks like my builds there still run on Python 2!
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
ReadTheDocs build failed for 0.59.2 release 1052851176 | |
968207906 | https://github.com/simonw/datasette/issues/1503#issuecomment-968207906 | https://api.github.com/repos/simonw/datasette/issues/1503 | IC_kwDOBm6k_c45ta4i | simonw 9599 | 2021-11-14T05:08:26Z | 2021-11-14T05:08:26Z | OWNER | Error: ``` def test_table_html_filter_form_column_options( path, expected_column_options, app_client ): response = app_client.get(path) assert response.status == 200 form = Soup(response.body, "html.parser").find("form") column_options = [ o.attrs.get("value") or o.string for o in form.select("select[name=_filter_column] option") ]
My solution: start with the query columns, but then add any table columns that were not already returned by the query to the end of the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`?_nocol=` removes that column from the filter interface 1050163432 | |
968192980 | https://github.com/simonw/datasette/issues/1506#issuecomment-968192980 | https://api.github.com/repos/simonw/datasette/issues/1506 | IC_kwDOBm6k_c45tXPU | simonw 9599 | 2021-11-14T02:22:40Z | 2021-11-14T02:22:40Z | OWNER | I think the answer is to spot this case and link to
So maybe the facet selection rendering logic needs to spot this and link correctly to it? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Columns beginning with an underscore do not facet correctly 1052826038 | |
967801997 | https://github.com/simonw/datasette/issues/1380#issuecomment-967801997 | https://api.github.com/repos/simonw/datasette/issues/1380 | IC_kwDOBm6k_c45r3yN | Segerberg 7094907 | 2021-11-13T08:05:37Z | 2021-11-13T08:09:11Z | NONE | @glasnt yeah I guess that could be an option. I run datasette on large databases > 75gb and the startup time is a bit slow for me even with -i --inspect-file options. Here's a quick sketch for a plugin that will reload db's in a folder that you set for the plugin in metadata.json. If you request /-reload-db new db's will be added. (You probably want to implement some authentication for this =) ) https://gist.github.com/Segerberg/b96a0e0a5389dce2396497323cda7042 |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Serve all db files in a folder 924748955 | |
967747190 | https://github.com/simonw/datasette/issues/1380#issuecomment-967747190 | https://api.github.com/repos/simonw/datasette/issues/1380 | IC_kwDOBm6k_c45rqZ2 | glasnt 813732 | 2021-11-13T00:47:26Z | 2021-11-13T00:47:26Z | CONTRIBUTOR | Would it make sense to run datasette with a fswatch/inotifywait on a folder, then? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Serve all db files in a folder 924748955 | |
967181828 | https://github.com/simonw/datasette/issues/1380#issuecomment-967181828 | https://api.github.com/repos/simonw/datasette/issues/1380 | IC_kwDOBm6k_c45pgYE | Segerberg 7094907 | 2021-11-12T15:00:18Z | 2021-11-12T20:02:29Z | NONE | There is no such option see https://github.com/simonw/datasette/issues/43. But you could write a plugin using the datasette.add_database(db, name=None) https://docs.datasette.io/en/stable/internals.html#add-database-db-name-none |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Serve all db files in a folder 924748955 | |
964205475 | https://github.com/simonw/sqlite-utils/issues/26#issuecomment-964205475 | https://api.github.com/repos/simonw/sqlite-utils/issues/26 | IC_kwDOCGYnMM45eJuj | fgregg 536941 | 2021-11-09T14:31:29Z | 2021-11-09T14:31:29Z | CONTRIBUTOR | i was just reaching for a tool to do this this morning |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for turning nested JSON into foreign keys / many-to-many 455486286 | |
962411119 | https://github.com/simonw/sqlite-utils/issues/336#issuecomment-962411119 | https://api.github.com/repos/simonw/sqlite-utils/issues/336 | IC_kwDOCGYnMM45XTpv | simonw 9599 | 2021-11-06T07:21:04Z | 2021-11-06T07:21:04Z | OWNER | I've never used |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-util tranform --column-order mangles columns of type "timestamp" 1044267332 | |
962259527 | https://github.com/simonw/sqlite-utils/pull/337#issuecomment-962259527 | https://api.github.com/repos/simonw/sqlite-utils/issues/337 | IC_kwDOCGYnMM45WupH | urbas 771193 | 2021-11-05T22:33:02Z | 2021-11-05T22:33:02Z | NONE | Smokes, it looks like there was a bug in click 8.0.2 (fixed in 8.0.3: https://github.com/pallets/click/issues/2089). Meaning this PR is not needed. Closing. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default values for `--attach` and `--param` options 1046271107 | |
851567204 | https://github.com/simonw/datasette/issues/1284#issuecomment-851567204 | https://api.github.com/repos/simonw/datasette/issues/1284 | MDEyOklzc3VlQ29tbWVudDg1MTU2NzIwNA== | mroswell 192568 | 2021-05-31T15:42:10Z | 2021-11-04T03:15:01Z | CONTRIBUTOR | I very much want to make: https://list.SaferDisinfectants.org/disinfectants/listN have this URL: https://list.SaferDisinfectants.org/ I'm using only one table page on the site, with no pagination. I'm not using the home page, though when I tried to move my table to the home page as mentioned above, I failed to figure out how. I am using cloudflare, but I haven't figured out a forwarding or HTML re-write method of doing this, either. Is there any way I can get a prettier list URL? I'm on Vercel. (I have a wordpress site on the main domain on a separate host.) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Feature or Documentation Request: Individual table as home page template 845794436 | |
960420237 | https://github.com/simonw/datasette/pull/1495#issuecomment-960420237 | https://api.github.com/repos/simonw/datasette/issues/1495 | IC_kwDOBm6k_c45PtmN | mroswell 192568 | 2021-11-04T03:12:01Z | 2021-11-04T03:12:01Z | CONTRIBUTOR | This all looks promising! I will need detailed documentation on how to upgrade datasette once it's available, and how to implement. (@fgregg example looks very straightforward on the plugin front.) I'll be so excited if I can get: https://list.saferdisinfectants.org/ instead of https://list.saferdisinfectants.org/disinfectants/listN |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow routes to have extra options 1033678984 | |
960295228 | https://github.com/simonw/sqlite-utils/issues/239#issuecomment-960295228 | https://api.github.com/repos/simonw/sqlite-utils/issues/239 | IC_kwDOCGYnMM45PPE8 | tmaier 350038 | 2021-11-03T23:35:37Z | 2021-11-03T23:36:50Z | NONE | I think I only wonder how I would parse the JSON My naive approach would have been |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils extract could handle nested objects 816526538 | |
960292442 | https://github.com/simonw/sqlite-utils/issues/239#issuecomment-960292442 | https://api.github.com/repos/simonw/sqlite-utils/issues/239 | IC_kwDOCGYnMM45POZa | tmaier 350038 | 2021-11-03T23:28:55Z | 2021-11-03T23:28:55Z | NONE | I am super interested in this feature. After reading the other issues you referenced, I think the right way would be to use the current extract feature and then to use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils extract could handle nested objects 816526538 | |
956225475 | https://github.com/simonw/datasette/pull/1500#issuecomment-956225475 | https://api.github.com/repos/simonw/datasette/issues/1500 | IC_kwDOBm6k_c44_tfD | codecov[bot] 22429695 | 2021-11-01T13:16:36Z | 2021-11-01T13:16:36Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1500 +/-=======================================
Coverage 91.82% 91.82% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 21.9b0 to 21.10b0 1041158024 | |
956041692 | https://github.com/simonw/sqlite-utils/issues/173#issuecomment-956041692 | https://api.github.com/repos/simonw/sqlite-utils/issues/173 | IC_kwDOCGYnMM44_Anc | Florents-Tselai 2118708 | 2021-11-01T08:42:24Z | 2021-11-01T08:42:24Z | NONE |
I was thinking about this, while inserting a stream of ~40M line-delimited json docs. Wouldn't a That's how tqdm does it |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Progress bar for sqlite-utils insert 707478649 | |
955384545 | https://github.com/simonw/datasette/issues/1253#issuecomment-955384545 | https://api.github.com/repos/simonw/datasette/issues/1253 | IC_kwDOBm6k_c448gLh | dufferzafar 1449512 | 2021-10-30T16:00:42Z | 2021-10-30T16:00:42Z | NONE | Yeah, I was pressing Ctrl + Enter as well. Came here to open this issue and found out Shift + Enter works. @simonw Any way to configure this? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Capture "Ctrl + Enter" or "⌘ + Enter" to send SQL query? 826064552 | |
955370190 | https://github.com/simonw/sqlite-utils/issues/206#issuecomment-955370190 | https://api.github.com/repos/simonw/sqlite-utils/issues/206 | IC_kwDOCGYnMM448crO | dufferzafar 1449512 | 2021-10-30T15:52:16Z | 2021-10-30T15:52:16Z | NONE | @simonw That was working fine. It turned out that I had to use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils should suggest --csv if JSON parsing fails 761915790 | |
955367409 | https://github.com/simonw/sqlite-utils/issues/206#issuecomment-955367409 | https://api.github.com/repos/simonw/sqlite-utils/issues/206 | IC_kwDOCGYnMM448b_x | simonw 9599 | 2021-10-30T15:50:39Z | 2021-10-30T15:50:39Z | OWNER | What's the error message? Sometimes I pipe JSON through
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils should suggest --csv if JSON parsing fails 761915790 | |
955365098 | https://github.com/simonw/sqlite-utils/issues/206#issuecomment-955365098 | https://api.github.com/repos/simonw/sqlite-utils/issues/206 | IC_kwDOCGYnMM448bbq | dufferzafar 1449512 | 2021-10-30T15:49:19Z | 2021-10-30T15:49:19Z | NONE | @simonw Hey! JSON parsing for me is failing and I'm getting this same error, but I feel that my json is correct. How can I debug this? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils should suggest --csv if JSON parsing fails 761915790 | |
954384496 | https://github.com/simonw/datasette/pull/1495#issuecomment-954384496 | https://api.github.com/repos/simonw/datasette/issues/1495 | IC_kwDOBm6k_c444sBw | fgregg 536941 | 2021-10-29T03:07:13Z | 2021-10-29T03:07:13Z | CONTRIBUTOR | okay @simonw, made the requested changes. tests are running locally. i think this is ready for you to look at again. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow routes to have extra options 1033678984 | |
954303095 | https://github.com/simonw/sqlite-utils/issues/248#issuecomment-954303095 | https://api.github.com/repos/simonw/sqlite-utils/issues/248 | IC_kwDOCGYnMM444YJ3 | Florents-Tselai 2118708 | 2021-10-28T23:46:47Z | 2021-10-28T23:46:47Z | NONE | @mhalle maybe you can try out #333 ? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
support for Apache Arrow / parquet files I/O 836829560 | |
953911245 | https://github.com/simonw/sqlite-utils/issues/242#issuecomment-953911245 | https://api.github.com/repos/simonw/sqlite-utils/issues/242 | IC_kwDOCGYnMM4424fN | eyeseast 25778 | 2021-10-28T14:37:55Z | 2021-10-28T14:37:55Z | CONTRIBUTOR | I've been thinking about this a bit lately, doing a project that involves moving a lot of data in and out of SQLite files, datasette and GeoJSON. This has me leaning toward the idea that something like I know there's a lot of overlap in sqlite-utils and datasette, and maybe keeping sqlite-utils synchronous would let datasette be entirely async and give a cleaner separation of implementations. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Async support 817989436 | |
953508979 | https://github.com/simonw/datasette/issues/1497#issuecomment-953508979 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c441WRz | simonw 9599 | 2021-10-28T05:13:49Z | 2021-10-28T05:13:49Z | OWNER | Wrote about this in my weeknotes: https://simonwillison.net/2021/Oct/28/weeknotes-kubernetes-web-components/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
953366110 | https://github.com/simonw/datasette/issues/1380#issuecomment-953366110 | https://api.github.com/repos/simonw/datasette/issues/1380 | IC_kwDOBm6k_c440zZe | glasnt 813732 | 2021-10-27T22:48:55Z | 2021-10-27T22:48:55Z | CONTRIBUTOR | It looks like if the files argument is a directory, I tried seeing if I could get
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Serve all db files in a folder 924748955 | |
953334718 | https://github.com/simonw/datasette/issues/1380#issuecomment-953334718 | https://api.github.com/repos/simonw/datasette/issues/1380 | IC_kwDOBm6k_c440ru- | glasnt 813732 | 2021-10-27T21:45:04Z | 2021-10-27T21:45:04Z | CONTRIBUTOR | I am also getting this issue, using the currently most recent version of datasette
If I run
Adding new files while datasette is running shows no new files, and removing files causes datasette to return 500 errors.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Serve all db files in a folder 924748955 | |
951740637 | https://github.com/simonw/datasette/issues/878#issuecomment-951740637 | https://api.github.com/repos/simonw/datasette/issues/878 | IC_kwDOBm6k_c44umjd | 20after4 30934 | 2021-10-26T09:12:15Z | 2021-10-26T09:12:15Z | NONE | This sounds really ambitious but also really awesome. I like the idea that basically any piece of a page could be selectively replaced. It sort of sounds like a python asyncio version of https://github.com/observablehq/runtime |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New pattern for views that return either JSON or HTML, available for plugins 648435885 | |
951731255 | https://github.com/simonw/datasette/pull/1204#issuecomment-951731255 | https://api.github.com/repos/simonw/datasette/issues/1204 | IC_kwDOBm6k_c44ukQ3 | 20after4 30934 | 2021-10-26T09:01:28Z | 2021-10-26T09:01:28Z | NONE |
Why not return a data structure instead of just a template name? I've already done some custom hacking to modify datasette but the plugin mechanism you are building here would be much cleaner than what I've built. I'd be happy to help with testing this PR and fleshing it out further if you are still considering merging this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: Plugin includes 793002853 | |
950417375 | https://github.com/simonw/datasette/issues/1497#issuecomment-950417375 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjff | simonw 9599 | 2021-10-24T23:36:54Z | 2021-10-24T23:36:54Z | OWNER | Tried fixing this by pushing a new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950416802 | https://github.com/simonw/datasette/issues/1497#issuecomment-950416802 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjWi | simonw 9599 | 2021-10-24T23:32:39Z | 2021-10-24T23:32:39Z | OWNER | That's because the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950416682 | https://github.com/simonw/datasette/issues/1497#issuecomment-950416682 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjUq | simonw 9599 | 2021-10-24T23:31:51Z | 2021-10-24T23:31:51Z | OWNER | One catch: the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950416659 | https://github.com/simonw/datasette/issues/1497#issuecomment-950416659 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjUT | simonw 9599 | 2021-10-24T23:31:41Z | 2021-10-24T23:31:41Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | ||
950416460 | https://github.com/simonw/datasette/issues/1497#issuecomment-950416460 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjRM | simonw 9599 | 2021-10-24T23:30:10Z | 2021-10-24T23:30:10Z | OWNER | Testing that newly published image:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950416061 | https://github.com/simonw/datasette/issues/1497#issuecomment-950416061 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjK9 | simonw 9599 | 2021-10-24T23:27:18Z | 2021-10-24T23:27:18Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | ||
950415822 | https://github.com/simonw/datasette/issues/1497#issuecomment-950415822 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pjHO | simonw 9599 | 2021-10-24T23:25:45Z | 2021-10-24T23:25:45Z | OWNER | I'm going to attempt to publish |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950415129 | https://github.com/simonw/datasette/issues/1497#issuecomment-950415129 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pi8Z | simonw 9599 | 2021-10-24T23:21:33Z | 2021-10-24T23:21:33Z | OWNER | That fixed it! Resulting image is 249MB which is a very slight size reduction (I think previous was 259MB (uncompressed). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950413185 | https://github.com/simonw/datasette/issues/1497#issuecomment-950413185 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44pieB | simonw 9599 | 2021-10-24T23:16:25Z | 2021-10-24T23:18:30Z | OWNER | Debian stable these days is "bullseye" - https://www.debian.org/releases/ - which has the version of SpatiaLite that I was previously pulling in from Sid: https://packages.debian.org/bullseye/libsqlite3-mod-spatialite So upgrading to the 3.9.7-slim-bullseye base image may help. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950412628 | https://github.com/simonw/datasette/issues/1497#issuecomment-950412628 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44piVU | simonw 9599 | 2021-10-24T23:13:20Z | 2021-10-24T23:13:27Z | OWNER | I think the root cause here is that I'm using a Debian Buster base image and then installing SpatiaLite from Debian unstable (sid) - as described in this comment: https://github.com/simonw/datasette/issues/1249#issuecomment-804309510 That's has worked fine in the past, but Sid is unstable - and this seems to be one of those instabilities. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950411417 | https://github.com/simonw/datasette/issues/1497#issuecomment-950411417 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44piCZ | simonw 9599 | 2021-10-24T23:06:45Z | 2021-10-24T23:11:14Z | OWNER | Same errors with 5 41.46 /usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory5 41.46 dpkg: error processing package libc6:amd64 (--configure):5 41.46 installed libc6:amd64 package post-installation script subprocess returned error exit status 1275 41.47 Errors were encountered while processing:5 41.47 libc6:amd645 41.50 E: Sub-process /usr/bin/dpkg returned an error code (1)
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950411912 | https://github.com/simonw/datasette/issues/1497#issuecomment-950411912 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44piKI | simonw 9599 | 2021-10-24T23:09:41Z | 2021-10-24T23:09:41Z | OWNER | Here that is in the Debian bug tracker: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993755 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950411808 | https://github.com/simonw/datasette/issues/1497#issuecomment-950411808 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44piIg | simonw 9599 | 2021-10-24T23:08:59Z | 2021-10-24T23:08:59Z | OWNER | Looks like it's this bug, reported on the Debian mailing list: https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1818037.html No obvious workaround there though. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950411320 | https://github.com/simonw/datasette/issues/1497#issuecomment-950411320 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44piA4 | simonw 9599 | 2021-10-24T23:06:05Z | 2021-10-24T23:06:05Z | OWNER | Right now the base image is: https://github.com/simonw/datasette/blob/e6e44372b34414eac2f36a4c1120af4f755aa423/Dockerfile#L1 I'm going to try |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950410718 | https://github.com/simonw/datasette/issues/1497#issuecomment-950410718 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44ph3e | simonw 9599 | 2021-10-24T23:02:30Z | 2021-10-24T23:02:30Z | OWNER | I got the same error publishing 0.59: https://github.com/simonw/datasette/actions/runs/1343251945 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
950410554 | https://github.com/simonw/datasette/issues/1497#issuecomment-950410554 | https://api.github.com/repos/simonw/datasette/issues/1497 | IC_kwDOBm6k_c44ph06 | simonw 9599 | 2021-10-24T23:01:20Z | 2021-10-24T23:01:28Z | OWNER | I can replicate locally by running:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" 1034535001 | |
938141121 | https://github.com/simonw/datasette/pull/1481#issuecomment-938141121 | https://api.github.com/repos/simonw/datasette/issues/1481 | IC_kwDOBm6k_c436uXB | codecov[bot] 22429695 | 2021-10-07T20:42:37Z | 2021-10-24T22:19:28Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1481 +/-==========================================
- Coverage 91.83% 91.82% -0.02% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/app.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix compatibility with Python 3.10 1020436713 | |
950403692 | https://github.com/simonw/datasette/pull/1495#issuecomment-950403692 | https://api.github.com/repos/simonw/datasette/issues/1495 | IC_kwDOBm6k_c44pgJs | simonw 9599 | 2021-10-24T22:10:43Z | 2021-10-24T22:10:43Z | OWNER | To land this change we'll need a unit test that demonstrates the new capability - I suggest putting that next to this test: https://github.com/simonw/datasette/blob/15a9d4abfff0c45dee2a9f851326e1d61b1c678c/tests/test_plugins.py#L648-L659 It will also need documentation, which should be added here: https://github.com/simonw/datasette/blob/15a9d4abfff0c45dee2a9f851326e1d61b1c678c/docs/plugin_hooks.rst#register-routes-datasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow routes to have extra options 1033678984 | |
950403521 | https://github.com/simonw/datasette/pull/1495#issuecomment-950403521 | https://api.github.com/repos/simonw/datasette/issues/1495 | IC_kwDOBm6k_c44pgHB | simonw 9599 | 2021-10-24T22:09:18Z | 2021-10-24T22:09:18Z | OWNER | This is a great idea - I've wanted this myself before, but never spent any time thinking about how to achieve it. I think your design here is exactly right - an optional third item in the tuple consisting of a dictionary of options to pass to the view function. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow routes to have extra options 1033678984 | |
950402273 | https://github.com/simonw/datasette/issues/1482#issuecomment-950402273 | https://api.github.com/repos/simonw/datasette/issues/1482 | IC_kwDOBm6k_c44pfzh | simonw 9599 | 2021-10-24T22:00:29Z | 2021-10-24T22:00:29Z | OWNER | Janus 0.6.2 is out now and should have the fix. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support Python 3.10 1021550542 | |
950150483 | https://github.com/simonw/datasette/issues/1401#issuecomment-950150483 | https://api.github.com/repos/simonw/datasette/issues/1401 | IC_kwDOBm6k_c44oiVT | jaywgraves 418191 | 2021-10-23T13:09:10Z | 2021-10-23T13:09:10Z | CONTRIBUTOR | I think it's because of this in
https://github.com/simonw/datasette/blame/main/datasette/static/app.css#L35-L38 You could probably reinstate that by providing your own CSS. https://docs.datasette.io/en/0.24/custom_templates.html#custom-css-and-javascript |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
unordered list is not rendering bullet points in description_html on database page 950664971 | |
949912718 | https://github.com/simonw/datasette/issues/1496#issuecomment-949912718 | https://api.github.com/repos/simonw/datasette/issues/1496 | IC_kwDOBm6k_c44noSO | simonw 9599 | 2021-10-22T19:38:23Z | 2021-10-22T19:38:23Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Named parameters docs should include an example of a cast 1033864602 | ||
949604763 | https://github.com/simonw/datasette/issues/1284#issuecomment-949604763 | https://api.github.com/repos/simonw/datasette/issues/1284 | IC_kwDOBm6k_c44mdGb | fgregg 536941 | 2021-10-22T12:54:34Z | 2021-10-22T12:54:34Z | CONTRIBUTOR | i'm going to take a swing at this today. we'll see. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Feature or Documentation Request: Individual table as home page template 845794436 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
user >30