{"html_url": "https://github.com/simonw/datasette/issues/59#issuecomment-344081876", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/59", "id": 344081876, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA4MTg3Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T22:33:43Z", "updated_at": "2017-11-13T22:33:43Z", "author_association": "OWNER", "body": "The `datasette package` command introduced in 4143e3b45c16cbae5e3e3419ef479a71810e7df3 is relevant here.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273157085, "label": "datasette publish hyper"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/81#issuecomment-344076554", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/81", "id": 344076554, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA3NjU1NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T22:12:57Z", "updated_at": "2017-11-13T22:12:57Z", "author_association": "OWNER", "body": "Hah, I haven't even announced this yet :) Travis is upset because I'm using SQL in the tests which isn't compatible with their version of Python 3.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273595473, "label": ":fire: Removes DS_Store"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/80#issuecomment-344075696", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/80", "id": 344075696, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA3NTY5Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T22:09:46Z", "updated_at": "2017-11-13T22:09:46Z", "author_association": "OWNER", "body": "Parlgov was throwing errors on one of the views, which takes longer than 1000ms to execute - so I added the ability to customize the time limit in https://github.com/simonw/datasette/commit/1e698787a4dd6df0432021a6814c446c8b69bba2\r\n\r\n datasette publish now parlgov.db --metadata parlgov.json --name parlgov --extra-options=\"--sql_time_limit_ms=3500\"\r\n now alias https://parlgov-nvkcowlixq.now.sh parlgov.datasettes.com\r\n\r\nhttps://parlgov.datasettes.com/parlgov-25f9855/view_cabinet now returns in just over 2.5s\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273569477, "label": "Deploy final versions of fivethirtyeight and parlgov datasets (with view pagination)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/80#issuecomment-344074443", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/80", "id": 344074443, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA3NDQ0Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T22:04:54Z", "updated_at": "2017-11-13T22:05:02Z", "author_association": "OWNER", "body": "The fivethirtyeight dataset:\r\n\r\n datasette publish now --name fivethirtyeight --metadata metadata.json fivethirtyeight.db\r\n now alias https://fivethirtyeight-jyqfudvjli.now.sh fivethirtyeight.datasettes.com\r\n\r\nAnd parlgov:\r\n\r\n datasette publish now parlgov.db --name=parlgov --metadata=parlgov.json \r\n now alias https://parlgov-hqvxuhmbyh.now.sh parlgov.datasettes.com\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273569477, "label": "Deploy final versions of fivethirtyeight and parlgov datasets (with view pagination)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/55#issuecomment-344061762", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/55", "id": 344061762, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA2MTc2Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T21:19:43Z", "updated_at": "2017-11-13T21:19:43Z", "author_association": "OWNER", "body": "And we're live! https://pypi.python.org/pypi/datasette", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273127117, "label": "Ship first version to PyPI"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/55#issuecomment-344060070", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/55", "id": 344060070, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA2MDA3MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T21:14:13Z", "updated_at": "2017-11-13T21:14:13Z", "author_association": "OWNER", "body": "I'm going to add some extra metadata to setup.py and then tag this as version 0.8:\r\n\r\n git tag 0.8\r\n git push --tags\r\n\r\nThen to ship to PyPI:\r\n\r\n python setup.py bdist_wheel\r\n twine register dist/datasette-0.8-py3-none-any.whl\r\n twine upload dist/datasette-0.8-py3-none-any.whl\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273127117, "label": "Ship first version to PyPI"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/69#issuecomment-344048656", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/69", "id": 344048656, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDA0ODY1Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T20:32:47Z", "updated_at": "2017-11-13T20:32:47Z", "author_association": "OWNER", "body": "\"ak\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273248366, "label": "Enforce pagination (or at least limits) for arbitrary custom SQL"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/69#issuecomment-344019631", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/69", "id": 344019631, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDAxOTYzMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T18:53:13Z", "updated_at": "2017-11-13T18:53:13Z", "author_association": "OWNER", "body": "I'm going with a page size of 100 and a max limit of 1000", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273248366, "label": "Enforce pagination (or at least limits) for arbitrary custom SQL"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/74#issuecomment-344018680", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/74", "id": 344018680, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDAxODY4MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T18:49:58Z", "updated_at": "2017-11-13T18:49:58Z", "author_association": "OWNER", "body": "Turns out it does this already: https://github.com/simonw/datasette/blob/6b3b05b6db0d2a7b7cec8b8dbb4ddc5e12a376b2/datasette/app.py#L96-L107", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273296684, "label": "Send a 302 redirect to the new hash for hits to old hashes"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/51#issuecomment-344017088", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/51", "id": 344017088, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDAxNzA4OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T18:44:23Z", "updated_at": "2017-11-13T18:44:23Z", "author_association": "OWNER", "body": "Implemented in https://github.com/simonw/datasette/commit/e838bd743d31358b362875854a0ac5e78047727f", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 272735257, "label": "Make a proper README"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/75#issuecomment-344000982", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/75", "id": 344000982, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDAwMDk4Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T17:50:27Z", "updated_at": "2017-11-13T17:50:27Z", "author_association": "OWNER", "body": "This is necessary because one of the fun things to do with this tool is run it locally, e.g.:\r\n\r\n datasette ~/Library/Application\\ Support/Google/Chrome/Default/History -p 8003\r\n\r\nBUT... if we enable CORS by default, an evil site could try sniffing for localhost:8003 and attempt to steal data.\r\n\r\nSo we'll enable the CORS headers only if `--cors` is provided to the command, and then use that command in the default Dockerfile.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273509159, "label": "Add --cors argument to serve"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/67#issuecomment-343967020", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/67", "id": 343967020, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzk2NzAyMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T16:06:10Z", "updated_at": "2017-11-13T16:06:10Z", "author_association": "OWNER", "body": "http://odewahn.github.io/docker-jumpstart/example.html is helpful", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273192789, "label": "Command that builds a local docker container"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/67#issuecomment-343961784", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/67", "id": 343961784, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzk2MTc4NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T15:50:50Z", "updated_at": "2017-11-13T15:50:50Z", "author_association": "OWNER", "body": "`datasette package ...` - same arguments as `datasette publish`. Creates Docker container in your local repo, optionally tagged with `--tag`", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273192789, "label": "Command that builds a local docker container"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/68#issuecomment-343951751", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/68", "id": 343951751, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzk1MTc1MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T15:21:04Z", "updated_at": "2017-11-13T15:21:04Z", "author_association": "OWNER", "body": "For first version, I'm just supporting title, source and license information at the database level.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273247186, "label": "Support for title/source/license metadata"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/73#issuecomment-343801392", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/73", "id": 343801392, "node_id": "MDEyOklzc3VlQ29tbWVudDM0MzgwMTM5Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T03:36:47Z", "updated_at": "2017-11-13T03:36:47Z", "author_association": "OWNER", "body": "While I\u2019m at it, let\u2019s allow people to opt out of HTTP/2 push with a ?_nopush=1 argument too - in case they decide they don\u2019t want to receive large 302 responses.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273296178, "label": "_nocache=1 query string option for use with sort-by-random"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/68#issuecomment-343791348", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/68", "id": 343791348, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc5MTM0OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T02:12:58Z", "updated_at": "2017-11-13T02:12:58Z", "author_association": "OWNER", "body": "I should use this on https://fivethirtyeight.datasettes.com/", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273247186, "label": "Support for title/source/license metadata"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343790984", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343790984, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc5MDk4NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T02:09:34Z", "updated_at": "2017-11-13T02:09:34Z", "author_association": "OWNER", "body": "HTTP/2 push totally worked on the redirect!\r\n\r\n fetch('https://fivethirtyeight.datasettes.com/fivethirtyeight/riddler-pick-lowest%2Flow_numbers.csv.jsono').then(r => r.json()).then(console.log)\r\n\r\n\"eventbrite_api___v3_destination_search_\"\r\n\r\nMeanwhile, in the network pane...\r\n\r\n\"eventbrite_api___v3_destination_search_\"\r\n\r\n\"eventbrite_api___v3_destination_search_\"\r\n\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343781030", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343781030, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4MTAzMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T00:21:05Z", "updated_at": "2017-11-13T02:09:32Z", "author_association": "OWNER", "body": "- [x] Have `now domain add -e datasettes.com` run without errors (hopefully just a matter of waiting for the DNS to update)\r\n- [x] Alias an example dataset hosted on Now on a datasettes.com subdomain\r\n- [x] Confirm that HTTP caching and HTTP/2 redirect pushing works as expected - this may require another page rule", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343789162", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343789162, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4OTE2Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T01:53:29Z", "updated_at": "2017-11-13T01:53:29Z", "author_association": "OWNER", "body": "```\r\n$ curl -i 'https://fivethirtyeight.datasettes.com/fivethirtyeight-75d605c/obama-commutations%2Fobama_commutations.csv.jsono'\r\nHTTP/1.1 200 OK\r\nDate: Mon, 13 Nov 2017 01:50:57 GMT\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nSet-Cookie: __cfduid=de836090f3e12a60579cc7a1696cf0d9e1510537857; expires=Tue, 13-Nov-18 01:50:57 GMT; path=/; domain=.datasettes.com; HttpOnly; Secure\r\nAccess-Control-Allow-Origin: *\r\nCache-Control: public, max-age=31536000\r\nX-Now-Region: now-sfo\r\nCF-Cache-Status: HIT\r\nExpires: Tue, 13 Nov 2018 01:50:57 GMT\r\nServer: cloudflare-nginx\r\nCF-RAY: 3bce154a6d9293b4-SJC\r\n\r\n{\"database\": \"fivethirtyeight\", \"table\": \"obama-commutations/obama_commutations.csv\"...```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343788817", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343788817, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4ODgxNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T01:50:27Z", "updated_at": "2017-11-13T01:50:27Z", "author_association": "OWNER", "body": "https://fivethirtyeight.datasettes.com/ is now up and running.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343788780", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343788780, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4ODc4MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T01:50:01Z", "updated_at": "2017-11-13T01:50:01Z", "author_association": "OWNER", "body": "Added another page rule in order to get Cloudflare to always obey cache headers sent by the server:\r\n\r\n\"page_rules__datasettes_com___cloudflare_-_web_performance___security\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343788581", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343788581, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4ODU4MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T01:48:17Z", "updated_at": "2017-11-13T01:48:17Z", "author_association": "OWNER", "body": "I had to add a rule like this to get letsencrypt certificates on now.sh working: https://github.com/zeit/now-cli/issues/188#issuecomment-270105052\r\n\r\n\"page_rules__datasettes_com___cloudflare_-_web_performance___security\"\r\n\r\nI also have to flip this switch off every time I want to add a new alias:\r\n\r\n\"crypto__datasettes_com___cloudflare_-_web_performance___security\"\r\n\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343780539", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343780539, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4MDUzOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T00:13:29Z", "updated_at": "2017-11-13T00:19:46Z", "author_association": "OWNER", "body": "https://zeit.co/docs/features/dns is docs\r\n\r\n now domain add -e datasettes.com\r\n\r\nI had to set up a custom TXT record on `_now.datasettes.com` to get this to work.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343780814", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343780814, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4MDgxNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T00:17:50Z", "updated_at": "2017-11-13T00:18:19Z", "author_association": "OWNER", "body": "Achieved those redirects using Cloudflare \"page rules\": https://www.cloudflare.com/a/page-rules/datasettes.com", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343780671", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343780671, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4MDY3MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T00:15:21Z", "updated_at": "2017-11-13T00:17:37Z", "author_association": "OWNER", "body": "- [x] Redirect https://datasettes.com/ and https://www.datasettes.com/ to https://github.com/simonw/datasette", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/71#issuecomment-343780141", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/71", "id": 343780141, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4MDE0MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T00:06:52Z", "updated_at": "2017-11-13T00:06:52Z", "author_association": "OWNER", "body": "I've registered datasettes.com as a domain name for doing this. Now setting it up so Cloudflare and Now can serve content from it.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/69#issuecomment-343780039", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/69", "id": 343780039, "node_id": "MDEyOklzc3VlQ29tbWVudDM0Mzc4MDAzOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-13T00:05:27Z", "updated_at": "2017-11-13T00:05:27Z", "author_association": "OWNER", "body": "I think the only safe way to do this is using SQLite `.fetchmany(1000)` - I can't guarantee that the user has not entered SQL that will outfox a limit in some way. So instead of attempting to edit their SQL, I'll always return 1001 records and let them know if they went over 1000 or not.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273248366, "label": "Enforce pagination (or at least limits) for arbitrary custom SQL"}, "performed_via_github_app": null}