issue_comments
10,495 rows sorted by node_id
This data as json, CSV (advanced)
issue >30
- JavaScript plugin hooks mechanism similar to pluggy 47
- Redesign default .json format 46
- Updated Dockerfile with SpatiaLite version 5.0 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- await datasette.client.get(path) mechanism for executing internal requests 33
- Maintain an in-memory SQLite table of connected databases and their tables 32
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Support cross-database joins 26
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- Redesign register_output_renderer callback 24
- "datasette insert" command and plugin hook 23
- .json and .csv exports fail to apply base_url 22
- Idea: import CSV to memory, run SQL, export in a single command 22
- Datasette Plugins 21
- 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
- Mechanism for storing metadata in _metadata tables 20
- WIP: Add Gmail takeout mbox import 20
- ?sort=colname~numeric to sort by by column cast to real 19
- Better way of representing binary data in .csv output 19
- …
id | html_url | issue_url | node_id ▼ | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
344409906 | https://github.com/simonw/datasette/issues/93#issuecomment-344409906 | https://api.github.com/repos/simonw/datasette/issues/93 | MDEyOklzc3VlQ29tbWVudDM0NDQwOTkwNg== | simonw 9599 | 2017-11-14T21:47:02Z | 2017-11-14T21:47:02Z | OWNER | Even without bundling in the database file itself, I'd love to have a standalone binary version of the core I think Sanic may have some complex dependencies, but I've never tried pyinstaller so I don't know how easy or hard it would be to get this working. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package as standalone binary 273944952 | |
344415756 | https://github.com/simonw/datasette/issues/93#issuecomment-344415756 | https://api.github.com/repos/simonw/datasette/issues/93 | MDEyOklzc3VlQ29tbWVudDM0NDQxNTc1Ng== | simonw 9599 | 2017-11-14T22:09:13Z | 2017-11-14T22:09:13Z | OWNER | Looks like we'd need to use this recipe: https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Setuptools-Entry-Point |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package as standalone binary 273944952 | |
344424382 | https://github.com/simonw/datasette/issues/93#issuecomment-344424382 | https://api.github.com/repos/simonw/datasette/issues/93 | MDEyOklzc3VlQ29tbWVudDM0NDQyNDM4Mg== | atomotic 67420 | 2017-11-14T22:42:16Z | 2017-11-14T22:42:16Z | NONE | tried quickly, this seems working: ``` ~ pip3 install pyinstaller ~ pyinstaller -F --add-data /usr/local/lib/python3.6/site-packages/datasette/templates:datasette/templates --add-data /usr/local/lib/python3.6/site-packages/datasette/static:datasette/static /usr/local/bin/datasette ~ du -h dist/datasette 6.8M dist/datasette ~ file dist/datasette dist/datasette: Mach-O 64-bit executable x86_64 ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package as standalone binary 273944952 | |
344426887 | https://github.com/simonw/datasette/issues/93#issuecomment-344426887 | https://api.github.com/repos/simonw/datasette/issues/93 | MDEyOklzc3VlQ29tbWVudDM0NDQyNjg4Nw== | simonw 9599 | 2017-11-14T22:51:46Z | 2017-11-14T22:51:46Z | OWNER | That didn't quite work for me. It built me a
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package as standalone binary 273944952 | |
344427448 | https://github.com/simonw/datasette/issues/88#issuecomment-344427448 | https://api.github.com/repos/simonw/datasette/issues/88 | MDEyOklzc3VlQ29tbWVudDM0NDQyNzQ0OA== | simonw 9599 | 2017-11-14T22:54:06Z | 2017-11-14T22:54:06Z | OWNER | Hooray! First dataset that wasn't deployed by me :) https://github.com/simonw/datasette/wiki/Datasettes |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add NHS England Hospitals example to wiki 273775212 | |
344427560 | https://github.com/simonw/datasette/issues/88#issuecomment-344427560 | https://api.github.com/repos/simonw/datasette/issues/88 | MDEyOklzc3VlQ29tbWVudDM0NDQyNzU2MA== | simonw 9599 | 2017-11-14T22:54:33Z | 2017-11-14T22:54:33Z | OWNER | I'm getting an internal server error on http://run.plnkr.co/preview/cj9zlf1qc0003414y90ajkwpk/ at the moment |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add NHS England Hospitals example to wiki 273775212 | |
344430299 | https://github.com/simonw/datasette/issues/93#issuecomment-344430299 | https://api.github.com/repos/simonw/datasette/issues/93 | MDEyOklzc3VlQ29tbWVudDM0NDQzMDI5OQ== | atomotic 67420 | 2017-11-14T23:06:33Z | 2017-11-14T23:06:33Z | NONE | i will look better tomorrow, it's late i surely made some mistake https://asciinema.org/a/ZyAWbetrlriDadwWyVPUWB94H |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package as standalone binary 273944952 | |
344430689 | https://github.com/simonw/datasette/issues/88#issuecomment-344430689 | https://api.github.com/repos/simonw/datasette/issues/88 | MDEyOklzc3VlQ29tbWVudDM0NDQzMDY4OQ== | tomdyson 15543 | 2017-11-14T23:08:22Z | 2017-11-14T23:08:22Z | CONTRIBUTOR |
Sorry about that - here's a working version on Netlify: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add NHS England Hospitals example to wiki 273775212 | |
344438724 | https://github.com/simonw/datasette/issues/14#issuecomment-344438724 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NDQzODcyNA== | simonw 9599 | 2017-11-14T23:47:54Z | 2017-11-14T23:47:54Z | OWNER | Plugins should be able to interact with the build step. This would give plugins an opportunity to modify the SQL databases and help prepare them for serving - for example, a full-text search plugin might create additional FTS tables, or a mapping plugin might pre-calculate a bunch of geohashes for tables that have latitude/longitude values. Plugins could really take advantage of the immutable nature of the dataset here. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | |
344597274 | https://github.com/simonw/datasette/issues/101#issuecomment-344597274 | https://api.github.com/repos/simonw/datasette/issues/101 | MDEyOklzc3VlQ29tbWVudDM0NDU5NzI3NA== | eaubin 450244 | 2017-11-15T13:48:55Z | 2017-11-15T13:48:55Z | NONE | This is a duplicate of https://github.com/simonw/datasette/issues/100 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
TemplateAssertionError: no filter named 'tojson' 274161964 | |
344516406 | https://github.com/simonw/datasette/issues/93#issuecomment-344516406 | https://api.github.com/repos/simonw/datasette/issues/93 | MDEyOklzc3VlQ29tbWVudDM0NDUxNjQwNg== | atomotic 67420 | 2017-11-15T08:09:41Z | 2017-11-15T08:09:41Z | NONE | actually you can use travis to build for linux/macos and appveyor to build for windows. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Package as standalone binary 273944952 | |
344657040 | https://github.com/simonw/datasette/issues/85#issuecomment-344657040 | https://api.github.com/repos/simonw/datasette/issues/85 | MDEyOklzc3VlQ29tbWVudDM0NDY1NzA0MA== | simonw 9599 | 2017-11-15T16:56:48Z | 2017-11-15T16:56:48Z | OWNER | Since detecting foreign keys that point to a specific table is a bit expensive (you have to call a PRAGMA on every other table) I’m going to add this to the build/inspect stage. Idea: if we detect that the foreign key table only has one other column in it (id, name) AND we know that the id is the primary key, we can add an efficient lookup on the table list view and prefetch a dictionary mapping IDs to their value. Then we can feed that dictionary in as extra tenplate context and use it to render labeled hyperlinks in the corresponding column. This means our build step should also cache which columns are indexed, and add a “label_column” property for tables with an obvious lane column. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Detect foreign keys and use them to link HTML pages together 273678673 | |
344667202 | https://github.com/simonw/datasette/issues/90#issuecomment-344667202 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NDY2NzIwMg== | simonw 9599 | 2017-11-15T17:29:38Z | 2017-11-15T17:29:38Z | OWNER | @jacobian points out that a buildpack may be a better fit than a Docker container for implementing this: https://twitter.com/jacobian/status/930849058465255424 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
344680385 | https://github.com/simonw/datasette/issues/90#issuecomment-344680385 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NDY4MDM4NQ== | simonw 9599 | 2017-11-15T18:14:11Z | 2017-11-15T18:14:11Z | OWNER | Maybe we don’t even need a buildpack... we could create a temporary directory, set up a classic heroku app with the datasette serve command in the Procfile and then git push to deploy. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
344686483 | https://github.com/simonw/datasette/issues/90#issuecomment-344686483 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NDY4NjQ4Mw== | simonw 9599 | 2017-11-15T18:36:23Z | 2017-11-15T18:36:23Z | OWNER | The “datasette build” command would need to run in a bin/post_compile script eg https://github.com/simonw/simonwillisonblog/blob/cloudflare-ips/bin/post_compile |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
344687328 | https://github.com/simonw/datasette/issues/90#issuecomment-344687328 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NDY4NzMyOA== | simonw 9599 | 2017-11-15T18:39:14Z | 2017-11-15T18:39:49Z | OWNER | By default the command could use a temporary directory that gets cleaned up after the deploy, but we could allow users to opt in to keeping the generated directory like so:
This would create the my-heroku-app folder so you can later execute further git deploys from there. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
344770170 | https://github.com/simonw/datasette/pull/107#issuecomment-344770170 | https://api.github.com/repos/simonw/datasette/issues/107 | MDEyOklzc3VlQ29tbWVudDM0NDc3MDE3MA== | simonw 9599 | 2017-11-16T00:01:00Z | 2017-11-16T00:01:22Z | OWNER | It is - but I think this will break on this line since it expects two format string parameters: Needs unit tests too, which live here: https://github.com/simonw/datasette/blob/f45ca30f91b92ac68adaba893bf034f13ec61ced/tests/test_utils.py#L49 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
add support for ?field__isnull=1 274343647 | |
344771130 | https://github.com/simonw/datasette/issues/100#issuecomment-344771130 | https://api.github.com/repos/simonw/datasette/issues/100 | MDEyOklzc3VlQ29tbWVudDM0NDc3MTEzMA== | simonw 9599 | 2017-11-16T00:06:00Z | 2017-11-16T00:06:00Z | OWNER | Aha... it looks like this is a Jinja version problem: https://github.com/ansible/ansible/issues/25381#issuecomment-306492389 Datasette depends on sanic-jinja2 - and that doesn't depend on a particular jinja2 version: https://github.com/lixxu/sanic-jinja2/blob/7e9520850d8c6bb66faf43b7f252593d7efe3452/setup.py#L22 So if you have an older version of Jinja installed, stuff breaks. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
TemplateAssertionError: no filter named 'tojson' 274160723 | |
344786528 | https://github.com/simonw/datasette/issues/96#issuecomment-344786528 | https://api.github.com/repos/simonw/datasette/issues/96 | MDEyOklzc3VlQ29tbWVudDM0NDc4NjUyOA== | simonw 9599 | 2017-11-16T01:32:41Z | 2017-11-16T01:32:41Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI for editing named parameters 274001453 | ||
344788435 | https://github.com/simonw/datasette/issues/96#issuecomment-344788435 | https://api.github.com/repos/simonw/datasette/issues/96 | MDEyOklzc3VlQ29tbWVudDM0NDc4ODQzNQ== | simonw 9599 | 2017-11-16T01:43:52Z | 2017-11-16T01:43:52Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI for editing named parameters 274001453 | ||
344788763 | https://github.com/simonw/datasette/issues/96#issuecomment-344788763 | https://api.github.com/repos/simonw/datasette/issues/96 | MDEyOklzc3VlQ29tbWVudDM0NDc4ODc2Mw== | simonw 9599 | 2017-11-16T01:45:51Z | 2017-11-16T01:45:51Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI for editing named parameters 274001453 | ||
344710204 | https://github.com/simonw/datasette/pull/104#issuecomment-344710204 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NDcxMDIwNA== | jacobian 21148 | 2017-11-15T19:57:50Z | 2017-11-15T19:57:50Z | CONTRIBUTOR | A first basic stab at making this work, just to prove the approach. Right now this requires a Heroku CLI plugin, which seems pretty unreasonable. I think this can be replaced with direct API calls, which could clean up a lot of things. But I wanted to prove it worked first, and it does. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
344864254 | https://github.com/simonw/datasette/issues/100#issuecomment-344864254 | https://api.github.com/repos/simonw/datasette/issues/100 | MDEyOklzc3VlQ29tbWVudDM0NDg2NDI1NA== | coisnepe 13304454 | 2017-11-16T09:25:10Z | 2017-11-16T09:25:10Z | NONE | @simonw I see. I upgraded sanic-jinja2 and jinja2: it now works flawlessly. Thank you! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
TemplateAssertionError: no filter named 'tojson' 274160723 | |
344810525 | https://github.com/simonw/datasette/issues/46#issuecomment-344810525 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDgxMDUyNQ== | ingenieroariel 54999 | 2017-11-16T04:11:25Z | 2017-11-16T04:11:25Z | CONTRIBUTOR | @simonw On the spatialite support, here is some info to make it work and a screenshot: I used the following Dockerfile: ``` FROM prolocutor/python3-sqlite-ext:3.5.1-spatialite as build RUN mkdir /code ADD . /code/ RUN pip install /code/ EXPOSE 8001 CMD ["datasette", "serve", "/code/ne.sqlite", "--host", "0.0.0.0"] ``` and added this to |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
344811268 | https://github.com/simonw/datasette/pull/107#issuecomment-344811268 | https://api.github.com/repos/simonw/datasette/issues/107 | MDEyOklzc3VlQ29tbWVudDM0NDgxMTI2OA== | raynae 3433657 | 2017-11-16T04:17:45Z | 2017-11-16T04:17:45Z | CONTRIBUTOR | Thanks for the guidance. I added a unit test and made a slight change to utils.py. I didn't realize this, but evidently string.format only complains if you supply less arguments than there are format placeholders, so the original commit worked, but was adding a superfluous named param. I added a conditional that prevents the named param from being created and ensures the correct number of args are passed to sting.format. It has the side effect of hiding the SQL query in /templates/table.html when there are no other where clauses--not sure if that's the desired outcome here. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
add support for ?field__isnull=1 274343647 | |
344975156 | https://github.com/simonw/datasette/issues/46#issuecomment-344975156 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDk3NTE1Ng== | simonw 9599 | 2017-11-16T16:19:44Z | 2017-11-16T16:19:44Z | OWNER | That's fantastic! Thank you very much for that. Do you know if it's possible to view the Dockerfile used by https://hub.docker.com/r/prolocutor/python3-sqlite-ext/ ? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
344976104 | https://github.com/simonw/datasette/issues/46#issuecomment-344976104 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDk3NjEwNA== | simonw 9599 | 2017-11-16T16:22:45Z | 2017-11-16T16:22:45Z | OWNER | Found a relevant Dockerfile on Reddit: https://www.reddit.com/r/Python/comments/5unkb3/install_sqlite3_on_python_3/ddzdz2b/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
344976882 | https://github.com/simonw/datasette/issues/46#issuecomment-344976882 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDk3Njg4Mg== | simonw 9599 | 2017-11-16T16:25:07Z | 2017-11-16T16:25:07Z | OWNER | Maybe part of the solution here is to add a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
344986423 | https://github.com/simonw/datasette/issues/109#issuecomment-344986423 | https://api.github.com/repos/simonw/datasette/issues/109 | MDEyOklzc3VlQ29tbWVudDM0NDk4NjQyMw== | simonw 9599 | 2017-11-16T16:53:26Z | 2017-11-16T16:53:26Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Set up readthedocs 274378301 | ||
344988263 | https://github.com/simonw/datasette/issues/110#issuecomment-344988263 | https://api.github.com/repos/simonw/datasette/issues/110 | MDEyOklzc3VlQ29tbWVudDM0NDk4ODI2Mw== | simonw 9599 | 2017-11-16T16:58:48Z | 2017-11-16T16:58:48Z | OWNER | Here's how I tested this. First I downloaded and started a docker container using https://hub.docker.com/r/prolocutor/python3-sqlite-ext - which includes the compiled spatialite extension. This downloads it, then starts a shell in that container.
Installed a pre-release build of datasette which includes the new
Now grab a sample database from https://www.gaia-gis.it/spatialite-2.3.1/resources.html - and unzip and rename it (datasette doesn't yet like databases with dots in their filename):
Now start datasette on port 8018 (the port I exposed earlier) with the extension loaded:
Now I can confirm that it worked: http://localhost:8018/test23-c88bc35?sql=select+ST_AsText%28Geometry%29+from+HighWays+limit+1 If I run datasette without
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add --load-extension option to datasette for loading extra SQLite extensions 274578142 | |
344988591 | https://github.com/simonw/datasette/issues/46#issuecomment-344988591 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDk4ODU5MQ== | simonw 9599 | 2017-11-16T16:59:51Z | 2017-11-16T16:59:51Z | OWNER | OK, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
344989340 | https://github.com/simonw/datasette/issues/46#issuecomment-344989340 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDk4OTM0MA== | simonw 9599 | 2017-11-16T17:02:07Z | 2017-11-16T17:02:07Z | OWNER | The fact that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
344995571 | https://github.com/simonw/datasette/issues/46#issuecomment-344995571 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NDk5NTU3MQ== | simonw 9599 | 2017-11-16T17:22:32Z | 2017-11-16T17:22:32Z | OWNER | The JSON extension would be very worthwhile too: https://www.sqlite.org/json1.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
345067498 | https://github.com/simonw/datasette/issues/14#issuecomment-345067498 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NTA2NzQ5OA== | simonw 9599 | 2017-11-16T21:25:32Z | 2017-11-16T21:26:22Z | OWNER | For visualizations, Google Maps should be made available as a plugin. The default visualizations can use Leaflet and Open Street Map, but there's no reason to not make Google Maps available as a plugin, especially if the plugin can provide a mechanism for configuring the necessary API key. I'm particularly excited in the Google Maps heatmap visualization https://developers.google.com/maps/documentation/javascript/heatmaplayer as seen on http://mochimachine.org/wasteland/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | |
345002908 | https://github.com/simonw/datasette/issues/46#issuecomment-345002908 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NTAwMjkwOA== | ingenieroariel 54999 | 2017-11-16T17:47:49Z | 2017-11-16T17:47:49Z | CONTRIBUTOR | I'll try to find alternatives to the Dockerfile option - I also think we should not use that old one without sources or license. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
345013127 | https://github.com/simonw/datasette/issues/111#issuecomment-345013127 | https://api.github.com/repos/simonw/datasette/issues/111 | MDEyOklzc3VlQ29tbWVudDM0NTAxMzEyNw== | simonw 9599 | 2017-11-16T18:23:56Z | 2017-11-16T18:23:56Z | OWNER | Having this as a global option may not make sense when publishing multiple databases. We can revisit that when we implement per-database and per-table metadata. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
345017256 | https://github.com/simonw/datasette/issues/110#issuecomment-345017256 | https://api.github.com/repos/simonw/datasette/issues/110 | MDEyOklzc3VlQ29tbWVudDM0NTAxNzI1Ng== | simonw 9599 | 2017-11-16T18:38:30Z | 2017-11-16T18:38:30Z | OWNER | To finish up, I committed the image I created in the above so I can run it again in the future:
Now I can run it like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add --load-extension option to datasette for loading extra SQLite extensions 274578142 | |
345150048 | https://github.com/simonw/datasette/issues/85#issuecomment-345150048 | https://api.github.com/repos/simonw/datasette/issues/85 | MDEyOklzc3VlQ29tbWVudDM0NTE1MDA0OA== | simonw 9599 | 2017-11-17T05:35:25Z | 2017-11-17T05:35:25Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Detect foreign keys and use them to link HTML pages together 273678673 | |
345108644 | https://github.com/simonw/datasette/pull/107#issuecomment-345108644 | https://api.github.com/repos/simonw/datasette/issues/107 | MDEyOklzc3VlQ29tbWVudDM0NTEwODY0NA== | simonw 9599 | 2017-11-17T00:34:46Z | 2017-11-17T00:34:46Z | OWNER | Looks like your tests are failing because of a bug which I fixed in https://github.com/simonw/datasette/commit/9199945a1bcec4852e1cb866eb3642614dd32a48 - if you rebase to master the tests should pass. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
add support for ?field__isnull=1 274343647 | |
345117690 | https://github.com/simonw/datasette/pull/107#issuecomment-345117690 | https://api.github.com/repos/simonw/datasette/issues/107 | MDEyOklzc3VlQ29tbWVudDM0NTExNzY5MA== | raynae 3433657 | 2017-11-17T01:29:41Z | 2017-11-17T01:29:41Z | CONTRIBUTOR | Thanks for bearing with me. I was getting a message about my branch diverging when I tried to push after rebasing, so I merged master into isnull, seems like that did the trick. Let me know if I should make any corrections. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
add support for ?field__isnull=1 274343647 | |
345138134 | https://github.com/simonw/datasette/pull/114#issuecomment-345138134 | https://api.github.com/repos/simonw/datasette/issues/114 | MDEyOklzc3VlQ29tbWVudDM0NTEzODEzNA== | simonw 9599 | 2017-11-17T03:50:38Z | 2017-11-17T03:50:38Z | OWNER | Fantastic! Thank you very much. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add spatialite, switch to debian and local build 274733145 | |
345138347 | https://github.com/simonw/datasette/issues/46#issuecomment-345138347 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NTEzODM0Nw== | simonw 9599 | 2017-11-17T03:52:25Z | 2017-11-17T03:52:25Z | OWNER | We now have a Dockerfile that compiles spatialite! https://github.com/simonw/datasette/pull/114/commits/6c6b63d890529eeefcefb7ab126ea3bd7b2315c1 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
345242447 | https://github.com/simonw/datasette/issues/85#issuecomment-345242447 | https://api.github.com/repos/simonw/datasette/issues/85 | MDEyOklzc3VlQ29tbWVudDM0NTI0MjQ0Nw== | simonw 9599 | 2017-11-17T13:22:33Z | 2017-11-17T13:23:14Z | OWNER | I could support explicit label columns using additional arguments to
This would mean "in mydb, set the label column for table1 to name, and the label column for table2 to title" |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Detect foreign keys and use them to link HTML pages together 273678673 | |
345255655 | https://github.com/simonw/datasette/issues/112#issuecomment-345255655 | https://api.github.com/repos/simonw/datasette/issues/112 | MDEyOklzc3VlQ29tbWVudDM0NTI1NTY1NQ== | simonw 9599 | 2017-11-17T14:19:23Z | 2017-11-17T14:19:23Z | OWNER | I tesed this by first building and running a container using the new Dockerfile from #114:
Then I ran this inside the container itself:
I visited this URL to confirm I got an error due to spatialite not being loaded: http://localhost:8001/test23-c88bc35?sql=select+ST_AsText%28Geometry%29+from+HighWays+limit+1 Then I checked that loading it with
Then, finally, I tested it with the new environment variable option:
Running it with an invalid environment variable option shows an error:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow --load-extension to be set via environment variables 274617240 | |
345256576 | https://github.com/simonw/datasette/pull/115#issuecomment-345256576 | https://api.github.com/repos/simonw/datasette/issues/115 | MDEyOklzc3VlQ29tbWVudDM0NTI1NjU3Ng== | simonw 9599 | 2017-11-17T14:22:51Z | 2017-11-17T14:22:51Z | OWNER | This is great - I've been frustrated by how CodeMirror prevents me from hitting tab-enter to activate the "Run SQL" button. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add keyboard shortcut to execute SQL query 274877366 | |
345259115 | https://github.com/simonw/datasette/issues/46#issuecomment-345259115 | https://api.github.com/repos/simonw/datasette/issues/46 | MDEyOklzc3VlQ29tbWVudDM0NTI1OTExNQ== | simonw 9599 | 2017-11-17T14:32:12Z | 2017-11-17T14:32:12Z | OWNER | OK, I can confirm that the version in the new docker container supports FTS5, JSON and spatialite! Notes on how I built the container and tested the spatialite extension are here: https://github.com/simonw/datasette/issues/112#issuecomment-345255655 To confirm that JSON and FTS5 are working, I ran the following:
If I do the same thing in python3 on my OS X laptop directly, I get this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 | |
345260784 | https://github.com/simonw/datasette/issues/64#issuecomment-345260784 | https://api.github.com/repos/simonw/datasette/issues/64 | MDEyOklzc3VlQ29tbWVudDM0NTI2MDc4NA== | simonw 9599 | 2017-11-17T14:38:21Z | 2017-11-17T14:38:21Z | OWNER | This was fixed by ed2b3f25beac720f14869350baacc5f62b065194 in #107 - thanks @raynae! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for ?field__isnull=1 or similar 273181020 | |
345262738 | https://github.com/simonw/datasette/issues/36#issuecomment-345262738 | https://api.github.com/repos/simonw/datasette/issues/36 | MDEyOklzc3VlQ29tbWVudDM0NTI2MjczOA== | simonw 9599 | 2017-11-17T14:45:37Z | 2017-11-17T14:45:37Z | OWNER | Consider for example https://fivethirtyeight.datasettes.com/fivethirtyeight/inconvenient-sequel%2Fratings The idea here is to be able to support querystring parameters like this:
This is similar to #64 but a fair bit more complicated. SQLite date functions are documented here: https://sqlite.org/lang_datefunc.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
date, year, month and day querystring lookups 268262480 | |
345342512 | https://github.com/simonw/datasette/issues/44#issuecomment-345342512 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTM0MjUxMg== | simonw 9599 | 2017-11-17T19:27:53Z | 2017-11-20T04:37:35Z | OWNER | This should support multiple columns, e.g. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345343079 | https://github.com/simonw/datasette/issues/44#issuecomment-345343079 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTM0MzA3OQ== | simonw 9599 | 2017-11-17T19:29:43Z | 2017-11-17T19:29:43Z | OWNER | Should this support sum/avg/etc as well? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345447161 | https://github.com/simonw/datasette/pull/104#issuecomment-345447161 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NTQ0NzE2MQ== | simonw 9599 | 2017-11-18T14:53:17Z | 2017-11-18T14:53:17Z | OWNER | any reason I shouldn't land this? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
345448756 | https://github.com/simonw/datasette/issues/36#issuecomment-345448756 | https://api.github.com/repos/simonw/datasette/issues/36 | MDEyOklzc3VlQ29tbWVudDM0NTQ0ODc1Ng== | simonw 9599 | 2017-11-18T15:17:43Z | 2017-11-18T15:17:43Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
date, year, month and day querystring lookups 268262480 | ||
345452215 | https://github.com/simonw/datasette/issues/121#issuecomment-345452215 | https://api.github.com/repos/simonw/datasette/issues/121 | MDEyOklzc3VlQ29tbWVudDM0NTQ1MjIxNQ== | simonw 9599 | 2017-11-18T16:11:23Z | 2017-11-18T16:11:23Z | OWNER | If a column value is invalid JSON, let's return the invalid JSON as a regular string. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_json=foo&_json=bar query string argument 275089535 | |
345452669 | https://github.com/simonw/datasette/pull/104#issuecomment-345452669 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NTQ1MjY2OQ== | jacobian 21148 | 2017-11-18T16:18:45Z | 2017-11-18T16:18:45Z | CONTRIBUTOR | I'd like to do a bit of cleanup, and some error checking in case heroku/heroku-builds isn't installed. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
345493344 | https://github.com/simonw/datasette/issues/105#issuecomment-345493344 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTQ5MzM0NA== | simonw 9599 | 2017-11-19T05:28:49Z | 2017-11-19T05:28:49Z | OWNER | Looks like there are a ton of interesting datasets packaged in this way at http://datahub.io/docs/core-data - see also https://github.com/datasets |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | |
345494052 | https://github.com/simonw/datasette/issues/105#issuecomment-345494052 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDA1Mg== | simonw 9599 | 2017-11-19T05:49:53Z | 2017-11-19T05:49:53Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | ||
345494775 | https://github.com/simonw/datasette/issues/86#issuecomment-345494775 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDc3NQ== | simonw 9599 | 2017-11-19T06:09:43Z | 2017-11-19T06:09:43Z | OWNER | Now that we have foreign key support (#85) this is even more important, since foreign key support actively encourages linking to filtered table views. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345494724 | https://github.com/simonw/datasette/issues/85#issuecomment-345494724 | https://api.github.com/repos/simonw/datasette/issues/85 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDcyNA== | simonw 9599 | 2017-11-19T06:08:19Z | 2017-11-19T06:08:19Z | OWNER | This is working really nicely now: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Detect foreign keys and use them to link HTML pages together 273678673 | |
345494971 | https://github.com/simonw/datasette/issues/44#issuecomment-345494971 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDk3MQ== | simonw 9599 | 2017-11-19T06:15:39Z | 2017-11-19T06:15:39Z | OWNER | It would be great if this could support foreign key references and automatically resolve and hyperlink them if they are detected. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345494918 | https://github.com/simonw/datasette/issues/86#issuecomment-345494918 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDkxOA== | simonw 9599 | 2017-11-19T06:14:17Z | 2017-11-19T06:14:17Z | OWNER | If the selected relationship is a foreign key reference, we should resolve that foreign key and display it on the page. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345495046 | https://github.com/simonw/datasette/issues/127#issuecomment-345495046 | https://api.github.com/repos/simonw/datasette/issues/127 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NTA0Ng== | simonw 9599 | 2017-11-19T06:17:42Z | 2017-11-19T06:17:42Z | OWNER | Maybe I should support |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filtered tables should show count of all matching rows, if fast enough 275135719 | |
345496540 | https://github.com/simonw/datasette/issues/86#issuecomment-345496540 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NjU0MA== | simonw 9599 | 2017-11-19T06:59:40Z | 2017-11-19T06:59:40Z | OWNER | OK,I've figured out how to do an initial version of this without JavaScript. I'll provide three form fields labell d "add filter":
Submit those and the site will redirect you to a correctly populated querystring for that filter. If you have filters applied, those will display as prepopulated form field triples. For foreign key reference filters, I will display the resolved value next to the text box containing the numeric ID. In the future this can get a select2 style treatment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345497453 | https://github.com/simonw/datasette/issues/86#issuecomment-345497453 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NzQ1Mw== | simonw 9599 | 2017-11-19T07:21:22Z | 2017-11-19T07:21:22Z | OWNER | I'm going to be a bit classier about this and auto generate a title for the page that describes the currently applied filters. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345497534 | https://github.com/simonw/datasette/issues/86#issuecomment-345497534 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NzUzNA== | simonw 9599 | 2017-11-19T07:23:33Z | 2017-11-19T07:23:33Z | OWNER | "Tablename: 3,567 rows where status = 3 (published) and n > 55" |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345497689 | https://github.com/simonw/datasette/issues/86#issuecomment-345497689 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NzY4OQ== | simonw 9599 | 2017-11-19T07:27:40Z | 2017-11-19T07:27:40Z | OWNER | I'll have to refactor the foreign key annotating code to be usable in other contexts - at the moment it only works for annotating displays of rows, but I need to use it to resolve selected filters as well. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345404257 | https://github.com/simonw/datasette/pull/117#issuecomment-345404257 | https://api.github.com/repos/simonw/datasette/issues/117 | MDEyOklzc3VlQ29tbWVudDM0NTQwNDI1Nw== | simonw 9599 | 2017-11-18T00:53:58Z | 2017-11-18T00:53:58Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't prevent tabbing to `Run SQL` button 274900388 | |
345552358 | https://github.com/simonw/datasette/issues/122#issuecomment-345552358 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0NTU1MjM1OA== | simonw 9599 | 2017-11-19T21:45:38Z | 2017-12-05T19:09:52Z | OWNER | For the overall shape of the rows:
For getting back extra keys:
For expanding columns:
Or The template view will only be allowed to work with data it can request using extra options. That leaves one sighted nasty edge-case: the default view will expand all columns, but the I think that's OK. The default view won't include the extras used by the template to render the page either. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
345552440 | https://github.com/simonw/datasette/issues/122#issuecomment-345552440 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0NTU1MjQ0MA== | simonw 9599 | 2017-11-19T21:46:43Z | 2017-11-19T21:46:43Z | OWNER | This calls for refactoring the code so the table view, the row view and the custom SQL view share as much logic as possible. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
345552500 | https://github.com/simonw/datasette/issues/122#issuecomment-345552500 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0NTU1MjUwMA== | simonw 9599 | 2017-11-19T21:47:27Z | 2017-11-19T21:47:27Z | OWNER | To start with, I could just ditch the .jsono in favour of the new _shape argument. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
345559864 | https://github.com/simonw/datasette/issues/86#issuecomment-345559864 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTU1OTg2NA== | simonw 9599 | 2017-11-19T23:35:48Z | 2017-11-19T23:35:48Z | OWNER | I need a nicer abstraction around the concept of filters. It needs to be able to:
It should replace my current |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345503897 | https://github.com/simonw/datasette/issues/105#issuecomment-345503897 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTUwMzg5Nw== | rgieseke 198537 | 2017-11-19T09:38:08Z | 2017-11-19T09:38:08Z | CONTRIBUTOR | Thanks, I wrote this very simple reader because the default approach as described on the Datahub pages seemed to complicated. I had metadata from the This could also be useful for getting from Data Package to SQL db: https://github.com/frictionlessdata/tableschema-sql-py I maintain a few climate science related dataset at https://github.com/openclimatedata/ The Data Retriever (mainly ecological data) by @ethanwhite et al. is also using the Data Package format for metadata and has some tooling for different dbs: https://frictionlessdata.io/articles/the-data-retriever/ https://github.com/weecology/retriever The Open Power System Data project also has a couple of datasets that show nicely how CSV is great for assembling and then already make SQLite files available. It's one of the first data sets I tried with Datasette, perfect for the use case of getting an API for putting power stations on a map ... |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | |
345509500 | https://github.com/simonw/datasette/issues/97#issuecomment-345509500 | https://api.github.com/repos/simonw/datasette/issues/97 | MDEyOklzc3VlQ29tbWVudDM0NTUwOTUwMA== | yschimke 231923 | 2017-11-19T11:26:58Z | 2017-11-19T11:26:58Z | NONE | Specifically docs should make it clearer this file exists https://parlgov.datasettes.com/.json And from that you can build https://parlgov.datasettes.com/parlgov-25f9855.json Then https://parlgov.datasettes.com/parlgov-25f9855/cabinet.json |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Link to JSON for the list of tables 274022950 | |
345526171 | https://github.com/simonw/datasette/issues/131#issuecomment-345526171 | https://api.github.com/repos/simonw/datasette/issues/131 | MDEyOklzc3VlQ29tbWVudDM0NTUyNjE3MQ== | simonw 9599 | 2017-11-19T15:44:30Z | 2017-11-19T15:44:30Z | OWNER | Relevant SQLite docs: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI support for running FTS searches 275166669 | |
345526517 | https://github.com/simonw/datasette/issues/131#issuecomment-345526517 | https://api.github.com/repos/simonw/datasette/issues/131 | MDEyOklzc3VlQ29tbWVudDM0NTUyNjUxNw== | simonw 9599 | 2017-11-19T15:48:28Z | 2017-11-19T15:48:28Z | OWNER | Since SQLite supports column specifications in the MATCH body itself, there's no need to provide a separate mechanism for specifying columns in the query string: https://sqlite.org/fts5.html#fts5_column_filters |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI support for running FTS searches 275166669 | |
345533274 | https://github.com/simonw/datasette/issues/131#issuecomment-345533274 | https://api.github.com/repos/simonw/datasette/issues/131 | MDEyOklzc3VlQ29tbWVudDM0NTUzMzI3NA== | simonw 9599 | 2017-11-19T17:17:37Z | 2017-11-19T17:18:05Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI support for running FTS searches 275166669 | ||
345537268 | https://github.com/simonw/datasette/issues/134#issuecomment-345537268 | https://api.github.com/repos/simonw/datasette/issues/134 | MDEyOklzc3VlQ29tbWVudDM0NTUzNzI2OA== | simonw 9599 | 2017-11-19T18:10:48Z | 2017-11-19T18:10:48Z | OWNER | Dupe of #127 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filtered table view should show a count 275176094 | |
345537315 | https://github.com/simonw/datasette/issues/44#issuecomment-345537315 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTUzNzMxNQ== | simonw 9599 | 2017-11-19T18:11:27Z | 2017-11-19T18:11:27Z | OWNER | This would enable faceted search - moving it to the search milestone. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345538016 | https://github.com/simonw/datasette/issues/127#issuecomment-345538016 | https://api.github.com/repos/simonw/datasette/issues/127 | MDEyOklzc3VlQ29tbWVudDM0NTUzODAxNg== | simonw 9599 | 2017-11-19T18:22:45Z | 2017-11-19T18:22:45Z | OWNER | I implemented a basic version of this in f59c840e7db8870afcdeba7a53bdea07bb674334 for custom SQL. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filtered tables should show count of all matching rows, if fast enough 275135719 | |
345652450 | https://github.com/simonw/datasette/issues/27#issuecomment-345652450 | https://api.github.com/repos/simonw/datasette/issues/27 | MDEyOklzc3VlQ29tbWVudDM0NTY1MjQ1MA== | rgieseke 198537 | 2017-11-20T10:19:39Z | 2017-11-20T10:19:39Z | CONTRIBUTOR | If Data Package metadata gets adopted (#105) the views spec work might also be worth a look: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to plot a simple graph 267886330 | |
345601103 | https://github.com/simonw/datasette/issues/44#issuecomment-345601103 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTYwMTEwMw== | simonw 9599 | 2017-11-20T06:13:35Z | 2017-11-20T06:13:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | ||
345601870 | https://github.com/simonw/datasette/issues/133#issuecomment-345601870 | https://api.github.com/repos/simonw/datasette/issues/133 | MDEyOklzc3VlQ29tbWVudDM0NTYwMTg3MA== | simonw 9599 | 2017-11-20T06:18:53Z | 2017-11-20T06:18:53Z | OWNER | This may be tackled by the filters work happening in #86 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If view is filtered, search should apply within those filtered rows 275176006 | |
345750135 | https://github.com/simonw/datasette/issues/137#issuecomment-345750135 | https://api.github.com/repos/simonw/datasette/issues/137 | MDEyOklzc3VlQ29tbWVudDM0NTc1MDEzNQ== | simonw 9599 | 2017-11-20T16:30:56Z | 2018-07-10T17:53:13Z | OWNER | One possible route: introduce prefixes eg |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to combine multiple SQL queries on a single graph 275415799 | |
345793887 | https://github.com/simonw/datasette/issues/129#issuecomment-345793887 | https://api.github.com/repos/simonw/datasette/issues/129 | MDEyOklzc3VlQ29tbWVudDM0NTc5Mzg4Nw== | simonw 9599 | 2017-11-20T19:00:30Z | 2017-11-20T19:00:30Z | OWNER | Need to hide these from the index summary page as well: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hide FTS-created tables by default on the database index page 275164558 | |
345893877 | https://github.com/simonw/datasette/issues/14#issuecomment-345893877 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NTg5Mzg3Nw== | simonw 9599 | 2017-11-21T02:11:27Z | 2017-11-21T02:11:27Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | ||
345809808 | https://github.com/simonw/datasette/issues/105#issuecomment-345809808 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTgwOTgwOA== | simonw 9599 | 2017-11-20T19:50:53Z | 2017-11-20T19:50:53Z | OWNER | OK, https://github.com/openclimatedata/global-carbon-budget/blob/master/datapackage.json really does look like it covers all of the bases I need for #138. Closing this ticket in favour of that new one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | |
345810031 | https://github.com/simonw/datasette/issues/42#issuecomment-345810031 | https://api.github.com/repos/simonw/datasette/issues/42 | MDEyOklzc3VlQ29tbWVudDM0NTgxMDAzMQ== | simonw 9599 | 2017-11-20T19:51:29Z | 2017-11-20T19:51:29Z | OWNER | See also #138 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Homepage UI for editing metadata file 268591332 | |
346157542 | https://github.com/simonw/datasette/issues/141#issuecomment-346157542 | https://api.github.com/repos/simonw/datasette/issues/141 | MDEyOklzc3VlQ29tbWVudDM0NjE1NzU0Mg== | simonw 9599 | 2017-11-21T20:53:47Z | 2017-11-21T20:53:47Z | OWNER | I think a copy is the right thing to do here - it will be cleaned up when the temp directory is removed. The hard link thing was always intended to save space, but if we can't do a hard link I don't see any harm in a temporary file copy. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish can fail if /tmp is on a different device 275814941 | |
346161985 | https://github.com/simonw/datasette/issues/90#issuecomment-346161985 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NjE2MTk4NQ== | simonw 9599 | 2017-11-21T21:10:22Z | 2017-11-21T21:10:22Z | OWNER | Woohoo! I've found one tiny issue: right now, the following doesn't work:
It results in this error in the Heroku logs:
The command works fine if you run it in the same directory as the database file you are publishing. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
346163513 | https://github.com/simonw/datasette/issues/90#issuecomment-346163513 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NjE2MzUxMw== | simonw 9599 | 2017-11-21T21:16:16Z | 2017-11-21T21:16:16Z | OWNER | The reason relative paths work for Clearly the correct thing to do here is for us to refactor the shared code between heroku/package/now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
346116745 | https://github.com/simonw/datasette/pull/104#issuecomment-346116745 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NjExNjc0NQ== | jacobian 21148 | 2017-11-21T18:23:25Z | 2017-11-21T18:23:25Z | CONTRIBUTOR | @simonw ready for a review and merge if you want. There's still some nasty duplicated code in cli.py and utils.py, which is just going to get worse if/when we start adding any other deploy targets (and I want to do one for cloud.gov, at least). I think there's an opportunity for some refactoring here. I'm happy to do that now as part of this PR, or if you merge this first I'll do it in a different one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
346124073 | https://github.com/simonw/datasette/pull/104#issuecomment-346124073 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NjEyNDA3Mw== | jacobian 21148 | 2017-11-21T18:49:55Z | 2017-11-21T18:49:55Z | CONTRIBUTOR | Actually hang on, don't merge - there are some bugs that #141 masked when I tested this out elsewhere. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
346124764 | https://github.com/simonw/datasette/pull/104#issuecomment-346124764 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NjEyNDc2NA== | jacobian 21148 | 2017-11-21T18:52:14Z | 2017-11-21T18:52:14Z | CONTRIBUTOR | OK, now this should work. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
346244871 | https://github.com/simonw/datasette/issues/14#issuecomment-346244871 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NjI0NDg3MQ== | jacobian 21148 | 2017-11-22T05:06:30Z | 2017-11-22T05:06:30Z | CONTRIBUTOR | I'd also suggest taking a look at stevedore, which has a ton of tools for doing plugin stuff. I've had good luck with it in the past. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | |
346217739 | https://github.com/simonw/datasette/issues/142#issuecomment-346217739 | https://api.github.com/repos/simonw/datasette/issues/142 | MDEyOklzc3VlQ29tbWVudDM0NjIxNzczOQ== | simonw 9599 | 2017-11-22T01:45:30Z | 2017-11-22T01:45:30Z | OWNER | Might be nice to have a --no-limits option that disables time and maximum row count limits. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show extra instructions with the interrupted 275917760 | |
346463342 | https://github.com/simonw/datasette/issues/129#issuecomment-346463342 | https://api.github.com/repos/simonw/datasette/issues/129 | MDEyOklzc3VlQ29tbWVudDM0NjQ2MzM0Mg== | simonw 9599 | 2017-11-22T20:22:02Z | 2017-11-22T20:22:02Z | OWNER | On the index page: On the database index page: After clicking that link: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hide FTS-created tables by default on the database index page 275164558 | |
346405660 | https://github.com/simonw/datasette/issues/144#issuecomment-346405660 | https://api.github.com/repos/simonw/datasette/issues/144 | MDEyOklzc3VlQ29tbWVudDM0NjQwNTY2MA== | simonw 9599 | 2017-11-22T16:38:05Z | 2017-11-22T16:38:05Z | OWNER | I have a solution for FTS already, but I'm interested in apsw as a mechanism for allowing custom virtual tables to be written in Python (pysqlite only lets you write custom functions) Not having PyPI support is pretty tough though. I'm planning a plugin/extension system which would be ideal for things like an optional apsw mode, but that's a lot harder if apsw isn't in PyPI. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
apsw as alternative sqlite3 binding (for full text search) 276091279 | |
346406009 | https://github.com/simonw/datasette/issues/14#issuecomment-346406009 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NjQwNjAwOQ== | simonw 9599 | 2017-11-22T16:39:08Z | 2017-11-22T16:39:08Z | OWNER | Oh thanks, that definitely looks like an interesting option. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | |
346427794 | https://github.com/simonw/datasette/issues/144#issuecomment-346427794 | https://api.github.com/repos/simonw/datasette/issues/144 | MDEyOklzc3VlQ29tbWVudDM0NjQyNzc5NA== | mhalle 649467 | 2017-11-22T17:55:45Z | 2017-11-22T17:55:45Z | NONE | Thanks. There is a way to use pip to grab apsw, which also let's you configure it (flags to build extensions, use an internal sqlite, etc). Don't know how that works as a dependency for another package, though. On November 22, 2017 11:38:06 AM EST, Simon Willison notifications@github.com wrote:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
apsw as alternative sqlite3 binding (for full text search) 276091279 | |
346530498 | https://github.com/simonw/datasette/issues/86#issuecomment-346530498 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NjUzMDQ5OA== | simonw 9599 | 2017-11-23T04:35:07Z | 2017-11-23T04:35:07Z | OWNER | Here's where I am now. Needs a bit of UI tidy up and it will be good to release: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
346682905 | https://github.com/simonw/datasette/issues/146#issuecomment-346682905 | https://api.github.com/repos/simonw/datasette/issues/146 | MDEyOklzc3VlQ29tbWVudDM0NjY4MjkwNQ== | simonw 9599 | 2017-11-23T18:55:08Z | 2017-11-23T18:55:08Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish gcloud 276455748 |
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