home / github

Menu
  • GraphQL API

issues

Table actions
  • GraphQL API for issues

758 rows where comments = 1

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: state, author_association, repo, type, draft, created_at (date), updated_at (date), closed_at (date)

id ▼ node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association pull_request body repo type active_lock_reason performed_via_github_app reactions draft state_reason
267515678 MDU6SXNzdWUyNjc1MTU2Nzg= 3 Make individual column valuables addressable, with smart content types simonw 9599 open 0     1 2017-10-23T01:11:32Z 2017-12-10T03:11:58Z   OWNER   Some SQLite databases embed images in columns. It would be cool if these had URLs. /database-name-7sha256/table-name/compound-pk/column /database-name-7sha256/table-name/compound-pk/column.json /database-name-7sha256/table-name/compound-pk/column.png /database-name-7sha256/table-name/compound-pk/column.gif /database-name-7sha256/table-name/compound-pk/column.txt The one without an explicit file extension auto-detects the correct extension. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/3/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}    
267516650 MDU6SXNzdWUyNjc1MTY2NTA= 7 Framework where by every page is JSON plus a template simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-23T01:22:03Z 2017-10-24T02:27:25Z 2017-10-24T02:27:25Z OWNER   Every single page of my interface should be implemented as a function that returns JSON. I can then build my jinja templates on top of the exact data that would be returned by the API version. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/7/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267517314 MDU6SXNzdWUyNjc1MTczMTQ= 8 Attempting an INSERT or UPDATE should return a sane error message simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-23T01:28:25Z 2017-10-23T15:28:12Z 2017-10-23T15:28:08Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/8/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267517381 MDU6SXNzdWUyNjc1MTczODE= 10 Set up Travis simonw 9599 closed 0   v1 stretch goals 2859414 1 2017-10-23T01:29:07Z 2017-11-04T23:48:57Z 2017-11-04T23:48:57Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/10/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267522549 MDU6SXNzdWUyNjc1MjI1NDk= 11 Code that generates compile-time properties about the database simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-23T02:18:24Z 2017-10-23T16:04:23Z 2017-10-23T16:04:23Z OWNER   At a minimum this will include: * sha hash of each database file * list of tables with row counts for each database file datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/11/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267523511 MDU6SXNzdWUyNjc1MjM1MTE= 12 Make it so you can override templates simonw 9599 closed 0   Custom templates edition 2949431 1 2017-10-23T02:25:35Z 2017-11-30T16:42:46Z 2017-11-30T16:38:34Z OWNER   The app will ship with default templates but, just like with the Django admin, you will be able to override them using either explicit configuration settings or just by dropping in templates with certain file names. Template inheritance should work here, both allowing you to override just the base template and allowing you to customize tiny bits of others. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/12/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267542338 MDU6SXNzdWUyNjc1NDIzMzg= 13 Add a syntax highlighting SQL editor simonw 9599 closed 0     1 2017-10-23T05:03:33Z 2017-11-15T02:04:51Z 2017-11-15T02:04:51Z OWNER   https://ace.c9.io/#nav=embedding looks like a good option datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/13/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267732005 MDU6SXNzdWUyNjc3MzIwMDU= 17 In development mode, should still pick up new .db files simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-23T16:22:40Z 2017-10-24T02:26:48Z 2017-10-24T02:26:47Z OWNER   Follow on from #11 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/17/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267739593 MDU6SXNzdWUyNjc3Mzk1OTM= 18 See if I can get a websockets interface working simonw 9599 closed 0     1 2017-10-23T16:46:41Z 2021-01-04T20:05:52Z 2021-01-04T20:05:48Z OWNER   Since I am already running on Sanic, how hard would it be to add a websocket ebdpoint that lets you talk to sqlite interactively? Could this be used to efficiently support streaming in answers to giant queries? datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/18/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267741262 MDU6SXNzdWUyNjc3NDEyNjI= 19 Efficient url for downloading the raw database file simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-23T16:52:17Z 2017-10-25T15:21:16Z 2017-10-25T15:19:37Z OWNER   Use Sanic support for steaming large files http://sanic.readthedocs.io/en/latest/sanic/response.html#file-streaming datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/19/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
267769034 MDU6SXNzdWUyNjc3NjkwMzQ= 21 Use Sanic configuration mechanism simonw 9599 closed 0   v1 stretch goals 2859414 1 2017-10-23T18:25:14Z 2017-11-10T20:45:42Z 2017-11-10T20:45:42Z OWNER   http://sanic.readthedocs.io/en/latest/sanic/config.html datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/21/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268050821 MDU6SXNzdWUyNjgwNTA4MjE= 29 Handle bytestring records encoding to JSON simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-24T14:18:45Z 2017-10-24T14:59:00Z 2017-10-24T14:58:47Z OWNER   http://localhost:8006/northwind-40d049b/Categories.json 500s right now The string representation of one of the values looks like this: b"\x15\x1c/\x00\x02\x00 This is a bytestring from the database which cannot be naively converted to a unicode string. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/29/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268078453 MDU6SXNzdWUyNjgwNzg0NTM= 30 Do something neat with foreign keys simonw 9599 closed 0     1 2017-10-24T15:29:29Z 2017-11-14T18:29:08Z 2017-11-14T18:29:01Z OWNER   https://www.sqlite.org/pragma.html#pragma_foreign_key_list SQLite has robust support for introspecting foreign keys. I could use that to automatically link to the corresponding record from my tables. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/30/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268087542 MDU6SXNzdWUyNjgwODc1NDI= 31 Idea: colour scheme based on sha256 of db simonw 9599 closed 0   v1 stretch goals 2859414 1 2017-10-24T15:52:38Z 2018-05-28T18:10:45Z 2017-11-09T14:14:59Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/31/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268106803 MDU6SXNzdWUyNjgxMDY4MDM= 32 Try running SQLite queries in a separate thread simonw 9599 closed 0   v1 stretch goals 2859414 1 2017-10-24T16:48:42Z 2017-11-09T14:05:56Z 2017-11-09T14:05:56Z OWNER   https://pymotw.com/3/asyncio/executors.html Would be good to have some actual benchmarks so I can evaluate if this is worth it or not. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/32/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268176505 MDU6SXNzdWUyNjgxNzY1MDU= 34 Support CSV export with a .csv extension simonw 9599 closed 0     1 2017-10-24T20:34:43Z 2021-06-17T18:14:48Z 2018-05-28T20:45:34Z OWNER   Maybe do this using streaming with multiple pagination SQL queries so we can support arbritrarily large exports. How would this work against a view which doesn’t have an obvious efficient pagination mechanism? Maybe limit views to up to 1000 exported records? Relates to #5 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/34/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268590777 MDU6SXNzdWUyNjg1OTA3Nzc= 41 Homepage should show summary of databases simonw 9599 closed 0   Ship first public release 2857392 1 2017-10-26T00:18:11Z 2017-10-27T04:05:35Z 2017-10-27T04:05:35Z OWNER   I sch database should have a name, optional description, download link and a summary of the tables Flights.db Flights and suchlike blah. URL? License? 577373 rows across 14 tables airports, routes, airlines... Title of the homepage is derived from the databases or can be manually overridden e. “Datasets of Flights, NHS, Blah...” - or if only one database just the title of that. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/41/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
268592894 MDU6SXNzdWUyNjg1OTI4OTQ= 43 While running, server should spot new db files added to its directory simonw 9599 closed 0   v1 stretch goals 2859414 1 2017-10-26T00:32:37Z 2017-11-14T08:25:53Z 2017-11-14T08:25:37Z OWNER   Maybe in each request it checks the time and if 5s has elapsed since t last scanned the directory it scans it again This would allow people with dedicated hosting to run the app there and just upload new datasets whenever they want. It would also be very convenient for development. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/43/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
272735257 MDU6SXNzdWUyNzI3MzUyNTc= 51 Make a proper README simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-09T21:46:07Z 2017-11-13T18:44:23Z 2017-11-13T18:44:23Z OWNER   Include instructions on building a local Docker container - currently detailed here: https://gist.github.com/simonw/0ea5c960608c2d876e4637a5e48aa95d (those instructions don't work now that we have removed the Dockerfile in favour of a template generated by `datasette publish`) datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/51/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273121803 MDU6SXNzdWUyNzMxMjE4MDM= 54 Views should not attempt to link to records / use rowids simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-11T05:44:54Z 2017-11-12T21:29:42Z 2017-11-12T21:29:33Z OWNER   http://localhost:8001/parlgov-development-25f9855/view_variable <img width="837" alt="parlgov-development__view_variable" src="https://user-images.githubusercontent.com/9599/32686757-5b40f6a8-c660-11e7-88de-5e8dfb12ccf1.png"> datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/54/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273127443 MDU6SXNzdWUyNzMxMjc0NDM= 56 Easy way to block search engine crawling in robots.txt simonw 9599 closed 0     1 2017-11-11T07:46:07Z 2018-05-28T20:50:25Z 2018-05-28T20:50:24Z OWNER   For people who don't want their datasets to be crawled by search engines. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/56/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273163905 MDU6SXNzdWUyNzMxNjM5MDU= 60 Rethink how metadata is generated and stored simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-11T18:01:28Z 2017-11-11T20:12:17Z 2017-11-11T20:12:16Z OWNER   I broke the existing mechanism in 407795b61217205625f2d4e084afbf69f1db781b In order to get unit tests for the sanic app working. I think i should ditch the build-metadata.json cache file entirely and calculate the SHA hashes on startup. Not sure what to do about the table row counts. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/60/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273174447 MDU6SXNzdWUyNzMxNzQ0NDc= 63 Review design of JSON output simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-11T20:38:33Z 2017-11-11T22:20:17Z 2017-11-11T22:20:17Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/63/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273181020 MDU6SXNzdWUyNzMxODEwMjA= 64 Support for ?field__isnull=1 or similar simonw 9599 closed 0     1 2017-11-11T22:26:52Z 2017-11-17T14:38:21Z 2017-11-17T14:38:21Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/64/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273191608 MDU6SXNzdWUyNzMxOTE2MDg= 65 Re-implement ?sql= mode simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-12T01:47:17Z 2017-11-12T02:36:37Z 2017-11-12T02:35:42Z OWNER   Here's the code I removed: async def data(self, request, name, hash): sql = 'select * from sqlite_master' custom_sql = False params = {} if request.args.get('sql'): params = request.raw_args sql = params.pop('sql') validate_sql_select(sql) custom_sql = True rows = await self.execute(name, sql, params) columns = [r[0] for r in rows.description] return { 'database': name, 'rows': rows, 'columns': columns, 'query': { 'sql': sql, 'params': params, } }, { 'database_hash': hash, 'custom_sql': custom_sql, } datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/65/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273191806 MDU6SXNzdWUyNzMxOTE4MDY= 66 Show table SQL on table page simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-12T01:51:23Z 2017-11-12T21:17:29Z 2017-11-12T21:17:29Z OWNER   Let's do the SQL for the table you are looking at, plus SQL for any indexes that mention that table. The page for a view should show the SQL for that view. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/66/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273296684 MDU6SXNzdWUyNzMyOTY2ODQ= 74 Send a 302 redirect to the new hash for hits to old hashes simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-13T03:00:59Z 2017-11-13T18:49:59Z 2017-11-13T18:49:59Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/74/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273509159 MDU6SXNzdWUyNzM1MDkxNTk= 75 Add --cors argument to serve simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-13T17:16:19Z 2017-11-13T18:17:52Z 2017-11-13T18:17:52Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/75/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273596159 MDU6SXNzdWUyNzM1OTYxNTk= 82 Post a blog entry announcing it to the world simonw 9599 closed 0   Ship first public release 2857392 1 2017-11-13T22:10:35Z 2017-11-14T01:46:10Z 2017-11-14T01:46:10Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/82/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273709194 MDU6SXNzdWUyNzM3MDkxOTQ= 87 Configure Travis to release new tags to PyPI simonw 9599 closed 0     1 2017-11-14T08:44:08Z 2018-07-10T17:49:13Z 2018-07-10T17:49:12Z OWNER   https://docs.travis-ci.com/user/deployment/pypi/ datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/87/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273816720 MDExOlB1bGxSZXF1ZXN0MTUyNTIyNzYy 89 SQL syntax highlighting with CodeMirror tomdyson 15543 closed 0     1 2017-11-14T14:43:33Z 2017-11-15T02:03:01Z 2017-11-15T02:03:01Z CONTRIBUTOR simonw/datasette/pulls/89 Addresses #13 Future enhancements could include autocompletion of table and column names, e.g. with ```javascript extraKeys: {"Ctrl-Space": "autocomplete"}, hintOptions: {tables: { users: ["name", "score", "birthDate"], countries: ["name", "population", "size"] }} ``` (see https://codemirror.net/doc/manual.html#addon_sql-hint and source at http://codemirror.net/mode/sql/) datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/89/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
273878873 MDU6SXNzdWUyNzM4Nzg4NzM= 91 Option to serve databases from a different prefix, serve regular content elsewhere simonw 9599 closed 0     1 2017-11-14T17:32:46Z 2017-12-10T03:07:58Z 2017-12-10T03:07:53Z OWNER   It would be useful if the databases themselves could be served from a prefix e.g. datasette serve mydb.db --path-prefix=db Now my database is at `http://localhost:8001/db/mydb-23423` This would free up the rest of the URL namespace for other things. Maybe we could have an option to serve static content from a known folder e.g. datasette serve mydb.db --path-prefix=db --root-content=~/my-project/static Now a hit to `http://localhost:8001/news/` serves content from `~/my-project/static/news/index.html` This would make it trivial to package up entire HTML/CSS/JS apps with one or more underlying SQLite databases. Running without `--cors` would be fine here because any JS apps would be hosted on the same origin. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/91/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
273961179 MDExOlB1bGxSZXF1ZXN0MTUyNjMxNTcw 94 Initial add simple prod ready Dockerfile refs #57 macropin 247192 closed 0     1 2017-11-14T22:09:09Z 2017-11-15T03:08:04Z 2017-11-15T03:08:04Z CONTRIBUTOR simonw/datasette/pulls/94 Multi-stage build based off official python:3.6-slim Example usage: ``` docker run --rm -t -i -p 9000:8001 -v $(pwd)/db:/db datasette datasette serve /db/chinook.db ``` datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/94/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
273998513 MDU6SXNzdWUyNzM5OTg1MTM= 95 Allow shorter time limits to be set using a ?_sql_time_limit_ms =20 query string limit simonw 9599 closed 0     1 2017-11-15T01:02:16Z 2017-11-15T02:56:13Z 2017-11-15T02:56:13Z OWNER   This cannot be greater than the configured time limit. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/95/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274161964 MDU6SXNzdWUyNzQxNjE5NjQ= 101 TemplateAssertionError: no filter named 'tojson' eaubin 450244 closed 0     1 2017-11-15T13:47:32Z 2017-11-15T13:48:55Z 2017-11-15T13:48:55Z NONE   I get an exception clicking on the table link: ``` 2017-11-15 08:40:10 - (sanic)[ERROR]: Traceback (most recent call last): File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/sanic/app.py", line 503, in handle_request response = await response File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/datasette/app.py", line 155, in get return await self.view_get(request, name, hash, **kwargs) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/datasette/app.py", line 219, in view_get **context, File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/sanic_jinja2/__init__.py", line 84, in render return html(self.render_string(template, request, **context)) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/sanic_jinja2/__init__.py", line 81, in render_string return self.env.get_template(template).render(**context) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/jinja2/environment.py", line 812, in get_template return self._load_template(name, self.make_globals(globals)) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/jinja2/environment.py", line 786, in _load_template template = self.loader.load(self, name, globals) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/jinja2/loaders.py", line 125, in load code = environment.compile(source, name, filename) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/jinja2/environment.py", line 565, in compile self.handle_exception(exc_info, source_hint=source_hint) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/jinja2/environment.py", line 754, in handle_exception reraise(exc_type, exc_value, tb) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/jinja2/_compat.py", line 37, in reraise raise value.with_traceback(tb) File "/Users/e/anaconda3-4.2.0/lib/python3.5/site-packages/datasette/templates/table.html", line 29, in template <pre>params = {{ query.params|tojson(4) }}</pre> File "/Users/e/… datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/101/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274264175 MDU6SXNzdWUyNzQyNjQxNzU= 102 datasette publish elasticbeanstalk simonw 9599 closed 0     1 2017-11-15T18:48:31Z 2021-01-04T20:13:20Z 2021-01-04T20:13:19Z OWNER   It looks like Elastic Beanstalk is the most convenient way to deploy a docker container to AWS without first deploying a cluster. https://aws.amazon.com/blogs/devops/dockerizing-a-python-web-app/ looks helpful. We would need to automate the deployment with Boto: http://boto3.readthedocs.io/en/latest/reference/services/elasticbeanstalk.html datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/102/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274265878 MDU6SXNzdWUyNzQyNjU4Nzg= 103 datasette publish appengine simonw 9599 closed 0     1 2017-11-15T18:54:18Z 2021-01-04T20:05:14Z 2021-01-04T20:05:14Z OWNER   Similar approach to Heroku, discussed in #90 Looks like this could be pretty easy: https://cloud.google.com/appengine/docs/flexible/python/quickstart datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/103/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274315193 MDU6SXNzdWUyNzQzMTUxOTM= 106 Document how pagination works simonw 9599 closed 0     1 2017-11-15T21:44:32Z 2019-06-24T06:42:33Z 2019-06-24T06:42:33Z OWNER   I made a start at that in this comment: https://news.ycombinator.com/item?id=15691926 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/106/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274378301 MDU6SXNzdWUyNzQzNzgzMDE= 109 Set up readthedocs simonw 9599 closed 0     1 2017-11-16T02:58:01Z 2017-11-16T16:53:26Z 2017-11-16T16:13:56Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/109/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274617240 MDU6SXNzdWUyNzQ2MTcyNDA= 112 Allow --load-extension to be set via environment variables simonw 9599 closed 0     1 2017-11-16T18:28:31Z 2017-11-17T14:19:23Z 2017-11-17T14:17:27Z OWNER   This will make it easier to package up datasette in a Docker container with a bunch of pre-compiled extensions without the user having to remember to include all of the options every time. Click has a mechanism for this: http://click.pocoo.org/5/options/#multiple-values-from-environment-values datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/112/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274733145 MDExOlB1bGxSZXF1ZXN0MTUzMjAxOTQ1 114 Add spatialite, switch to debian and local build ingenieroariel 54999 closed 0     1 2017-11-17T02:37:09Z 2017-11-17T03:50:52Z 2017-11-17T03:50:52Z CONTRIBUTOR simonw/datasette/pulls/114 Improves the Dockerfile to support spatial datasets, work with the local datasette code (Friendly with git tags and Dockerhub) and moves to slim debian, a small image easy to extend via apt packages for sqlite. datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/114/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
274877366 MDExOlB1bGxSZXF1ZXN0MTUzMzA2ODgy 115 Add keyboard shortcut to execute SQL query rgieseke 198537 closed 0     1 2017-11-17T14:13:33Z 2017-11-17T15:16:34Z 2017-11-17T14:22:56Z CONTRIBUTOR simonw/datasette/pulls/115 Very cool tool, thanks a lot! This PR adds a `Shift-Enter` short cut to execute the SQL query. I used CodeMirrors keyboard handling. datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/115/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
274884209 MDU6SXNzdWUyNzQ4ODQyMDk= 116 Add documentation section about SQLite extensions simonw 9599 closed 0     1 2017-11-17T14:36:30Z 2018-05-28T17:23:42Z 2018-05-28T17:23:41Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/116/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
274900388 MDExOlB1bGxSZXF1ZXN0MTUzMzI0MzAx 117 Don't prevent tabbing to `Run SQL` button rgieseke 198537 closed 0     1 2017-11-17T15:27:50Z 2017-11-19T20:30:24Z 2017-11-18T00:53:43Z CONTRIBUTOR simonw/datasette/pulls/117 Mentioned in #115 Here you go! datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/117/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
275082158 MDU6SXNzdWUyNzUwODIxNTg= 119 Build an "export this data to google sheets" plugin simonw 9599 closed 0     1 2017-11-18T14:14:51Z 2020-06-04T18:46:40Z 2020-06-04T18:46:39Z OWNER   Inspired by https://github.com/kren1/tosheets It should be a plug-in because I'd like to keep all interactions with proprietary / non-open-source software encapsulated in plugins rather than shipped as part of core. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/119/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
275135535 MDU6SXNzdWUyNzUxMzU1MzU= 126 Blog entry announcing foreign key support simonw 9599 closed 0   Foreign key edition 2919870 1 2017-11-19T06:09:06Z 2017-11-30T16:49:24Z 2017-11-30T16:49:24Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/126/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
275175929 MDU6SXNzdWUyNzUxNzU5Mjk= 132 Row view is not currently expanding foreign keys simonw 9599 closed 0   Foreign key edition 2919870 1 2017-11-19T17:24:25Z 2017-11-23T21:51:51Z 2017-11-23T21:51:30Z OWNER   Eg https://sf-trees.now.sh/sf-trees-ebc2ad9/Street_Tree_List/1 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/132/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
275176094 MDU6SXNzdWUyNzUxNzYwOTQ= 134 Filtered table view should show a count simonw 9599 closed 0   Foreign key edition 2919870 1 2017-11-19T17:26:53Z 2017-11-19T18:10:49Z 2017-11-19T18:10:49Z OWNER   Let's do the thing where we attempt to show an accurate count if it can be done in less than 50ms datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/134/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
275415799 MDU6SXNzdWUyNzU0MTU3OTk= 137 Ability to combine multiple SQL queries on a single graph simonw 9599 open 0     1 2017-11-20T16:26:57Z 2019-05-13T18:33:51Z   OWNER   This would make visualizations significantly more powerful. The interesting challenge will be around the URL design. It would be useful to be able to combine either multiple explicit SQL queries or multiple queries based on the filter string parameters passed to one or more table views. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/137/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}    
275476839 MDU6SXNzdWUyNzU0NzY4Mzk= 138 Per-database and per-table metadata, probably using data-package simonw 9599 closed 0     1 2017-11-20T19:50:10Z 2017-12-10T03:08:36Z 2017-12-10T03:08:26Z OWNER   Ability to annotate databases and tables with extra metadata describing their purpose, providing source and licensing information and describing individual columns. http://frictionlessdata.io/specs/data-package/ looks like a great format for this, see #105 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/138/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
275939188 MDU6SXNzdWUyNzU5MzkxODg= 143 Mechanism for "suggested visualizations" simonw 9599 closed 0     1 2017-11-22T04:10:25Z 2018-07-10T17:48:34Z 2018-07-10T17:48:34Z OWNER   Each visualization should have a way of deciding if it might be appropriate for the current view of data. We can then offer a "suggested visualizations" prompt which shows previews. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/143/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
276476670 MDU6SXNzdWUyNzY0NzY2NzA= 147 Tidy up design of the header of the table page simonw 9599 closed 0   Foreign key edition 2919870 1 2017-11-23T21:52:58Z 2017-11-24T22:02:46Z 2017-11-24T22:02:46Z OWNER   This is a bit messy: <img width="883" alt="fatal-police-shootings-data__fatal-police-shootings-data" src="https://user-images.githubusercontent.com/9599/33189214-9379807c-d055-11e7-96c4-58a70529cef0.png"> Depends on #127 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/147/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
276704127 MDU6SXNzdWUyNzY3MDQxMjc= 149 Update custom SQL results to match new table view header simonw 9599 closed 0   Foreign key edition 2919870 1 2017-11-24T22:03:59Z 2017-11-24T22:42:10Z 2017-11-24T22:42:09Z OWNER   Follow-on from #147 - the custom SQL results page should more closely match the design of the table view, which now looks like this: <img width="798" alt="conventional_power_plants_eu__conventional_power_plants_eu__14_rows_where_company____nuon_" src="https://user-images.githubusercontent.com/9599/33224621-4d547f18-d120-11e7-9b33-44ee738a5ea2.png"> datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/149/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
278189708 MDU6SXNzdWUyNzgxODk3MDg= 156 Document CSS hooks and custom templates simonw 9599 closed 0   Custom templates edition 2949431 1 2017-11-30T16:43:15Z 2017-11-30T17:11:34Z 2017-11-30T17:10:58Z OWNER   Documentation currently lives in commit messages on https://github.com/simonw/datasette/commit/8ab3a169d42d096f2c7979c6d3d7746618d30f0b and 3cd06729f457d690603b6060dc552b535517ab09 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/156/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
278190321 MDU6SXNzdWUyNzgxOTAzMjE= 157 Teach "datasette publish" about custom template directories simonw 9599 closed 0   Custom templates edition 2949431 1 2017-11-30T16:44:57Z 2020-01-15T16:05:13Z 2017-12-09T18:28:54Z OWNER   The following command should copy the custom templates into the deployment and ensure `datasette serve` correctly serves them: datasette publish now mydb.db --template-dir=custom-templates/ datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/157/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
278190981 MDU6SXNzdWUyNzgxOTA5ODE= 158 Ensure default templates are designed to be extended simonw 9599 closed 0   Custom templates edition 2949431 1 2017-11-30T16:46:41Z 2017-12-07T05:41:09Z 2017-12-07T05:41:08Z OWNER   Since custom templates can do `{% extends "default:table.html" %}` the default templates should include sensible named `{% block %}` components designed to support common extension patterns. Since we already support `{{ super() }}` we may not have much if anything to add here. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/158/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
280023225 MDU6SXNzdWUyODAwMjMyMjU= 166 Documentation for metadata.json and datasette skeleton simonw 9599 closed 0   Custom templates edition 2949431 1 2017-12-07T07:02:52Z 2017-12-07T17:20:35Z 2017-12-07T17:20:25Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/166/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
280662866 MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx 168 Upgrade to Sanic 0.7.0 simonw 9599 closed 0     1 2017-12-09T01:25:08Z 2017-12-09T03:00:34Z 2017-12-09T03:00:34Z OWNER simonw/datasette/pulls/168   datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/168/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
280744309 MDU6SXNzdWUyODA3NDQzMDk= 169 Release v0.14 with templates and static files features simonw 9599 closed 0   Custom templates edition 2949431 1 2017-12-09T18:52:48Z 2017-12-10T02:04:56Z 2017-12-10T02:04:56Z OWNER   Everything in this milestone https://github.com/simonw/datasette/milestone/6 - plus various other fixes: https://github.com/simonw/datasette/compare/0.13...6bdfcf60760c27e29ff34692d06e62b36aeecc56 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/169/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
280745746 MDU6SXNzdWUyODA3NDU3NDY= 171 HTML comments specifying custom templates for page simonw 9599 closed 0   Custom templates edition 2949431 1 2017-12-09T19:11:13Z 2017-12-09T21:50:50Z 2017-12-09T21:48:03Z OWNER   This would make the custom templating system self-documenting, and save people from having to figure out the right template names for customizing specific pages. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/171/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
280896290 MDU6SXNzdWUyODA4OTYyOTA= 172 Show size of .db file next to download link simonw 9599 closed 0     1 2017-12-11T05:12:46Z 2019-02-06T05:09:06Z 2019-02-06T05:00:36Z OWNER   Size in bytes should be calculated by datasette inspect. Template should display it in KB or MB or GB datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/172/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
281197863 MDU6SXNzdWUyODExOTc4NjM= 174 License/Source in footer should inherit from top level simonw 9599 closed 0     1 2017-12-11T23:01:35Z 2018-08-11T17:46:51Z 2018-08-11T17:46:51Z OWNER   The footer on https://vice-police-shootings.now.sh/vice-bc7c892/ViceNews_FullOISData does not show license and source information... but that Datasette has that information, it's just defined at the top level: https://vice-police-shootings.now.sh/ The footer for a row/table page should fall back on information for the database, and if there is none for the database it should fall back on the top-level metadata instead. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/174/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
282971961 MDU6SXNzdWUyODI5NzE5NjE= 175 Add project topic "automatic-api" dbohdan 3179832 closed 0     1 2017-12-18T18:09:17Z 2017-12-21T18:33:55Z 2017-12-21T18:33:55Z NONE   Hi there! Could you add the ~~tag~~ topic `automatic-api` to your repository? I am [making a list](https://github.com/dbohdan/automatic-api) of all projects that automatically expose APIs to databases. (Your Show&nbsp;HN made me do it.&nbsp;:-) I knew about PostgREST and PostGraphQL, but it took adding Datasette to sell me on the concept.) They will be easier to discover if there is a standard GitHub tag, and `automatic-api` seems as good a candidate as any. Two projects [already use it](https://github.com/topics/automatic-api). datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/175/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
287240246 MDExOlB1bGxSZXF1ZXN0MTYxOTgyNzEx 178 If metadata exists, add it to heroku launch command psychemedia 82988 closed 0     1 2018-01-09T21:42:21Z 2018-01-15T09:42:46Z 2018-01-14T21:05:16Z CONTRIBUTOR simonw/datasette/pulls/178 The heroku build does seem to make use of any provided `metadata.json` file. Add the `--metadata` switch to the Heroku web launch command if a `metadata.json` file is available. Addresses: https://github.com/simonw/datasette/issues/177 datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/178/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
313512748 MDU6SXNzdWUzMTM1MTI3NDg= 201 Support explain select / explain query plan select simonw 9599 closed 0     1 2018-04-11T22:41:26Z 2018-04-13T21:17:14Z 2018-04-12T21:32:52Z OWNER   See https://www.sqlite.org/eqp.html and https://www.sqlite.org/lang_explain.html datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/201/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
314329002 MDExOlB1bGxSZXF1ZXN0MTgxNjQ3NzE3 207 Link foreign keys which don't have labels russss 45057 closed 0     1 2018-04-14T13:27:14Z 2018-04-14T15:00:00Z 2018-04-14T15:00:00Z CONTRIBUTOR simonw/datasette/pulls/207 This renders unlabeled FKs as simple links. I can't see why this would cause any major problems. ![image](https://user-images.githubusercontent.com/45057/38768722-ea15a000-3fef-11e8-8664-ffd7aa4894ea.png) Also includes bonus fixes for two minor issues: * In foreign key link hrefs the primary key was escaped using HTML escaping rather than URL escaping. This broke some non-integer PKs. * Print tracebacks to console when handling 500 errors. datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/207/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
314725342 MDU6SXNzdWUzMTQ3MjUzNDI= 217 Plugin support for datasette publish simonw 9599 closed 0     1 2018-04-16T16:17:14Z 2018-07-26T05:33:39Z 2018-07-26T05:16:00Z OWNER   It should be possible to support additional deployment options by writing a plugin (see #59). As part of this, rewrite the Heroku and Now publishers to be implemented as plugins (they will still ship with datasette by default). Maybe `datasette package` should be changed to being part of publish instead, `datasette publish docker` perhaps? Refs #14 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/217/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
315517578 MDU6SXNzdWUzMTU1MTc1Nzg= 224 Ability for plugins to bundle templates simonw 9599 closed 0     1 2018-04-18T14:57:53Z 2018-04-19T05:50:36Z 2018-04-19T05:50:36Z OWNER   Plugins should be able to bundle templates. The Datasette template loader should then consult those plugins first when loading a template. Jinja2 has a `PackageLoader` class that can help with this: http://jinja.pocoo.org/docs/2.10/api/#jinja2.PackageLoader Refs #14 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/224/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
316031566 MDU6SXNzdWUzMTYwMzE1NjY= 228 If spatialite detected, mark idx_XXX_Geometry tables as hidden simonw 9599 closed 0     1 2018-04-19T20:37:24Z 2018-04-26T03:25:39Z 2018-04-26T03:25:39Z OWNER   https://timezones-api.now.sh/timezones-faf26d0 ![2018-04-19 at 1 36 pm](https://user-images.githubusercontent.com/9599/39016906-a5acbb3e-43d6-11e8-9a31-814ff1d0022e.png) Need to update this logic: https://github.com/simonw/datasette/blob/e2750c7cc0585adaa8c866be611089e62961ee35/datasette/app.py#L1276-L1288 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/228/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
316123256 MDU6SXNzdWUzMTYxMjMyNTY= 229 Table view should support ?_size=400 parameter simonw 9599 closed 0     1 2018-04-20T04:23:18Z 2018-04-26T04:49:46Z 2018-04-26T04:48:32Z OWNER   Allows callers to request more rows at once. The limit will still be `max_returned_rows` (defaults to 1000). datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/229/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
316128955 MDU6SXNzdWUzMTYxMjg5NTU= 230 Setting page size AND max returned rows to 1000 doesn't seem to work simonw 9599 closed 0     1 2018-04-20T05:05:11Z 2018-04-26T04:04:25Z 2018-04-26T04:04:25Z OWNER   It appears that if the two settings are the same Datasette fails to return any results, probably because of the trick where we try to fetch 1001 rows so we know if there's a next page. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/230/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
316365426 MDExOlB1bGxSZXF1ZXN0MTgzMTM1NjA0 232 Fix a typo lsb 45281 closed 0     1 2018-04-20T18:20:04Z 2018-04-21T00:19:08Z 2018-04-21T00:19:08Z CONTRIBUTOR simonw/datasette/pulls/232 It looks like this was the only instance of it: https://github.com/simonw/datasette/search?utf8=%E2%9C%93&q=SOLite&type= datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/232/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
318738000 MDU6SXNzdWUzMTg3MzgwMDA= 244 /-/versions page simonw 9599 closed 0     1 2018-04-29T18:22:15Z 2018-05-03T14:13:49Z 2018-05-03T14:09:53Z OWNER   Displays the current version of: * datasette * Python * SQLite * Spatialite (if available) Installed plugin versions should be shown on /-/plugins datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/244/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
319358200 MDU6SXNzdWUzMTkzNTgyMDA= 245 ?_shape=array option simonw 9599 closed 0     1 2018-05-01T23:11:07Z 2018-05-03T14:14:33Z 2018-05-02T00:12:20Z OWNER   Some tools (`pandas.DataFrame(...)` for example) are happiest when you give them a raw array of JSON objects. `?_shape=array` should do just that While I'm at it, rename the default `?_shape=lists` to instead be called `?shape=arrays` And validate that `_shape` is a valid option And have `?_shape=object` return the object at the root level rather than nested in `.rows` to better match the behavior of `?_shape=array` datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/245/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
319449852 MDU6SXNzdWUzMTk0NDk4NTI= 247 SQLite code decoupled from Datasette jsancho-gpl 11912854 open 0     1 2018-05-02T08:03:28Z 2018-05-21T15:29:31Z   NONE   I'm working on the possibility of use Datasette with other file formats that aren't SQLite, like files with [PyTables](https://github.com/PyTables/PyTables) format. In order to accomplish that, I've started [a fork for decoupling the code related with SQLite](https://github.com/jsancho-gpl/datasette/tree/feature/db-type-plugin) and putting it in an external connector to allow future connectors for a lot of file formats. It'd be nice if you could look at it and suggest improvements for a possible PR. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/247/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}    
320090329 MDU6SXNzdWUzMjAwOTAzMjk= 249 ?_size=max argument simonw 9599 closed 0     1 2018-05-03T21:42:04Z 2018-05-04T18:26:30Z 2018-05-04T18:05:04Z OWNER   For plugins that want to load the most data allowable, having `?_size=max` would be useful. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/249/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
321631020 MDU6SXNzdWUzMjE2MzEwMjA= 253 Documentation explaining how to use SQLite FTS with Datasette simonw 9599 closed 0     1 2018-05-09T16:02:08Z 2018-05-12T12:09:02Z 2018-05-12T12:06:51Z OWNER   In particular how to work with https://www.sqlite.org/fts3.html#_external_content_fts4_tables_ - which Datasette can automatically detect and use to add a search UI to your page. Examples of basic search setup like this: ``` CREATE VIRTUAL TABLE "interests_fts" USING FTS4 (name, content="interests"); INSERT INTO "interests_fts" (rowid, name) SELECT rowid, name FROM interests; ``` And complex join-based search setup like this: ``` CREATE VIRTUAL TABLE "interests_fts" USING FTS4 (name, category, member, content="interests"); INSERT INTO "interests_fts" (rowid, name, category, member) SELECT interests.rowid, interests.name, interest_categories.name, members.name FROM interests JOIN interest_categories ON interests.category_id = interest_categories.id JOIN members ON interests.member_id = members.id; ``` Also mention how `csvs-to-sqlite` can be used to do this easily. This will benefit from #252 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/253/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
322551723 MDU6SXNzdWUzMjI1NTE3MjM= 256 Break up app.py into separate view modules simonw 9599 closed 0     1 2018-05-12T23:56:33Z 2018-05-14T03:05:37Z 2018-05-14T03:05:37Z OWNER   `views/table.py` and `views/database.py` and `views/utils.py` as a starting point. Likewise, create `tests/test_views_table.py` and `tests/test_views_database.py` - these will contain both HTML and API test for those views. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/256/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
323673899 MDU6SXNzdWUzMjM2NzM4OTk= 264 Make it possible to customize various facet settings simonw 9599 closed 0     1 2018-05-16T15:31:34Z 2018-05-18T06:18:00Z 2018-05-18T05:11:52Z OWNER   The new Facets implementation from #255 includes several hard-coded settings which should be made configurable somehow: Number of rows to return in a facet (maybe this should also be an option that can be set via quersytring argument, e.g. `?_facet=qSpecies:40`): https://github.com/simonw/datasette/blob/9959a9e4deec8e3e178f919e8b494214d5faa7fd/datasette/views/table.py#L539 Time limit for executing a facet: https://github.com/simonw/datasette/blob/9959a9e4deec8e3e178f919e8b494214d5faa7fd/datasette/views/table.py#L559-L562 Maximum unique values returned in order for a column to be suggested as a facet: https://github.com/simonw/datasette/blob/9959a9e4deec8e3e178f919e8b494214d5faa7fd/datasette/views/table.py#L646-L647 Time limit for calculating if a column should be a suggested facet: https://github.com/simonw/datasette/blob/9959a9e4deec8e3e178f919e8b494214d5faa7fd/datasette/views/table.py#L664-L667 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/264/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
323830051 MDU6SXNzdWUzMjM4MzAwNTE= 270 --limit= CLI option for setting limits simonw 9599 closed 0     1 2018-05-17T00:14:24Z 2018-05-18T06:19:31Z 2018-05-18T06:16:39Z OWNER   #264 calls for four new datasette limit options, on top of the two existing ones: * `--max_returned_rows` * `--sql_time_limit_ms` These are already clogging up `datasette serve --help` a bit. How about this syntax instead? datasette --limit max_returned_rows:100 \ --limit facet_timeout_ms:500 demo.db Then we can add as many new user over-rideable limits as we like without clogging up `--help` too much - though it would be good to have a way of optionally listings their documentation as well. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/270/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
325553991 MDExOlB1bGxSZXF1ZXN0MTg5ODYwMDUy 281 Reduces image size using Alpine + Multistage (re: #278) iMerica 487897 closed 0     1 2018-05-23T05:27:05Z 2018-05-26T02:10:38Z 2018-05-26T02:10:38Z NONE simonw/datasette/pulls/281 Hey Simon! I got the image size down from 256MB to 110MB. Seems to be working okay, but you might want to test it a bit more. Example output of `docker run --rm -it <my-tag> datasette` ``` Serve! files=() on port 8001 [2018-05-23 05:23:08 +0000] [1] [INFO] Goin' Fast @ http://127.0.0.1:8001 [2018-05-23 05:23:08 +0000] [1] [INFO] Starting worker [1] ``` Related: https://github.com/simonw/datasette/issues/278 datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/281/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
325705981 MDU6SXNzdWUzMjU3MDU5ODE= 282 Faceting breaks pagination simonw 9599 closed 0     1 2018-05-23T13:29:47Z 2018-05-23T13:53:39Z 2018-05-23T13:42:07Z OWNER   e.g. on https://fivethirtyeight.datasettes.com/fivethirtyeight-5de27e3/nba-elo%2Fnbaallelo?_facet=lg_id#facet-lg_id - click the "next page" link: https://fivethirtyeight.datasettes.com/fivethirtyeight-5de27e3/nba-elo%2Fnbaallelo?_facet=lg_id&_next=100 Invalid SQL: near "and": syntax error datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/282/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
326617744 MDU6SXNzdWUzMjY2MTc3NDQ= 287 ?_shape=arrayfirst simonw 9599 closed 0     1 2018-05-25T18:11:03Z 2018-05-27T00:32:53Z 2018-05-27T00:32:29Z OWNER   Return an array of single items (the first item in each row returned from the SQL query). datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/287/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
326987229 MDExOlB1bGxSZXF1ZXN0MTkwOTAxNDI5 293 Support for external database connectors jsancho-gpl 11912854 closed 0     1 2018-05-28T11:02:45Z 2018-09-11T14:32:45Z 2018-09-11T14:32:45Z FIRST_TIME_CONTRIBUTOR simonw/datasette/pulls/293 I think it would be nice that Datasette could work with other file formats that aren't SQLite, like files with PyTables format. I've tried to accomplish that using external connectors published with entry points. These external connectors must have a structure similar to the structure [PyTables Datasette connector](https://github.com/PyTables/datasette-pytables) has. datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/293/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
327420945 MDU6SXNzdWUzMjc0MjA5NDU= 297 datasette publish Dockerfile should use python:3.6-slim-stretch simonw 9599 closed 0     1 2018-05-29T17:40:08Z 2018-05-31T14:44:37Z 2018-05-31T14:44:37Z OWNER   Right now the Dockerfile generated by `datasette package` and `datasette publish` uses this: https://github.com/simonw/datasette/blob/b0a95da96386ddf99816911e08df86178ffa9a89/datasette/utils.py#L269 This appears to result in a SQLite version of `3.8.7.1` - https://parlgov.datasettes.com/-/versions ``` "sqlite": { "extensions": {}, "fts_versions": [ "FTS4", "FTS3" ], "version": "3.8.7.1" } ``` Meanwhile, https://fivethirtyeight.datasettes.com/-/versions is deployed with this Dockerfile https://github.com/simonw/fivethirtyeight-datasette/blob/0849901cae06e957fe04892cd4033bdcd1fcf966/Dockerfile which uses `FROM python:3.6-slim-stretch` and results in the following version report: ``` "sqlite": { "extensions": { "json1": null }, "fts_versions": [ "FTS5", "FTS4", "FTS3" ], "version": "3.16.2" } ``` So not only do we get a more recent SQLite (including https://www.sqlite.org/rowvalue.html added in 3.15) but we also get `FTS5` and `json1` as well. Refs #191 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/297/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
327461381 MDU6SXNzdWUzMjc0NjEzODE= 299 Documentation covering ALL datasette URLs simonw 9599 closed 0     1 2018-05-29T19:46:15Z 2018-07-28T04:24:05Z 2018-07-28T04:22:30Z OWNER   Relates to #296. We need a single page of the docs listing all of the URL patterns Datasette responds to, also detailing which templates are used to render them and linking to examples of the JSON they output when called with `.json`. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/299/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
328155946 MDU6SXNzdWUzMjgxNTU5NDY= 301 --spatialite option for "datasette publish heroku" simonw 9599 open 0     1 2018-05-31T14:13:09Z 2022-01-20T21:28:50Z   OWNER   Split off from #243. Need to figure out how to install and configure SpatiaLite on Heroku. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/301/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}    
330323860 MDExOlB1bGxSZXF1ZXN0MTkzMzYxMzQx 307 Initial sketch of custom URL routing, refs #306 simonw 9599 closed 0     1 2018-06-07T15:26:48Z 2018-06-07T15:29:54Z 2018-06-07T15:29:41Z OWNER simonw/datasette/pulls/307 See #306 for background on this. datasette 107914493 pull     {"url": "https://api.github.com/repos/simonw/datasette/issues/307/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 0  
333000163 MDU6SXNzdWUzMzMwMDAxNjM= 312 HTML, CSV and JSON views should support ?_col=&_col= simonw 9599 closed 0     1 2018-06-16T16:53:35Z 2021-06-17T18:14:24Z 2018-06-16T17:00:12Z OWNER   To support whitelisting columns to display. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/312/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
333096176 MDU6SXNzdWUzMzMwOTYxNzY= 314 HTML table does not correctly display entirely blank rows simonw 9599 closed 0   0.23.1 3439337 1 2018-06-17T21:58:06Z 2018-06-21T16:04:59Z 2018-06-21T15:26:26Z OWNER   https://958b75c.datasette.io/fixtures-35b6eb6/simple_view ![2018-06-17 at 2 56 pm](https://user-images.githubusercontent.com/9599/41512541-b52e90be-723e-11e8-95c9-7d091738d5cc.png) https://958b75c.datasette.io/fixtures-35b6eb6/simple_view.json shows the underlying data: ``` "rows": [ [ "hello", "HELLO" ], [ "world", "WORLD" ], [ "", "" ] ] ``` datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/314/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
334148669 MDU6SXNzdWUzMzQxNDg2Njk= 318 Facets with value of 0 displayed incorrectly simonw 9599 closed 0   0.23.1 3439337 1 2018-06-20T16:06:46Z 2019-05-29T21:39:12Z 2018-06-21T04:30:45Z OWNER   https://registry.datasette.io/registry-7d4f81f/tables?_facet=is_hidden#facet-is_hidden ![2018-06-20 at 9 05 am](https://user-images.githubusercontent.com/9599/41670448-2c06e642-7469-11e8-86be-4664269582b1.png) Displays correctly if you select it: https://registry.datasette.io/registry-7d4f81f/tables?_facet=is_hidden&is_hidden=0 ![2018-06-20 at 9 06 am](https://user-images.githubusercontent.com/9599/41670471-3e61e486-7469-11e8-8710-5da90ef65787.png) datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/318/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
334169932 MDU6SXNzdWUzMzQxNjk5MzI= 320 Need unit tests covering the different states for the advanced export box simonw 9599 closed 0     1 2018-06-20T17:03:40Z 2018-07-24T04:53:20Z 2018-07-24T03:38:40Z OWNER   There are quite a few variants of this box: ![2018-06-20 at 10 02 am](https://user-images.githubusercontent.com/9599/41673229-1d423adc-7471-11e8-99d4-4251f7d03aa5.png) Test coverage should exercise all of them, since the logic is a little unclear. https://github.com/simonw/datasette/blob/fdfbbbb9ee0d02fd4d43dfc42382252fa2287d6d/datasette/templates/table.html#L140-L159 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/320/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
334698969 MDU6SXNzdWUzMzQ2OTg5Njk= 323 Speed up Travis CI builds simonw 9599 closed 0     1 2018-06-21T23:55:27Z 2018-07-10T15:03:37Z 2018-07-10T15:03:36Z OWNER   They've got a bit slow. Part of this is the Zeit Now deploy, but the build-and-test cycle is taking at least a couple of minutes. ![2018-06-21 at 4 54 pm](https://user-images.githubusercontent.com/9599/41751010-e48c823e-7573-11e8-88f3-7aa8a7e53917.png) datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/323/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
335064777 MDU6SXNzdWUzMzUwNjQ3Nzc= 325 Error on row page if table has slashes in the name and ends in .csv simonw 9599 closed 0     1 2018-06-23T03:43:42Z 2018-07-09T17:28:27Z 2018-07-08T05:21:59Z OWNER   https://v0-23-1.datasette.io/fixtures-e14e080/table%252Fwith%252Fslashes.csv/3 > no such table: table%252Fwith%252Fslashes.csv From clicking the row link on https://v0-23-1.datasette.io/fixtures-e14e080/table%2Fwith%2Fslashes.csv datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/325/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
335141434 MDU6SXNzdWUzMzUxNDE0MzQ= 326 CSV should respect --cors and return cors headers simonw 9599 closed 0     1 2018-06-24T00:44:07Z 2021-06-17T18:14:24Z 2018-06-24T00:59:45Z OWNER   Otherwise tools like Vega can't load data via CSV. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/326/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
340065374 MDU6SXNzdWUzNDAwNjUzNzQ= 337 Documentation for datasette publish and datasette package simonw 9599 closed 0     1 2018-07-11T02:04:06Z 2018-07-11T02:07:32Z 2018-07-11T02:05:56Z OWNER     datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/337/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
340282796 MDU6SXNzdWUzNDAyODI3OTY= 338 Only load vegaEmbed if charting tools are enabled simonw 9599 closed 0     1 2018-07-11T15:02:14Z 2018-07-11T15:21:47Z 2018-07-11T15:21:47Z OWNER   vegaEmbed is a LOT of code (it bundles d3) Inspired by this tweet: https://twitter.com/thelarkinn/status/1017053567641948162 - it would be great if we loaded that code on demand the first time the "Show chart options" button was clicked, or when the page loads with #g. options in the URL. Even better: avoid the overhead if loading React unless the chart options need to be displayed. This would be a pretty major refactoring though. datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/338/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
340730961 MDU6SXNzdWUzNDA3MzA5NjE= 340 Embrace black simonw 9599 closed 0     1 2018-07-12T17:32:29Z 2019-06-24T06:50:27Z 2019-06-24T06:50:26Z OWNER   Run [black](https://github.com/ambv/black) against everything. Then set up CI to fail if code doesn't conform to black's style. Here's how Starlette does this: * https://github.com/encode/starlette/blob/e3d090b3597167f7b3a4f76e4bb3c0d3e94be61a/.travis.yml#L14 * https://github.com/encode/starlette/blob/e3d090b3597167f7b3a4f76e4bb3c0d3e94be61a/scripts/lint - essentially runs `black starlette tests --check` And here's an example of a test run that failed: https://travis-ci.org/encode/starlette/jobs/403172478 datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/340/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed
341228846 MDU6SXNzdWUzNDEyMjg4NDY= 343 Render boolean fields better by default russss 45057 open 0     1 2018-07-14T11:10:29Z 2018-07-14T14:17:14Z   CONTRIBUTOR   These show up as 0 or 1 because sqlite. I think Yes/No would be fine in most cases? datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/343/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}    
341229113 MDU6SXNzdWUzNDEyMjkxMTM= 344 datasette publish heroku fails without name provided russss 45057 closed 0     1 2018-07-14T11:15:56Z 2018-07-14T13:00:48Z 2018-07-14T13:00:48Z CONTRIBUTOR   It fails with the following JSON traceback if the `-n` option isn't provided, despite the fact that the command line help says that's not needed for heroku publishes. <details> ``` Traceback (most recent call last): File "/usr/local/bin/datasette", line 11, in <module> sys.exit(cli()) File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.6/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.6/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python3.6/site-packages/datasette/cli.py", line 265, in publish app_name = json.loads(create_output)["name"] File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) ``` </details> datasette 107914493 issue     {"url": "https://api.github.com/repos/simonw/datasette/issues/344/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0}   completed

Next page

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issues] (
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [number] INTEGER,
   [title] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [state] TEXT,
   [locked] INTEGER,
   [assignee] INTEGER REFERENCES [users]([id]),
   [milestone] INTEGER REFERENCES [milestones]([id]),
   [comments] INTEGER,
   [created_at] TEXT,
   [updated_at] TEXT,
   [closed_at] TEXT,
   [author_association] TEXT,
   [pull_request] TEXT,
   [body] TEXT,
   [repo] INTEGER REFERENCES [repos]([id]),
   [type] TEXT
, [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT);
CREATE INDEX [idx_issues_repo]
                ON [issues] ([repo]);
CREATE INDEX [idx_issues_milestone]
                ON [issues] ([milestone]);
CREATE INDEX [idx_issues_assignee]
                ON [issues] ([assignee]);
CREATE INDEX [idx_issues_user]
                ON [issues] ([user]);
Powered by Datasette · Queries took 276.626ms · About: simonw/datasette-graphql