{"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-974765825", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 974765825, "node_id": "IC_kwDOBm6k_c46Gb8B", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-11-21T07:00:21Z", "updated_at": "2021-11-21T07:00:21Z", "author_association": "OWNER", "body": "Closing this in favour of Datasette Desktop: https://datasette.io/desktop", "reactions": "{\"total_count\": 1, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 1, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754285795", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754285795, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDI4NTc5NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T23:35:13Z", "updated_at": "2021-01-04T23:35:13Z", "author_association": "OWNER", "body": "Next step is to automate this all!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754233960", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754233960, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIzMzk2MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T21:35:37Z", "updated_at": "2021-01-04T21:35:37Z", "author_association": "OWNER", "body": "I tested it by running a `tmate` session on the GitHub macOS machines, and it worked!\r\n```\r\nMac-1609795972770:tmp runner$ wget 'https://github.com/simonw/datasette/releases/download/0.53/datasette-0.53-macos-binary.zip'\r\n--2021-01-04 21:34:10-- https://github.com/simonw/datasette/releases/download/0.53/datasette-0.53-macos-binary.zip\r\nResolving github.com (github.com)... 140.82.114.4\r\nConnecting to github.com (github.com)|140.82.114.4|:443... connected.\r\nHTTP request sent, awaiting response... 302 Found\r\nLocation: https://github-production-release-asset-2e65be.s3.amazonaws.com/107914493/74658700-4e90-11eb-8f3b-ee77e6dfad90?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210104T213414Z&X-Amz-Expires=300&X-Amz-Signature=6f3c54211077092553590b33a7c36cd052895c9d4619607ad1df094782f64acf&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=107914493&response-content-disposition=attachment%3B%20filename%3Ddatasette-0.53-macos-binary.zip&response-content-type=application%2Foctet-stream [following]\r\n--2021-01-04 21:34:14-- https://github-production-release-asset-2e65be.s3.amazonaws.com/107914493/74658700-4e90-11eb-8f3b-ee77e6dfad90?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210104T213414Z&X-Amz-Expires=300&X-Amz-Signature=6f3c54211077092553590b33a7c36cd052895c9d4619607ad1df094782f64acf&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=107914493&response-content-disposition=attachment%3B%20filename%3Ddatasette-0.53-macos-binary.zip&response-content-type=application%2Foctet-stream\r\nResolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.43.164\r\nConnecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.43.164|:443... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 8297283 (7.9M) [application/octet-stream]\r\nSaving to: \u2018datasette-0.53-macos-binary.zip\u2019\r\n\r\ndatasette-0.53-maco 100%[===================>] 7.91M --.-KB/s in 0.1s \r\n\r\n2021-01-04 21:34:14 (73.4 MB/s) - \u2018datasette-0.53-macos-binary.zip\u2019 saved [8297283/8297283]\r\n\r\nMac-1609795972770:tmp runner$ unzip datasette-0.53-macos-binary.zip \r\nArchive: datasette-0.53-macos-binary.zip\r\n creating: datasette-0.53-macos-binary/\r\n inflating: datasette-0.53-macos-binary/datasette \r\nMac-1609795972770:tmp runner$ datasette-0.53-macos-binary/datasette --help\r\nUsage: datasette [OPTIONS] COMMAND [ARGS]...\r\n\r\n Datasette!\r\n\r\nOptions:\r\n --version Show the version and exit.\r\n --help Show this message and exit.\r\n\r\nCommands:\r\n serve* Serve up specified SQLite database files with a web UI\r\n inspect\r\n install Install Python packages - e.g.\r\n package Package specified SQLite files into a new datasette Docker...\r\n plugins List currently available plugins\r\n publish Publish specified SQLite database files to the internet along...\r\n uninstall Uninstall Python packages (e.g.\r\nMac-1609795972770:tmp runner$ datasette-0.53-macos-binary/datasette --get /-/versions.json\r\n{\"python\": {\"version\": \"3.9.1\", \"full\": \"3.9.1 (default, Dec 10 2020, 10:36:35) \\n[Clang 12.0.0 (clang-1200.0.32.27)]\"}, \"datasette\": {\"version\": \"0.53\"}, \"asgi\": \"3.0\", \"uvicorn\": \"0.13.3\", \"sqlite\": {\"version\": \"3.34.0\", \"fts_versions\": [\"FTS5\", \"FTS4\", \"FTS3\"], \"extensions\": {\"json1\": null}, \"compile_options\": [\"COMPILER=clang-12.0.0\", \"ENABLE_COLUMN_METADATA\", \"ENABLE_FTS3\", \"ENABLE_FTS3_PARENTHESIS\", \"ENABLE_FTS4\", \"ENABLE_FTS5\", \"ENABLE_GEOPOLY\", \"ENABLE_JSON1\", \"ENABLE_PREUPDATE_HOOK\", \"ENABLE_RTREE\", \"ENABLE_SESSION\", \"MAX_VARIABLE_NUMBER=250000\", \"THREADSAFE=1\"]}}\r\nMac-1609795972770:tmp runner$ \r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754229977", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754229977, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIyOTk3Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T21:28:01Z", "updated_at": "2021-01-04T21:28:01Z", "author_association": "OWNER", "body": "As an experiment, I put the macOS one in a zip file and attached it to the latest release:\r\n\r\n```\r\nmkdir datasette-0.53-macos-binary\r\ncp dist/datasette datasette-0.53-macos-binary\r\nzip -r datasette-0.53-macos-binary.zip datasette-0.53-macos-binary\r\n```\r\n\r\nIt's available here: https://github.com/simonw/datasette/releases/tag/0.53 - download URL is https://github.com/simonw/datasette/releases/download/0.53/datasette-0.53-macos-binary.zip", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754227543", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754227543, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIyNzU0Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T21:23:13Z", "updated_at": "2021-01-04T21:23:13Z", "author_association": "OWNER", "body": "```\r\n(pyinstaller-venv) root@dogsheep:/tmp/pyinstaller-venv# dist/datasette --get /-/databases.json\r\n[{\"name\": \":memory:\", \"path\": null, \"size\": 0, \"is_mutable\": true, \"is_memory\": true, \"hash\": null}]\r\n(pyinstaller-venv) root@dogsheep:/tmp/pyinstaller-venv# ls -lah dist/datasette \r\n-rwxr-xr-x 1 root root 8.9M Jan 4 21:05 dist/datasette\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754219002", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754219002, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIxOTAwMg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T21:06:49Z", "updated_at": "2021-01-04T21:22:27Z", "author_association": "OWNER", "body": "Works on Linux/Ubuntu too, except I had to do `export BASE=` on a separate line. I also did this:\r\n```\r\napt-get install python3 python3-venv\r\npython3 -m venv pyinstaller-venv\r\nsource pyinstaller-venv/bin/activate\r\npip install wheel\r\npip install datasette pyinstaller\r\n\r\nexport DATASETTE_BASE=$(python -c 'import os; print(os.path.dirname(__import__(\"datasette\").__file__))')\r\n\r\npyinstaller -F \\\r\n --add-data \"$DATASETTE_BASE/templates:datasette/templates\" \\\r\n --add-data \"$DATASETTE_BASE/static:datasette/static\" \\\r\n --hidden-import datasette.publish \\\r\n --hidden-import datasette.publish.heroku \\\r\n --hidden-import datasette.publish.cloudrun \\\r\n --hidden-import datasette.facets \\\r\n --hidden-import datasette.sql_functions \\\r\n --hidden-import datasette.actor_auth_cookie \\\r\n --hidden-import datasette.default_permissions \\\r\n --hidden-import datasette.default_magic_parameters \\\r\n --hidden-import datasette.blob_renderer \\\r\n --hidden-import datasette.default_menu_links \\\r\n --hidden-import uvicorn \\\r\n --hidden-import uvicorn.logging \\\r\n --hidden-import uvicorn.loops \\\r\n --hidden-import uvicorn.loops.auto \\\r\n --hidden-import uvicorn.protocols \\\r\n --hidden-import uvicorn.protocols.http \\\r\n --hidden-import uvicorn.protocols.http.auto \\\r\n --hidden-import uvicorn.protocols.websockets \\\r\n --hidden-import uvicorn.protocols.websockets.auto \\\r\n --hidden-import uvicorn.lifespan \\\r\n --hidden-import uvicorn.lifespan.on \\\r\n $(which datasette)\r\n```\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": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754218545", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754218545, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIxODU0NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T21:05:57Z", "updated_at": "2021-01-04T21:05:57Z", "author_association": "OWNER", "body": "That BASE= trick seems to work with `zsh` but not with `bash`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754215392", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754215392, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIxNTM5Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T20:59:20Z", "updated_at": "2021-01-04T21:03:14Z", "author_association": "OWNER", "body": "Updated `pyinstaller` recipe - lots of hidden imports needed now:\r\n```\r\npip install wheel\r\npip install datasette pyinstaller\r\n\r\nBASE=$(python -c 'import os; print(os.path.dirname(__import__(\"datasette\").__file__))') \\\r\n pyinstaller -F \\\r\n --add-data \"$BASE/templates:datasette/templates\" \\\r\n --add-data \"$BASE/static:datasette/static\" \\\r\n --hidden-import datasette.publish \\\r\n --hidden-import datasette.publish.heroku \\\r\n --hidden-import datasette.publish.cloudrun \\\r\n --hidden-import datasette.facets \\\r\n --hidden-import datasette.sql_functions \\\r\n --hidden-import datasette.actor_auth_cookie \\\r\n --hidden-import datasette.default_permissions \\\r\n --hidden-import datasette.default_magic_parameters \\\r\n --hidden-import datasette.blob_renderer \\\r\n --hidden-import datasette.default_menu_links \\\r\n --hidden-import uvicorn \\\r\n --hidden-import uvicorn.logging \\\r\n --hidden-import uvicorn.loops \\\r\n --hidden-import uvicorn.loops.auto \\\r\n --hidden-import uvicorn.protocols \\\r\n --hidden-import uvicorn.protocols.http \\\r\n --hidden-import uvicorn.protocols.http.auto \\\r\n --hidden-import uvicorn.protocols.websockets \\\r\n --hidden-import uvicorn.protocols.websockets.auto \\\r\n --hidden-import uvicorn.lifespan \\\r\n --hidden-import uvicorn.lifespan.on \\\r\n $(which datasette)\r\n```", "reactions": "{\"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-754215793", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 754215793, "node_id": "MDEyOklzc3VlQ29tbWVudDc1NDIxNTc5Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-01-04T21:00:14Z", "updated_at": "2021-01-04T21:00:14Z", "author_association": "OWNER", "body": "```\r\n(pyinstaller-datasette) pyinstaller-datasette % file dist/datasette\r\ndist/datasette: Mach-O 64-bit executable x86_64\r\n(pyinstaller-datasette) pyinstaller-datasette % ls -lah dist/datasette\r\n-rwxr-xr-x 1 simon wheel 8.0M Jan 4 12:58 dist/datasette\r\n```\r\nI'm surprised it's only 8MB!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-538760447", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 538760447, "node_id": "MDEyOklzc3VlQ29tbWVudDUzODc2MDQ0Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-10-06T15:56:01Z", "updated_at": "2019-10-06T15:56:01Z", "author_association": "OWNER", "body": "Relevant conversation on Twitter: https://twitter.com/simonw/status/1180866651962560512?s=21", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344516406", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344516406, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDUxNjQwNg==", "user": {"value": 67420, "label": "atomotic"}, "created_at": "2017-11-15T08:09:41Z", "updated_at": "2017-11-15T08:09:41Z", "author_association": "NONE", "body": "actually you can use travis to build for linux/macos and [appveyor](https://www.appveyor.com/) to build for windows.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344440658", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344440658, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQ0MDY1OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-14T23:58:07Z", "updated_at": "2017-11-14T23:58:07Z", "author_association": "OWNER", "body": "It's a shame pyinstaller can't act as a cross-compiler - so I don't think I can get Travis CI to build packages. But it's fantastic that it's possible to turn the tool into a standalone executable!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344440377", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344440377, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQ0MDM3Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-14T23:56:35Z", "updated_at": "2017-11-14T23:56:35Z", "author_association": "OWNER", "body": "It worked!\r\n\r\n $ pyinstaller -F \\\r\n --add-data /usr/local/lib/python3.5/site-packages/datasette/templates:datasette/templates \\\r\n --add-data /usr/local/lib/python3.5/site-packages/datasette/static:datasette/static \\\r\n /usr/local/bin/datasette\r\n\r\n $ file dist/datasette \r\n dist/datasette: Mach-O 64-bit executable x86_64\r\n $ dist/datasette --help\r\n Usage: datasette [OPTIONS] COMMAND [ARGS]...\r\n\r\n Datasette!\r\n\r\n Options:\r\n --help Show this message and exit.\r\n\r\n Commands:\r\n serve* Serve up specified SQLite database files with...\r\n build\r\n package Package specified SQLite files into a new...\r\n publish Publish specified SQLite database files to...\r\n", "reactions": "{\"total_count\": 3, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 3, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344430299", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344430299, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQzMDI5OQ==", "user": {"value": 67420, "label": "atomotic"}, "created_at": "2017-11-14T23:06:33Z", "updated_at": "2017-11-14T23:06:33Z", "author_association": "NONE", "body": "i will look better tomorrow, it's late i surely made some mistake\r\nhttps://asciinema.org/a/ZyAWbetrlriDadwWyVPUWB94H", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344426887", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344426887, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQyNjg4Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-14T22:51:46Z", "updated_at": "2017-11-14T22:51:46Z", "author_association": "OWNER", "body": "That didn't quite work for me. It built me a `dist/datasette` executable but when I try to run it I get an error:\r\n\r\n $ pwd\r\n /Users/simonw/Dropbox/Development/datasette\r\n $ source venv/bin/activate\r\n $ pyinstaller -F --add-data datasette/templates:datasette/templates --add-data datasette/static:datasette/static /Users/simonw/Dropbox/Development/datasette/venv/bin/datasette\r\n $ dist/datasette --help\r\n Traceback (most recent call last):\r\n File \"datasette\", line 11, in \r\n File \"site-packages/pkg_resources/__init__.py\", line 572, in load_entry_point\r\n File \"site-packages/pkg_resources/__init__.py\", line 564, in get_distribution\r\n File \"site-packages/pkg_resources/__init__.py\", line 436, in get_provider\r\n File \"site-packages/pkg_resources/__init__.py\", line 984, in require\r\n File \"site-packages/pkg_resources/__init__.py\", line 870, in resolve\r\n pkg_resources.DistributionNotFound: The 'datasette' distribution was not found and is required by the application\r\n [99117] Failed to execute script datasette\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344424382", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344424382, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQyNDM4Mg==", "user": {"value": 67420, "label": "atomotic"}, "created_at": "2017-11-14T22:42:16Z", "updated_at": "2017-11-14T22:42:16Z", "author_association": "NONE", "body": "tried quickly, this seems working:\r\n\r\n```\r\n~ pip3 install pyinstaller\r\n~ pyinstaller -F --add-data /usr/local/lib/python3.6/site-packages/datasette/templates:datasette/templates --add-data /usr/local/lib/python3.6/site-packages/datasette/static:datasette/static /usr/local/bin/datasette\r\n\r\n~ du -h dist/datasette\r\n6.8M\tdist/datasette\r\n~ file dist/datasette\r\ndist/datasette: Mach-O 64-bit executable x86_64\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344415756", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344415756, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQxNTc1Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-14T22:09:13Z", "updated_at": "2017-11-14T22:09:13Z", "author_association": "OWNER", "body": "Looks like we'd need to use this recipe: https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Setuptools-Entry-Point", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/93#issuecomment-344409906", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/93", "id": 344409906, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NDQwOTkwNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-14T21:47:02Z", "updated_at": "2017-11-14T21:47:02Z", "author_association": "OWNER", "body": "Even without bundling in the database file itself, I'd love to have a standalone binary version of the core `datasette` CLI utility.\r\n\r\nI think Sanic may have some complex dependencies, but I've never tried pyinstaller so I don't know how easy or hard it would be to get this working.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273944952, "label": "Package as standalone binary"}, "performed_via_github_app": null}