issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- JavaScript plugin hooks mechanism similar to pluggy 47
- 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
- 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
- Redesign register_output_renderer callback 24
- Redesign default .json format 23
- "datasette insert" command and plugin hook 23
- Datasette Plugins 22
- .json and .csv exports fail to apply base_url 22
- table.extract(...) method and "sqlite-utils extract" command 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
- ?sort=colname~numeric to sort by by column cast to real 19
- Better way of representing binary data in .csv output 19
- Introspect if table is FTS4 or FTS5 19
- Ability to ship alpha and beta releases 18
- Magic parameters for canned queries 18
- datasette.client internal requests mechanism 18
- Mechanism for storing metadata in _metadata tables 18
- …
created_at (date) >30 ✖
- 2020-10-15 52
- 2020-09-22 51
- 2020-10-30 49
- 2020-12-18 43
- 2020-06-09 42
- 2020-06-18 41
- 2020-05-27 39
- 2020-10-20 39
- 2020-12-30 38
- 2020-10-09 36
- 2020-09-15 34
- 2020-06-08 33
- 2021-01-04 33
- 2020-06-01 32
- 2019-06-24 31
- 2020-09-21 31
- 2019-06-23 30
- 2018-04-16 29
- 2020-06-16 29
- 2020-10-16 29
- 2020-02-14 28
- 2020-06-06 28
- 2020-11-24 28
- 2020-12-31 28
- 2021-01-03 28
- 2017-11-13 27
- 2017-11-14 27
- 2020-03-23 27
- 2020-05-30 27
- 2020-06-29 25
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
769453074 | https://github.com/simonw/datasette/issues/1205#issuecomment-769453074 | https://api.github.com/repos/simonw/datasette/issues/1205 | MDEyOklzc3VlQ29tbWVudDc2OTQ1MzA3NA== | simonw 9599 | 2021-01-28T22:54:49Z | 2021-01-28T22:55:02Z | OWNER | I also checked that the following works:
Sure enough, it results in the following Datasette homepage - thanks to #509 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename /:memory: to /_memory 793027837 | |
769452084 | https://github.com/simonw/datasette/issues/1205#issuecomment-769452084 | https://api.github.com/repos/simonw/datasette/issues/1205 | MDEyOklzc3VlQ29tbWVudDc2OTQ1MjA4NA== | simonw 9599 | 2021-01-28T22:52:23Z | 2021-01-28T22:52:23Z | OWNER | Here are the redirect tests: https://github.com/simonw/datasette/blob/1600d2a3ec3ada1f6fb5b1eb73bdaeccb5f80530/tests/test_api.py#L635-L648 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename /:memory: to /_memory 793027837 | |
769442165 | https://github.com/simonw/datasette/issues/1205#issuecomment-769442165 | https://api.github.com/repos/simonw/datasette/issues/1205 | MDEyOklzc3VlQ29tbWVudDc2OTQ0MjE2NQ== | simonw 9599 | 2021-01-28T22:30:16Z | 2021-01-28T22:30:27Z | OWNER | I'm going to do this, with redirects from |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename /:memory: to /_memory 793027837 | |
769274591 | https://github.com/simonw/datasette/issues/1210#issuecomment-769274591 | https://api.github.com/repos/simonw/datasette/issues/1210 | MDEyOklzc3VlQ29tbWVudDc2OTI3NDU5MQ== | simonw 9599 | 2021-01-28T18:10:02Z | 2021-01-28T18:10:02Z | OWNER | That definitely sounds like a bug! Can you provide a copy of your |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Immutable Database w/ Canned Queries 796234313 | |
767888743 | https://github.com/dogsheep/twitter-to-sqlite/issues/54#issuecomment-767888743 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/54 | MDEyOklzc3VlQ29tbWVudDc2Nzg4ODc0Mw== | henry501 19328961 | 2021-01-26T23:07:41Z | 2021-01-26T23:07:41Z | NONE | My import got much further with the applied fixes than 0.21.3, but not 100%. I do appear to have all of the tweets imported at least. Not sure when I'll have a chance to look further to try to fix or see what didn't make it into the import. Here's my output: ``` direct-messages-group: not yet implemented branch-links: not yet implemented periscope-expired-broadcasts: not yet implemented direct-messages: not yet implemented mute: not yet implemented periscope-comments-made-by-user: not yet implemented periscope-ban-information: not yet implemented periscope-profile-description: not yet implemented screen-name-change: not yet implemented manifest: not yet implemented fleet: not yet implemented user-link-clicks: not yet implemented periscope-broadcast-metadata: not yet implemented contact: not yet implemented fleet-mute: not yet implemented device-token: not yet implemented protected-history: not yet implemented direct-message-mute: not yet implemented Traceback (most recent call last): File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/bin/twitter-to-sqlite", line 33, in <module> sys.exit(load_entry_point('twitter-to-sqlite==0.21.3', 'console_scripts', 'twitter-to-sqlite')()) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/click/core.py", line 829, in call return self.main(args, kwargs) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/click/core.py", line 610, in invoke return callback(args, **kwargs) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/twitter_to_sqlite/cli.py", line 772, in import_ archive.import_from_file(db, filepath.name, open(filepath, "rb").read()) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/twitter_to_sqlite/archive.py", line 233, in import_from_file to_insert = transformer(data) File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/twitter_to_sqlite/archive.py", line 21, in callback return {filename: [fn(item) for item in data]} File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/twitter_to_sqlite/archive.py", line 21, in <listcomp> return {filename: [fn(item) for item in data]} File "/Users/henry/.local/share/virtualenvs/python-sqlite-testing-mF3G2xKl/lib/python3.9/site-packages/twitter_to_sqlite/archive.py", line 88, in ageinfo return item["ageMeta"]["ageInfo"] KeyError: 'ageInfo' ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Archive import appears to be broken on recent exports 779088071 | |
767823684 | https://github.com/simonw/datasette/issues/1208#issuecomment-767823684 | https://api.github.com/repos/simonw/datasette/issues/1208 | MDEyOklzc3VlQ29tbWVudDc2NzgyMzY4NA== | simonw 9599 | 2021-01-26T20:58:51Z | 2021-01-26T20:58:51Z | OWNER | This is a good catch - I've been lazy about this, but you're right that it's an issue that needs cleaning up. Would be very happy to apply a PR, thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A lot of open(file) functions are used without a context manager thus producing ResourceWarning: unclosed file <_io.TextIOWrapper 794554881 | |
767762551 | https://github.com/simonw/datasette/issues/1151#issuecomment-767762551 | https://api.github.com/repos/simonw/datasette/issues/1151 | MDEyOklzc3VlQ29tbWVudDc2Nzc2MjU1MQ== | simonw 9599 | 2021-01-26T19:07:44Z | 2021-01-26T19:07:44Z | OWNER | Mentioned in https://simonwillison.net/2021/Jan/25/datasette/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database class mechanism for cross-connection in-memory databases 770448622 | |
767761155 | https://github.com/simonw/datasette/issues/991#issuecomment-767761155 | https://api.github.com/repos/simonw/datasette/issues/991 | MDEyOklzc3VlQ29tbWVudDc2Nzc2MTE1NQ== | simonw 9599 | 2021-01-26T19:05:21Z | 2021-01-26T19:06:36Z | OWNER | Idea: implement this using the existing table view, with a custom template called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign application homepage 714377268 | |
766991680 | https://github.com/simonw/datasette/issues/1201#issuecomment-766991680 | https://api.github.com/repos/simonw/datasette/issues/1201 | MDEyOklzc3VlQ29tbWVudDc2Njk5MTY4MA== | simonw 9599 | 2021-01-25T17:42:21Z | 2021-01-25T17:42:21Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release notes for Datasette 0.54 792904595 | ||
766589070 | https://github.com/simonw/datasette/pull/1206#issuecomment-766589070 | https://api.github.com/repos/simonw/datasette/issues/1206 | MDEyOklzc3VlQ29tbWVudDc2NjU4OTA3MA== | codecov[bot] 22429695 | 2021-01-25T06:50:30Z | 2021-01-25T17:31:11Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1206 +/-=======================================
Coverage 91.53% 91.53% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/version.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 } |
Release 0.54 793086333 | |
766588371 | https://github.com/simonw/datasette/pull/1206#issuecomment-766588371 | https://api.github.com/repos/simonw/datasette/issues/1206 | MDEyOklzc3VlQ29tbWVudDc2NjU4ODM3MQ== | simonw 9599 | 2021-01-25T06:49:06Z | 2021-01-25T06:49:06Z | OWNER | Last thing to do: write up the annotated version of these release notes, assign it a URL on my blog and link to it from the release notes here so I can publish them simultaneously. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release 0.54 793086333 | |
766588020 | https://github.com/simonw/datasette/pull/1206#issuecomment-766588020 | https://api.github.com/repos/simonw/datasette/issues/1206 | MDEyOklzc3VlQ29tbWVudDc2NjU4ODAyMA== | simonw 9599 | 2021-01-25T06:48:20Z | 2021-01-25T06:48:20Z | OWNER | Issues to reference in the commit message: #509, #1091, #1150, #1151, #1166, #1167, #1178, #1181, #1182, #1184, #1185, #1186, #1187, #1194, #1198 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release 0.54 793086333 | |
766586151 | https://github.com/simonw/datasette/issues/1201#issuecomment-766586151 | https://api.github.com/repos/simonw/datasette/issues/1201 | MDEyOklzc3VlQ29tbWVudDc2NjU4NjE1MQ== | simonw 9599 | 2021-01-25T06:44:43Z | 2021-01-25T06:44:43Z | OWNER | OK, release notes are ready to merge from that branch. I'll ship the release in the morning, to give me time to write the accompanying annotated release notes. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release notes for Datasette 0.54 792904595 | |
766545604 | https://github.com/simonw/datasette/issues/1201#issuecomment-766545604 | https://api.github.com/repos/simonw/datasette/issues/1201 | MDEyOklzc3VlQ29tbWVudDc2NjU0NTYwNA== | simonw 9599 | 2021-01-25T05:14:31Z | 2021-01-25T05:14:31Z | OWNER | The two big ticket items are |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release notes for Datasette 0.54 792904595 | |
766545442 | https://github.com/simonw/datasette/issues/1201#issuecomment-766545442 | https://api.github.com/repos/simonw/datasette/issues/1201 | MDEyOklzc3VlQ29tbWVudDc2NjU0NTQ0Mg== | simonw 9599 | 2021-01-25T05:13:59Z | 2021-01-25T05:13:59Z | OWNER | The big stuff:
Smaller:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release notes for Datasette 0.54 792904595 | |
766543387 | https://github.com/simonw/datasette/issues/1201#issuecomment-766543387 | https://api.github.com/repos/simonw/datasette/issues/1201 | MDEyOklzc3VlQ29tbWVudDc2NjU0MzM4Nw== | simonw 9599 | 2021-01-25T05:07:40Z | 2021-01-25T05:13:29Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release notes for Datasette 0.54 792904595 | ||
766536076 | https://github.com/simonw/datasette/issues/983#issuecomment-766536076 | https://api.github.com/repos/simonw/datasette/issues/983 | MDEyOklzc3VlQ29tbWVudDc2NjUzNjA3Ng== | simonw 9599 | 2021-01-25T04:43:53Z | 2021-01-25T04:43:53Z | OWNER | ... actually not going to include this in 0.54, I need to write a couple of plugins myself using it before I even make it available in preview. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
JavaScript plugin hooks mechanism similar to pluggy 712260429 | |
766535046 | https://github.com/simonw/datasette/issues/1195#issuecomment-766535046 | https://api.github.com/repos/simonw/datasette/issues/1195 | MDEyOklzc3VlQ29tbWVudDc2NjUzNTA0Ng== | simonw 9599 | 2021-01-25T04:40:08Z | 2021-01-25T04:40:08Z | OWNER | Also: should the view name really be the same for both of these pages?
Where one of them is a canned query and the other is an arbitrary query? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
view_name = "query" for the query page 789336592 | |
766534748 | https://github.com/simonw/datasette/issues/1195#issuecomment-766534748 | https://api.github.com/repos/simonw/datasette/issues/1195 | MDEyOklzc3VlQ29tbWVudDc2NjUzNDc0OA== | simonw 9599 | 2021-01-25T04:38:56Z | 2021-01-25T04:38:56Z | OWNER | Here's a diff showing how far I got before I abandoned this particular effort: ```diff diff --git a/datasette/views/base.py b/datasette/views/base.py index a21b929..04e4aa9 100644 --- a/datasette/views/base.py +++ b/datasette/views/base.py @@ -120,7 +120,7 @@ class BaseView: handler = getattr(self, request.method.lower(), None) return await handler(request, args, *kwargs)
@@ -155,7 +155,7 @@ class BaseView: class DataView(BaseView): - name = "" + view_name = "no-view-name" re_named_parameter = re.compile(":([a-zA-Z0-9_]+)")
@@ -414,6 +414,10 @@ class DataView(BaseView): args["table"] = urllib.parse.unquote_plus(args["table"]) return _format, args
@@ -424,6 +428,8 @@ class DataView(BaseView): # HTML views default to expanding all foreign key labels kwargs["default_labels"] = True
class DatabaseView(DataView): - name = "database" + async def get_view_name(self, request, db_name, table_and_format): + if request.args.get("sql"): + return "query" + else: + return "database"
@@ -145,7 +149,7 @@ class DatabaseView(DataView): class DatabaseDownload(DataView): - name = "database_download" + view_name = "database_download"
diff --git a/datasette/views/index.py b/datasette/views/index.py index b6b8cbe..d750e3d 100644 --- a/datasette/views/index.py +++ b/datasette/views/index.py @@ -16,7 +16,7 @@ COUNT_DB_SIZE_LIMIT = 100 * 1024 * 1024 class IndexView(BaseView): - name = "index" + view_name = "index"
diff --git a/datasette/views/special.py b/datasette/views/special.py index 9750dd0..dbd1e00 100644 --- a/datasette/views/special.py +++ b/datasette/views/special.py @@ -6,7 +6,7 @@ import secrets class JsonDataView(BaseView): - name = "json_data" + view_name = "json_data"
@@ -42,7 +42,7 @@ class JsonDataView(BaseView): class PatternPortfolioView(BaseView): - name = "patterns" + view_name = "patterns"
@@ -50,7 +50,7 @@ class PatternPortfolioView(BaseView): class AuthTokenView(BaseView): - name = "auth_token" + view_name = "auth_token"
@@ -68,7 +68,7 @@ class AuthTokenView(BaseView): class LogoutView(BaseView): - name = "logout" + view_name = "logout"
@@ -87,7 +87,7 @@ class LogoutView(BaseView): class PermissionsDebugView(BaseView): - name = "permissions_debug" + view_name = "permissions_debug"
@@ -102,7 +102,7 @@ class PermissionsDebugView(BaseView): class AllowDebugView(BaseView): - name = "allow_debug" + view_name = "allow_debug"
@@ -136,7 +136,7 @@ class AllowDebugView(BaseView): class MessagesDebugView(BaseView): - name = "messages_debug" + view_name = "messages_debug"
diff --git a/datasette/views/table.py b/datasette/views/table.py index 0a3504b..45d298a 100644 --- a/datasette/views/table.py +++ b/datasette/views/table.py @@ -257,7 +257,16 @@ class RowTableShared(DataView): class TableView(RowTableShared): - name = "table" + view_name = "table" + + async def get_view_name(self, request, db_name, table_and_format): + canned_query = await self.ds.get_canned_query( + db_name, table_and_format, request.actor + ) + if canned_query: + return "query" + else: + return "table"
@@ -923,7 +932,7 @@ async def _sql_params_pks(db, table, pk_values): class RowView(RowTableShared): - name = "row" + view_name = "row"
diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 715c7c1..7ce2b1b 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -252,7 +252,7 @@ def test_plugin_config_file(app_client): }, ), ( - "/fixtures/", + "/fixtures", { "template": "database.html", "database": "fixtures", @@ -285,6 +285,38 @@ def test_plugin_config_file(app_client): ], }, ), + ( + "/fixtures?sql=select+1+as+one", + { + "template": "query.html", + "database": "fixtures", + "table": None, + "config": {"depth": "database"}, + "view_name": "query", + "request_path": "/fixtures", + "added": 15, + "columns": [ + "one", + ], + }, + ), + ( + "/fixtures/neighborhood_search", + { + "template": "query.html", + "database": "fixtures", + "table": None, + "config": {"depth": "database"}, + "view_name": "query", + "request_path": "/fixtures/neighborhood_search", + "added": 15, + "columns": [ + "neighborhood", + "name", + "state", + ], + }, + ), ], ) def test_hook_extra_body_script(app_client, path, expected_extra_body_script): ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
view_name = "query" for the query page 789336592 | |
766534634 | https://github.com/simonw/datasette/issues/1195#issuecomment-766534634 | https://api.github.com/repos/simonw/datasette/issues/1195 | MDEyOklzc3VlQ29tbWVudDc2NjUzNDYzNA== | simonw 9599 | 2021-01-25T04:38:30Z | 2021-01-25T04:38:30Z | OWNER | This has proved surprisingly difficult to implement, due to the weird way the QueryView is actually called. The class itself isn't used like other view classes - instead, the It turns out this is a bad pattern because it makes changes like this one WAY harder than they should be. I think I should clean this up as part of #878. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
view_name = "query" for the query page 789336592 | |
766525337 | https://github.com/simonw/datasette/pull/1204#issuecomment-766525337 | https://api.github.com/repos/simonw/datasette/issues/1204 | MDEyOklzc3VlQ29tbWVudDc2NjUyNTMzNw== | simonw 9599 | 2021-01-25T04:04:28Z | 2021-01-25T04:04:28Z | OWNER | Writing the tests will be a bit tricky since we need to confirm that the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: Plugin includes 793002853 | |
766524141 | https://github.com/simonw/datasette/issues/987#issuecomment-766524141 | https://api.github.com/repos/simonw/datasette/issues/987 | MDEyOklzc3VlQ29tbWVudDc2NjUyNDE0MQ== | simonw 9599 | 2021-01-25T03:59:55Z | 2021-01-25T03:59:55Z | OWNER | This is joined with #1191 now, which I've bumped from 0.54. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documented HTML hooks for JavaScript plugin authors 712984738 | |
766524016 | https://github.com/simonw/datasette/issues/1191#issuecomment-766524016 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2NjUyNDAxNg== | simonw 9599 | 2021-01-25T03:59:17Z | 2021-01-25T03:59:17Z | OWNER | More work can happen in the PR: #1204 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
766523866 | https://github.com/simonw/datasette/issues/1191#issuecomment-766523866 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2NjUyMzg2Ng== | simonw 9599 | 2021-01-25T03:58:34Z | 2021-01-25T03:58:34Z | OWNER | I've got a good prototype working now, but I'm dropping this from the Datasette 0.54 milestone because it requires a bunch of additional work to make sure it is really well tested and documented. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
766491911 | https://github.com/simonw/datasette/issues/1194#issuecomment-766491911 | https://api.github.com/repos/simonw/datasette/issues/1194 | MDEyOklzc3VlQ29tbWVudDc2NjQ5MTkxMQ== | simonw 9599 | 2021-01-25T02:02:15Z | 2021-01-25T02:02:15Z | OWNER | I'm going to copy across anything starting with an underscore. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_size= argument is not persisted by hidden form fields in the table filters 788447787 | |
766491566 | https://github.com/simonw/datasette/issues/1167#issuecomment-766491566 | https://api.github.com/repos/simonw/datasette/issues/1167 | MDEyOklzc3VlQ29tbWVudDc2NjQ5MTU2Ng== | simonw 9599 | 2021-01-25T02:01:19Z | 2021-01-25T02:01:19Z | OWNER | New documentation section here (I documented Black as well): https://docs.datasette.io/en/latest/contributing.html#code-formatting |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Prettier to contributing documentation 777145954 | |
766487520 | https://github.com/simonw/datasette/issues/1167#issuecomment-766487520 | https://api.github.com/repos/simonw/datasette/issues/1167 | MDEyOklzc3VlQ29tbWVudDc2NjQ4NzUyMA== | simonw 9599 | 2021-01-25T01:44:43Z | 2021-01-25T01:44:43Z | OWNER | Thanks @benpickles, I just merged that in. I'll use it in the documentation.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Prettier to contributing documentation 777145954 | |
766484915 | https://github.com/simonw/datasette/issues/983#issuecomment-766484915 | https://api.github.com/repos/simonw/datasette/issues/983 | MDEyOklzc3VlQ29tbWVudDc2NjQ4NDkxNQ== | simonw 9599 | 2021-01-25T01:33:29Z | 2021-01-25T01:33:29Z | OWNER | I'm going to ship a version of this in Datasette 0.54 with a warning that the interface should be considered unstable (see #1202) so that we can start trying this out. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
JavaScript plugin hooks mechanism similar to pluggy 712260429 | |
766484435 | https://github.com/simonw/datasette/issues/1179#issuecomment-766484435 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc2NjQ4NDQzNQ== | simonw 9599 | 2021-01-25T01:31:36Z | 2021-01-25T01:31:36Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | ||
766484257 | https://github.com/simonw/datasette/issues/1179#issuecomment-766484257 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc2NjQ4NDI1Nw== | simonw 9599 | 2021-01-25T01:30:57Z | 2021-01-25T01:30:57Z | OWNER | The challenge here is figuring out what the original path, without the The https://github.com/simonw/datasette/blob/b6a7b58fa01af0cd5a5e94bd17d686d283a46819/datasette/utils/init.py#L710-L729 It can be called with Problem is, we want to use it to get rid of the format entirely. We could update |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | |
766466030 | https://github.com/simonw/datasette/issues/1191#issuecomment-766466030 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2NjQ2NjAzMA== | simonw 9599 | 2021-01-25T00:11:04Z | 2021-01-25T00:11:04Z | OWNER | I can combine this with #987 - each of these areas of the page can be wrapped in a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
766465719 | https://github.com/simonw/datasette/issues/1154#issuecomment-766465719 | https://api.github.com/repos/simonw/datasette/issues/1154 | MDEyOklzc3VlQ29tbWVudDc2NjQ2NTcxOQ== | simonw 9599 | 2021-01-25T00:09:22Z | 2021-01-25T00:09:22Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for new _internal database and tables 771208009 | ||
766464136 | https://github.com/simonw/datasette/issues/1202#issuecomment-766464136 | https://api.github.com/repos/simonw/datasette/issues/1202 | MDEyOklzc3VlQ29tbWVudDc2NjQ2NDEzNg== | simonw 9599 | 2021-01-25T00:01:02Z | 2021-01-25T00:01:02Z | OWNER | I'm going to use the existing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation convention for marking unstable APIs. 792931244 | |
766463496 | https://github.com/simonw/datasette/issues/1090#issuecomment-766463496 | https://api.github.com/repos/simonw/datasette/issues/1090 | MDEyOklzc3VlQ29tbWVudDc2NjQ2MzQ5Ng== | simonw 9599 | 2021-01-24T23:57:00Z | 2021-01-24T23:57:00Z | OWNER | Related: I built datasette-leaflet-freedraw which turns any canned query field called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Custom widgets for canned query forms 741862364 | |
766462475 | https://github.com/simonw/datasette/issues/1202#issuecomment-766462475 | https://api.github.com/repos/simonw/datasette/issues/1202 | MDEyOklzc3VlQ29tbWVudDc2NjQ2MjQ3NQ== | simonw 9599 | 2021-01-24T23:49:28Z | 2021-01-24T23:50:33Z | OWNER | Can use an "admonition" similar to this:
Documentation: https://docutils.sourceforge.io/docs/ref/rst/directives.html#specific-admonitions |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation convention for marking unstable APIs. 792931244 | |
766462197 | https://github.com/simonw/datasette/issues/1154#issuecomment-766462197 | https://api.github.com/repos/simonw/datasette/issues/1154 | MDEyOklzc3VlQ29tbWVudDc2NjQ2MjE5Nw== | simonw 9599 | 2021-01-24T23:47:06Z | 2021-01-24T23:47:06Z | OWNER | I'm going to document this but mark it as unstable, using a new documentation convention for marking unstable APIs. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for new _internal database and tables 771208009 | |
766434629 | https://github.com/simonw/datasette/issues/1179#issuecomment-766434629 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc2NjQzNDYyOQ== | simonw 9599 | 2021-01-24T21:23:47Z | 2021-01-24T21:23:47Z | OWNER | I'm just going to do |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | |
766433153 | https://github.com/simonw/datasette/issues/1190#issuecomment-766433153 | https://api.github.com/repos/simonw/datasette/issues/1190 | MDEyOklzc3VlQ29tbWVudDc2NjQzMzE1Mw== | simonw 9599 | 2021-01-24T21:13:25Z | 2021-01-24T21:13:25Z | OWNER | This ties in to a bunch of other ideas that are in flight at the moment. If you're publishing databases by uploading them, how do you attach metadata? Ideally by baking it into the database file itself, using the mechanism from #1169. How could this interact with the Lots to think about here. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`datasette publish upload` mechanism for uploading databases to an existing Datasette instance 787098146 | |
766430644 | https://github.com/simonw/datasette/issues/1190#issuecomment-766430644 | https://api.github.com/repos/simonw/datasette/issues/1190 | MDEyOklzc3VlQ29tbWVudDc2NjQzMDY0NA== | simonw 9599 | 2021-01-24T20:57:03Z | 2021-01-24T20:57:03Z | OWNER | I really like this idea. It feels like an opportunity for a plugin that adds two things: an API endpoint to Datasette for accepting uploaded databases, and a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`datasette publish upload` mechanism for uploading databases to an existing Datasette instance 787098146 | |
766430111 | https://github.com/simonw/datasette/issues/1197#issuecomment-766430111 | https://api.github.com/repos/simonw/datasette/issues/1197 | MDEyOklzc3VlQ29tbWVudDc2NjQzMDExMQ== | simonw 9599 | 2021-01-24T20:53:40Z | 2021-01-24T20:53:40Z | OWNER | https://devcenter.heroku.com/articles/slug-compiler#slug-size says that the maximum allowed size is 500MB - my hunch is that the Datasette application itself weighs in at only a dozen or so MB but I haven't measured it. So I would imagine anything up to around 450MB should work OK on Heroku. Cloud Run works for up to about 2GB in my experience. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DB size limit for publishing with Heroku 791381623 | |
766428183 | https://github.com/simonw/datasette/issues/1198#issuecomment-766428183 | https://api.github.com/repos/simonw/datasette/issues/1198 | MDEyOklzc3VlQ29tbWVudDc2NjQyODE4Mw== | simonw 9599 | 2021-01-24T20:40:37Z | 2021-01-24T20:40:37Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin testing documentation on using pytest-httpx 792625812 | ||
766181628 | https://github.com/simonw/datasette/issues/1199#issuecomment-766181628 | https://api.github.com/repos/simonw/datasette/issues/1199 | MDEyOklzc3VlQ29tbWVudDc2NjE4MTYyOA== | simonw 9599 | 2021-01-23T21:25:18Z | 2021-01-23T21:25:18Z | OWNER | Comment thread here: https://news.ycombinator.com/item?id=25881911 - cperciva says:
But... Datasette is often used in read-only mode, so that disadvantage often doesn't apply. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Experiment with PRAGMA mmap_size=N 792652391 | |
765678057 | https://github.com/simonw/sqlite-utils/pull/224#issuecomment-765678057 | https://api.github.com/repos/simonw/sqlite-utils/issues/224 | MDEyOklzc3VlQ29tbWVudDc2NTY3ODA1Nw== | polyrand 37962604 | 2021-01-22T20:53:06Z | 2021-01-23T20:13:27Z | NONE | I'm using the FTS methods in sqlite-utils for this website: drwn.io. I wanted to get pagination to have some kind of infinite scrolling in the landing page, and I ended up using that. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add fts offset docs. 792297010 | |
765757433 | https://github.com/simonw/datasette/issues/1191#issuecomment-765757433 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2NTc1NzQzMw== | simonw 9599 | 2021-01-22T23:43:43Z | 2021-01-22T23:43:43Z | OWNER | Another potential use for this: plugins that provide authentication (like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
765639968 | https://github.com/simonw/datasette/issues/1196#issuecomment-765639968 | https://api.github.com/repos/simonw/datasette/issues/1196 | MDEyOklzc3VlQ29tbWVudDc2NTYzOTk2OA== | QAInsights 2826376 | 2021-01-22T19:37:15Z | 2021-01-22T19:37:15Z | NONE | I tried deployment in WSL. It is working fine https://jmeter.vercel.app/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Access Denied Error in Windows 791237799 | |
765525338 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-765525338 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDc2NTUyNTMzOA== | cobiadigital 25372415 | 2021-01-22T16:22:44Z | 2021-01-22T16:22:44Z | NONE | rs1333049 associated with coronary artery disease https://www.snpedia.com/index.php/Rs1333049 ``` select rsid, genotype, case genotype when 'CC' then '1.9x increased risk for coronary artery disease' when 'CG' then '1.5x increased risk for CAD' when 'GG' then 'normal' end as interpretation from genome where rsid = 'rs1333049' ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
765523517 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-765523517 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDc2NTUyMzUxNw== | cobiadigital 25372415 | 2021-01-22T16:20:25Z | 2021-01-22T16:20:25Z | NONE | rs53576: the oxytocin receptor (OXTR) gene
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
765506901 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-765506901 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDc2NTUwNjkwMQ== | cobiadigital 25372415 | 2021-01-22T15:58:41Z | 2021-01-22T15:58:58Z | NONE | Both rs10757274 and rs2383206 can both indicate higher risks of heart disease https://www.snpedia.com/index.php/Rs2383206
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
765502845 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-765502845 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDc2NTUwMjg0NQ== | cobiadigital 25372415 | 2021-01-22T15:53:19Z | 2021-01-22T15:53:19Z | NONE | rs7903146 Influences risk of Type-2 diabetes
https://www.snpedia.com/index.php/Rs7903146
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
765498984 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-765498984 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDc2NTQ5ODk4NA== | cobiadigital 25372415 | 2021-01-22T15:48:25Z | 2021-01-22T15:49:33Z | NONE | The "Warrior Gene" https://www.snpedia.com/index.php/Rs4680
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
765495861 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-765495861 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDc2NTQ5NTg2MQ== | cobiadigital 25372415 | 2021-01-22T15:44:00Z | 2021-01-22T15:44:00Z | NONE | Risk of autoimmune disorders: https://www.snpedia.com/index.php/Genotype
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
763108730 | https://github.com/simonw/datasette/issues/1195#issuecomment-763108730 | https://api.github.com/repos/simonw/datasette/issues/1195 | MDEyOklzc3VlQ29tbWVudDc2MzEwODczMA== | simonw 9599 | 2021-01-19T20:22:37Z | 2021-01-19T20:22:37Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
view_name = "query" for the query page 789336592 | ||
762540514 | https://github.com/simonw/sqlite-utils/issues/223#issuecomment-762540514 | https://api.github.com/repos/simonw/sqlite-utils/issues/223 | MDEyOklzc3VlQ29tbWVudDc2MjU0MDUxNA== | simonw 9599 | 2021-01-19T01:14:58Z | 2021-01-19T01:15:54Z | OWNER | Example from https://docs.python.org/3/library/csv.html#csv.reader ```pycon
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--delimiter option for CSV import 788527932 | |
762488336 | https://github.com/simonw/datasette/issues/1175#issuecomment-762488336 | https://api.github.com/repos/simonw/datasette/issues/1175 | MDEyOklzc3VlQ29tbWVudDc2MjQ4ODMzNg== | hannseman 758858 | 2021-01-18T21:59:28Z | 2021-01-18T22:00:31Z | NONE | I encountered your issue when trying to find a solution and came up with the following, maybe it can help. ```python import logging.config from typing import Tuple import structlog import uvicorn from example.config import settings shared_processors: Tuple[structlog.types.Processor, ...] = ( structlog.contextvars.merge_contextvars, structlog.stdlib.add_logger_name, structlog.stdlib.add_log_level, structlog.processors.TimeStamper(fmt="iso"), ) logging_config = { "version": 1, "disable_existing_loggers": False, "formatters": { "json": { "()": structlog.stdlib.ProcessorFormatter, "processor": structlog.processors.JSONRenderer(), "foreign_pre_chain": shared_processors, }, "console": { "()": structlog.stdlib.ProcessorFormatter, "processor": structlog.dev.ConsoleRenderer(), "foreign_pre_chain": shared_processors, }, **uvicorn.config.LOGGING_CONFIG["formatters"], }, "handlers": { "default": { "level": "DEBUG", "class": "logging.StreamHandler", "formatter": "json" if not settings.debug else "console", }, "uvicorn.access": { "level": "INFO", "class": "logging.StreamHandler", "formatter": "access", }, "uvicorn.default": { "level": "INFO", "class": "logging.StreamHandler", "formatter": "default", }, }, "loggers": { "": {"handlers": ["default"], "level": "INFO"}, "uvicorn.error": { "handlers": ["default" if not settings.debug else "uvicorn.default"], "level": "INFO", "propagate": False, }, "uvicorn.access": { "handlers": ["default" if not settings.debug else "uvicorn.access"], "level": "INFO", "propagate": False, }, }, } def setup_logging() -> None: structlog.configure( processors=[ structlog.stdlib.filter_by_level, *shared_processors, structlog.stdlib.PositionalArgumentsFormatter(), structlog.processors.StackInfoRenderer(), structlog.processors.format_exc_info, structlog.stdlib.ProcessorFormatter.wrap_for_formatter, ], context_class=dict, logger_factory=structlog.stdlib.LoggerFactory(), wrapper_class=structlog.stdlib.AsyncBoundLogger, cache_logger_on_first_use=True, ) logging.config.dictConfig(logging_config) ``` And then it'll be run on the startup event:
It depends on a setting called |
{ "total_count": 15, "+1": 7, "-1": 0, "laugh": 1, "hooray": 1, "confused": 0, "heart": 5, "rocket": 1, "eyes": 0 } |
Use structlog for logging 779156520 | |
762391426 | https://github.com/simonw/datasette/issues/1036#issuecomment-762391426 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDc2MjM5MTQyNg== | philshem 4997607 | 2021-01-18T17:45:00Z | 2021-01-18T17:45:00Z | NONE | It might be possible with this library: https://docs.python.org/3/library/imghdr.html quick test of the downloaded blob: ```
The output plugin would be cool. I'll look into making my first datasette plugin. I'm also imagining displaying the image in the browser -- but that would be a step 2. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
762390568 | https://github.com/simonw/datasette/issues/1194#issuecomment-762390568 | https://api.github.com/repos/simonw/datasette/issues/1194 | MDEyOklzc3VlQ29tbWVudDc2MjM5MDU2OA== | simonw 9599 | 2021-01-18T17:43:03Z | 2021-01-18T17:43:03Z | OWNER | Should I just blanket copy over any query string argument that starts with an underscore? Any reason not to do that? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_size= argument is not persisted by hidden form fields in the table filters 788447787 | |
762390401 | https://github.com/simonw/datasette/issues/1194#issuecomment-762390401 | https://api.github.com/repos/simonw/datasette/issues/1194 | MDEyOklzc3VlQ29tbWVudDc2MjM5MDQwMQ== | simonw 9599 | 2021-01-18T17:42:38Z | 2021-01-18T17:42:38Z | OWNER | Relevant code: https://github.com/simonw/datasette/blob/a882d679626438ba0d809944f06f239bcba8ee96/datasette/views/table.py#L815-L827 It looks like there are other arguments that may not be persisted too. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_size= argument is not persisted by hidden form fields in the table filters 788447787 | |
762387875 | https://github.com/simonw/datasette/issues/1036#issuecomment-762387875 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDc2MjM4Nzg3NQ== | simonw 9599 | 2021-01-18T17:36:36Z | 2021-01-18T17:36:36Z | OWNER | As you can see, I'm pretty paranoid about serving content with You found Maybe even an output plugin? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
762385981 | https://github.com/simonw/datasette/issues/1036#issuecomment-762385981 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDc2MjM4NTk4MQ== | philshem 4997607 | 2021-01-18T17:32:13Z | 2021-01-18T17:34:50Z | NONE | Hi Simon Just finding this old issue regarding downloading blobs. Nice work! As a feature request, maybe it would be possible to assign a blob column as a certain data type (e.g. I guess the column blob-type definition could fit into this dropdown selection: Let me know if I should open a new issue with a feature request. (This could slowly go in the direction of displaying image blob-types in the browser.) Thanks for the great tool! edit: just reading the rest of the twitter thread: https://twitter.com/simonw/status/1318685933256855552 perhaps this is already possible in some form with the plugin datasette-media: https://github.com/simonw/datasette-media |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
761967094 | https://github.com/dogsheep/swarm-to-sqlite/issues/11#issuecomment-761967094 | https://api.github.com/repos/dogsheep/swarm-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDc2MTk2NzA5NA== | simonw 9599 | 2021-01-18T04:11:13Z | 2021-01-18T04:11:13Z | MEMBER | I just got a similar error: ``` File "/home/dogsheep/datasette-venv/lib/python3.8/site-packages/swarm_to_sqlite/utils.py", line 79, in save_checkin checkins_table.m2m("users", user, m2m_table="with", pk="id") File "/home/dogsheep/datasette-venv/lib/python3.8/site-packages/sqlite_utils/db.py", line 2048, in m2m id = other_table.insert(record, pk=pk, replace=True).last_pk File "/home/dogsheep/datasette-venv/lib/python3.8/site-packages/sqlite_utils/db.py", line 1781, in insert return self.insert_all( File "/home/dogsheep/datasette-venv/lib/python3.8/site-packages/sqlite_utils/db.py", line 1899, in insert_all self.insert_chunk( File "/home/dogsheep/datasette-venv/lib/python3.8/site-packages/sqlite_utils/db.py", line 1709, in insert_chunk result = self.db.execute(query, params) File "/home/dogsheep/datasette-venv/lib/python3.8/site-packages/sqlite_utils/db.py", line 226, in execute return self.conn.execute(sql, parameters) pysqlite3.dbapi2.OperationalError: table users has no column named countryCode ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error thrown: sqlite3.OperationalError: table users has no column named lastName 743400216 | |
761705076 | https://github.com/simonw/datasette/issues/1191#issuecomment-761705076 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2MTcwNTA3Ng== | simonw 9599 | 2021-01-17T00:35:13Z | 2021-01-17T00:37:51Z | OWNER | I'm going to try using Jinja macros to implement this: https://jinja.palletsprojects.com/en/2.11.x/templates/#macros Maybe using one of these tricks to auto-load the macro? http://codyaray.com/2015/05/auto-load-jinja2-macros |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
761703555 | https://github.com/simonw/datasette/issues/1181#issuecomment-761703555 | https://api.github.com/repos/simonw/datasette/issues/1181 | MDEyOklzc3VlQ29tbWVudDc2MTcwMzU1NQ== | simonw 9599 | 2021-01-17T00:24:20Z | 2021-01-17T00:24:40Z | OWNER | Here's the incomplete sketch of a test - to go at the bottom of
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Certain database names results in 404: "Database not found: None" 781262510 | |
761703368 | https://github.com/simonw/datasette/issues/1191#issuecomment-761703368 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2MTcwMzM2OA== | simonw 9599 | 2021-01-17T00:22:46Z | 2021-01-17T00:22:46Z | OWNER | I'm going to prototype this in a branch. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
761703232 | https://github.com/simonw/datasette/issues/1191#issuecomment-761703232 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2MTcwMzIzMg== | simonw 9599 | 2021-01-17T00:21:31Z | 2021-01-17T00:21:54Z | OWNER | I think this ends up being a whole collection of new plugin hooks, something like:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
761703022 | https://github.com/simonw/datasette/issues/1191#issuecomment-761703022 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2MTcwMzAyMg== | simonw 9599 | 2021-01-17T00:20:00Z | 2021-01-17T00:20:00Z | OWNER | Plugins that want to provide extra context to the template can already do so using the So this hook could work by returning a list of template filenames to be included. Those templates can be bundled with the plugin. Since they are included they will have access to the template context and to any |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
761179229 | https://github.com/simonw/datasette/issues/657#issuecomment-761179229 | https://api.github.com/repos/simonw/datasette/issues/657 | MDEyOklzc3VlQ29tbWVudDc2MTE3OTIyOQ== | simonw 9599 | 2021-01-15T20:24:35Z | 2021-01-15T20:24:35Z | OWNER | I'm not sure how I missed this issue but it's almost a year later and I'm finally taking a look at your Parquet work. This is yet more evidence that allowing plugins to provide their own custom I started exploring what Datasette would like on PostgreSQL in #670 - my concern was that I would need to add a large amount of database abstraction code which would dramatically increase the complexity of the core project, but my thinking now is that it might be tractable - Datasette doesn't actually construct SQL in complex ways anywhere outside of the |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow creation of virtual tables at startup 548591089 | |
761103910 | https://github.com/simonw/datasette/issues/1191#issuecomment-761103910 | https://api.github.com/repos/simonw/datasette/issues/1191 | MDEyOklzc3VlQ29tbWVudDc2MTEwMzkxMA== | simonw 9599 | 2021-01-15T18:19:29Z | 2021-01-15T18:19:29Z | OWNER | This relates to #987 (documented HTML hooks for JavaScript plugins) but is not quite the same thing. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability for plugins to collaborate when adding extra HTML to blocks in default templates 787098345 | |
761101878 | https://github.com/simonw/datasette/issues/657#issuecomment-761101878 | https://api.github.com/repos/simonw/datasette/issues/657 | MDEyOklzc3VlQ29tbWVudDc2MTEwMTg3OA== | simonw 9599 | 2021-01-15T18:16:01Z | 2021-01-15T18:16:01Z | OWNER | I think the Would that work here? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow creation of virtual tables at startup 548591089 | |
761015218 | https://github.com/simonw/sqlite-utils/issues/220#issuecomment-761015218 | https://api.github.com/repos/simonw/sqlite-utils/issues/220 | MDEyOklzc3VlQ29tbWVudDc2MTAxNTIxOA== | mhalle 649467 | 2021-01-15T15:40:08Z | 2021-01-15T15:40:08Z | NONE | Make sense. If you're coming from the sqlite3 side of things, rather than the datasette side, wanting the fts methods to work for views makes more sense. sqlite3 allows fts5 tables on views, so I was looking for CLI functionality to build the fts virtual tables. Ultimately, though, sharing fts virtual tables across tables and derivative views is likely more efficient. Maybe an explicit error message like, "fts is not supported for views" rather than just throwing an exception that the method doesn't exist" might be helpful. Not critical though. Thanks. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better error message for *_fts methods against views 783778672 | |
760950128 | https://github.com/dogsheep/twitter-to-sqlite/pull/55#issuecomment-760950128 | https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/55 | MDEyOklzc3VlQ29tbWVudDc2MDk1MDEyOA== | jacobian 21148 | 2021-01-15T13:44:52Z | 2021-01-15T13:44:52Z | CONTRIBUTOR | I found and fixed another bug, this one around importing the tweets table. @simonw let me know if you'd prefer this broken out into multiple PRs, happy to do that if it makes review/merging easier. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix archive imports 779211940 | |
759875239 | https://github.com/simonw/datasette/issues/1187#issuecomment-759875239 | https://api.github.com/repos/simonw/datasette/issues/1187 | MDEyOklzc3VlQ29tbWVudDc1OTg3NTIzOQ== | simonw 9599 | 2021-01-14T02:02:24Z | 2021-01-14T02:02:31Z | OWNER | This plugin hook currently returns a string of JavaScript. It could optionally return this instead of a string:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extra_body_script() support for script type="module" 785588942 | |
759874332 | https://github.com/simonw/datasette/issues/1186#issuecomment-759874332 | https://api.github.com/repos/simonw/datasette/issues/1186 | MDEyOklzc3VlQ29tbWVudDc1OTg3NDMzMg== | simonw 9599 | 2021-01-14T01:59:35Z | 2021-01-14T01:59:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
script type="module" support 785573793 | ||
759306228 | https://github.com/simonw/datasette/pull/1159#issuecomment-759306228 | https://api.github.com/repos/simonw/datasette/issues/1159 | MDEyOklzc3VlQ29tbWVudDc1OTMwNjIyOA== | lovasoa 552629 | 2021-01-13T08:59:31Z | 2021-01-13T08:59:31Z | NONE | @simonw : Did you have the time to take a look at this ? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Improve the display of facets information 774332247 | |
759098964 | https://github.com/simonw/sqlite-utils/issues/220#issuecomment-759098964 | https://api.github.com/repos/simonw/sqlite-utils/issues/220 | MDEyOklzc3VlQ29tbWVudDc1OTA5ODk2NA== | simonw 9599 | 2021-01-12T23:19:55Z | 2021-01-12T23:19:55Z | OWNER | I don't think it makes sense to call Can you expand on your use-case for FTS and views? I'm ready to be convinced otherwise, but I don't see how it would work right now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better error message for *_fts methods against views 783778672 | |
759069342 | https://github.com/simonw/datasette/issues/1185#issuecomment-759069342 | https://api.github.com/repos/simonw/datasette/issues/1185 | MDEyOklzc3VlQ29tbWVudDc1OTA2OTM0Mg== | simonw 9599 | 2021-01-12T22:13:18Z | 2021-01-12T22:13:18Z | OWNER | I'm going to change the error message to list the allowed pragmas. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Statement may not contain PRAGMA" error is not strictly true 784628163 | |
759067427 | https://github.com/simonw/datasette/issues/1185#issuecomment-759067427 | https://api.github.com/repos/simonw/datasette/issues/1185 | MDEyOklzc3VlQ29tbWVudDc1OTA2NzQyNw== | simonw 9599 | 2021-01-12T22:09:21Z | 2021-01-12T22:09:21Z | OWNER | That allow-list was added in #761 but is not currently documented. It's here in the code: https://github.com/simonw/datasette/blob/8e8fc5cee5c78da8334495c6d6257d5612c40792/datasette/utils/init.py#L173-L186 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Statement may not contain PRAGMA" error is not strictly true 784628163 | |
759066777 | https://github.com/simonw/datasette/issues/1185#issuecomment-759066777 | https://api.github.com/repos/simonw/datasette/issues/1185 | MDEyOklzc3VlQ29tbWVudDc1OTA2Njc3Nw== | simonw 9599 | 2021-01-12T22:07:58Z | 2021-01-12T22:07:58Z | OWNER | https://docs.datasette.io/en/stable/sql_queries.html?highlight=pragma#named-parameters documentation is out-of-date as well:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Statement may not contain PRAGMA" error is not strictly true 784628163 | |
758668359 | https://github.com/simonw/datasette/issues/1091#issuecomment-758668359 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1ODY2ODM1OQ== | tballison 6739646 | 2021-01-12T13:52:29Z | 2021-01-12T13:52:29Z | NONE | Y, thank you to both of you! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
758448525 | https://github.com/simonw/datasette/issues/1091#issuecomment-758448525 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1ODQ0ODUyNQ== | henry501 19328961 | 2021-01-12T06:55:08Z | 2021-01-12T06:55:08Z | NONE | Great, really happy I could help! Reverse proxies get tricky. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
758356640 | https://github.com/simonw/datasette/issues/1183#issuecomment-758356640 | https://api.github.com/repos/simonw/datasette/issues/1183 | MDEyOklzc3VlQ29tbWVudDc1ODM1NjY0MA== | simonw 9599 | 2021-01-12T02:42:08Z | 2021-01-12T02:42:08Z | OWNER | Should Datasette have subcommands for this? Maybe. The |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Take advantage of sqlite-utils cached table counts, if available 782708469 | |
758356097 | https://github.com/simonw/datasette/issues/1183#issuecomment-758356097 | https://api.github.com/repos/simonw/datasette/issues/1183 | MDEyOklzc3VlQ29tbWVudDc1ODM1NjA5Nw== | simonw 9599 | 2021-01-12T02:40:30Z | 2021-01-12T02:40:30Z | OWNER | So how would this work? I think I'm going to automatically use these values if the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Take advantage of sqlite-utils cached table counts, if available 782708469 | |
758283074 | https://github.com/simonw/datasette/issues/1091#issuecomment-758283074 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1ODI4MzA3NA== | simonw 9599 | 2021-01-11T23:12:46Z | 2021-01-11T23:12:46Z | OWNER | Fantastic! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
758280611 | https://github.com/simonw/datasette/issues/1091#issuecomment-758280611 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1ODI4MDYxMQ== | tballison 6739646 | 2021-01-11T23:06:10Z | 2021-01-11T23:06:10Z | NONE | +1 Yep! Fixes it. If I navigate to https://corpora.tika.apache.org/datasette, I get a 404 (database not found: datasette), but if I navigate to https://corpora.tika.apache.org/datasette/file_profiles/, everything WORKS! Thank you! |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 1, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
757375858 | https://github.com/simonw/datasette/issues/1182#issuecomment-757375858 | https://api.github.com/repos/simonw/datasette/issues/1182 | MDEyOklzc3VlQ29tbWVudDc1NzM3NTg1OA== | simonw 9599 | 2021-01-09T22:18:47Z | 2021-01-09T22:18:47Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Retire "Ecosystem" page in favour of datasette.io/plugins and /tools 782692159 | ||
757373741 | https://github.com/simonw/datasette/issues/1182#issuecomment-757373741 | https://api.github.com/repos/simonw/datasette/issues/1182 | MDEyOklzc3VlQ29tbWVudDc1NzM3Mzc0MQ== | simonw 9599 | 2021-01-09T22:01:41Z | 2021-01-09T22:01:41Z | OWNER | It can talk about Dogsheep too. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Retire "Ecosystem" page in favour of datasette.io/plugins and /tools 782692159 | |
757373082 | https://github.com/simonw/datasette/issues/1182#issuecomment-757373082 | https://api.github.com/repos/simonw/datasette/issues/1182 | MDEyOklzc3VlQ29tbWVudDc1NzM3MzA4Mg== | simonw 9599 | 2021-01-09T21:55:33Z | 2021-01-09T21:55:33Z | OWNER | I'll leave the page there but change it into more of a blurb about the existence of the plugins and tools directories. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Retire "Ecosystem" page in favour of datasette.io/plugins and /tools 782692159 | |
756487966 | https://github.com/simonw/datasette/issues/1181#issuecomment-756487966 | https://api.github.com/repos/simonw/datasette/issues/1181 | MDEyOklzc3VlQ29tbWVudDc1NjQ4Nzk2Ng== | simonw 9599 | 2021-01-08T01:25:42Z | 2021-01-08T01:25:42Z | OWNER | I'm going to add a unit test that tries a variety of weird database names. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Certain database names results in 404: "Database not found: None" 781262510 | |
756482163 | https://github.com/simonw/datasette/issues/1181#issuecomment-756482163 | https://api.github.com/repos/simonw/datasette/issues/1181 | MDEyOklzc3VlQ29tbWVudDc1NjQ4MjE2Mw== | simonw 9599 | 2021-01-08T01:06:23Z | 2021-01-08T01:06:54Z | OWNER | Yes, that logic is definitely at fault. It looks like it applies |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Certain database names results in 404: "Database not found: None" 781262510 | |
756453945 | https://github.com/simonw/datasette/issues/1091#issuecomment-756453945 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1NjQ1Mzk0NQ== | simonw 9599 | 2021-01-07T23:42:50Z | 2021-01-07T23:42:50Z | OWNER | @henry501 it looks like you spotted a bug in the documentation - I just addressed that, the fix is now live here: https://docs.datasette.io/en/latest/deploying.html#running-datasette-behind-a-proxy |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
756453010 | https://github.com/simonw/datasette/issues/1091#issuecomment-756453010 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1NjQ1MzAxMA== | simonw 9599 | 2021-01-07T23:39:58Z | 2021-01-07T23:40:25Z | OWNER | @tballison I think that's the solution! It looks like you need to use this in your config:
Instead of this:
Give that a go and let me know if it fixes it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
756425587 | https://github.com/simonw/datasette/issues/1091#issuecomment-756425587 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc1NjQyNTU4Nw== | henry501 19328961 | 2021-01-07T22:27:19Z | 2021-01-07T22:27:19Z | NONE | I found this issue while troubleshooting the same behavior with an nginx reverse proxy. The solution was to make sure I set:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
756335394 | https://github.com/simonw/datasette/issues/1171#issuecomment-756335394 | https://api.github.com/repos/simonw/datasette/issues/1171 | MDEyOklzc3VlQ29tbWVudDc1NjMzNTM5NA== | simonw 9599 | 2021-01-07T19:35:59Z | 2021-01-07T19:35:59Z | OWNER | I requested a D-U-N-S number as a first step in getting a developer certificate: https://developer.apple.com/support/D-U-N-S/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GitHub Actions workflow to build and sign macOS binary executables 778450486 | |
756312213 | https://github.com/simonw/datasette/issues/1180#issuecomment-756312213 | https://api.github.com/repos/simonw/datasette/issues/1180 | MDEyOklzc3VlQ29tbWVudDc1NjMxMjIxMw== | simonw 9599 | 2021-01-07T18:56:24Z | 2021-01-07T18:56:24Z | OWNER | The |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Lazily evaluated arguments for call_with_supported_arguments 780767542 | |
755500475 | https://github.com/simonw/datasette/issues/1180#issuecomment-755500475 | https://api.github.com/repos/simonw/datasette/issues/1180 | MDEyOklzc3VlQ29tbWVudDc1NTUwMDQ3NQ== | simonw 9599 | 2021-01-06T18:43:41Z | 2021-01-06T18:43:41Z | OWNER | Relevant code: https://github.com/simonw/datasette/blob/97fb10c17dd007a275ab743742e93e932335ad67/datasette/utils/init.py#L919-L940 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Lazily evaluated arguments for call_with_supported_arguments 780767542 | |
755495387 | https://github.com/simonw/datasette/issues/1179#issuecomment-755495387 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc1NTQ5NTM4Nw== | simonw 9599 | 2021-01-06T18:39:23Z | 2021-01-06T18:39:23Z | OWNER | In that case maybe there are three new arguments: I'll also add |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | |
755492945 | https://github.com/simonw/datasette/issues/1179#issuecomment-755492945 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc1NTQ5Mjk0NQ== | simonw 9599 | 2021-01-06T18:37:39Z | 2021-01-06T18:37:39Z | OWNER | I think I'll call this |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | |
755489974 | https://github.com/simonw/datasette/issues/1179#issuecomment-755489974 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc1NTQ4OTk3NA== | simonw 9599 | 2021-01-06T18:35:24Z | 2021-01-06T18:35:24Z | OWNER | Django calls this |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | |
755486103 | https://github.com/simonw/datasette/issues/1179#issuecomment-755486103 | https://api.github.com/repos/simonw/datasette/issues/1179 | MDEyOklzc3VlQ29tbWVudDc1NTQ4NjEwMw== | simonw 9599 | 2021-01-06T18:32:41Z | 2021-01-06T18:34:11Z | OWNER | This parameter will return the URL path, with querystring arguments, to the HTML version of the page - e.g. Open questions:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make original path available to render hooks 780278550 | |
755484384 | https://github.com/simonw/datasette/issues/782#issuecomment-755484384 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDc1NTQ4NDM4NA== | simonw 9599 | 2021-01-06T18:31:14Z | 2021-01-06T18:31:57Z | OWNER | In building https://latest-with-plugins.datasette.io/github/issue_comments.Notebook?_labels=on I discovered the following patterns for importing data into both Pandas and Observable/d3:
Even given this I still think the correct default is an object with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
755476820 | https://github.com/simonw/datasette/issues/1178#issuecomment-755476820 | https://api.github.com/repos/simonw/datasette/issues/1178 | MDEyOklzc3VlQ29tbWVudDc1NTQ3NjgyMA== | simonw 9599 | 2021-01-06T18:24:47Z | 2021-01-06T18:24:47Z | OWNER | Issue fixed - https://latest-with-plugins.datasette.io/github/issue_comments.Notebook?_labels=on displays the correct schemes now. I can't think of a reason anyone on Cloud Run would ever NOT want the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use force_https_urls on when deploying with Cloud Run 780267857 |
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