{"html_url": "https://github.com/simonw/datasette-render-html/releases/tag/0.1", "id": 17055917, "node_id": "MDc6UmVsZWFzZTE3MDU1OTE3", "tag_name": "0.1", "target_commitish": "master", "name": "", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-04-30T01:55:11Z", "published_at": "2019-04-30T01:59:32Z", "assets": "[]", "body": "", "repo": {"value": 184168864, "label": "datasette-render-html"}} {"html_url": "https://github.com/simonw/datasette-render-binary/releases/tag/0.1", "id": 17874587, "node_id": "MDc6UmVsZWFzZTE3ODc0NTg3", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-09T16:01:27Z", "published_at": "2019-06-09T16:10:36Z", "assets": "[]", "body": "", "repo": {"value": 191022928, "label": "datasette-render-binary"}} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.1", "id": 18750551, "node_id": "MDc6UmVsZWFzZTE4NzUwNTUx", "tag_name": "0.1", "target_commitish": "master", "name": "Initial release", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-20T06:22:57Z", "published_at": "2019-07-20T16:43:09Z", "assets": "[]", "body": "", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.1a", "id": 19763160, "node_id": "MDc6UmVsZWFzZTE5NzYzMTYw", "tag_name": "0.1a", "target_commitish": "master", "name": "Alpha release", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-03T20:42:38Z", "published_at": "2019-09-04T22:08:18Z", "assets": "[]", "body": "", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-json-html/releases/tag/0.4.0", "id": 14760894, "node_id": "MDc6UmVsZWFzZTE0NzYwODk0", "tag_name": "0.4.0", "target_commitish": "master", "name": "0.4.0 -
 support", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-01-02T04:10:17Z", "published_at": "2019-01-02T04:17:15Z", "assets": "[]", "body": "\r\nYou can use `{\"pre\": \"text\"}` to render text in a `
` HTML tag:\r\n\r\n    {\r\n        \"pre\": \"This\\nhas\\nnewlines\"\r\n    }\r\n\r\nProduces:\r\n\r\n    
This\r\n    has\r\n    newlines
\r\n\r\nIf the value attached to the `\"pre\"` key is itself a JSON object, that JSON will be pretty-printed:\r\n\r\n {\r\n \"pre\": {\r\n \"this\": {\r\n \"object\": [\"is\", \"nested\"]\r\n }\r\n }\r\n }\r\n\r\nProduces:\r\n\r\n
{\r\n      "this": {\r\n        "object": [\r\n          "is",\r\n          "nested"\r\n        ]\r\n      }\r\n    }
", "repo": {"value": 142967347, "label": "datasette-json-html"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.16", "id": 10542772, "node_id": "MDc6UmVsZWFzZTEwNTQyNzcy", "tag_name": "0.16", "target_commitish": "master", "name": "Datasette 0.16: sort on mobile, better error handling", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-04-13T18:28:55Z", "published_at": "2018-04-13T21:10:53Z", "assets": "[]", "body": " - Better mechanism for handling errors; 404s for missing table/database\r\n \r\n New error mechanism closes [#193](https://github.com/simonw/datasette/issues/193)\r\n \r\n 404s for missing tables/databases closes [#184](https://github.com/simonw/datasette/issues/184)\r\n\r\n - long\\_description in markdown for the new PyPI\r\n\r\n - Hide Spatialite system tables. \\[Russ Garrett\\]\r\n\r\n - Allow `explain select` / `explain query plan select` [#201](https://github.com/simonw/datasette/issues/201)\r\n\r\n - Datasette inspect now finds primary\\_keys [#195](https://github.com/simonw/datasette/issues/195)\r\n\r\n - Ability to sort using form fields (for mobile portrait mode) [#199](https://github.com/simonw/datasette/issues/199)\r\n \r\n We now display sort options as a select box plus a descending checkbox, which means you can apply sort orders even in portrait mode on a mobile phone where the column headers are hidden.", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.13", "id": 8652546, "node_id": "MDc6UmVsZWFzZTg2NTI1NDY=", "tag_name": "0.13", "target_commitish": "master", "name": "Datasette 0.13: foreign key, search and filters", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-25T03:33:39Z", "published_at": "2017-11-25T03:44:46Z", "assets": "[]", "body": "# 0.13 (2017-11-24)\r\n\r\n - Search now applies to current filters.\r\n \r\n Combined search into the same form as filters.\r\n \r\n Closes [\\#133](https://github.com/simonw/datasette/issues/133)\r\n\r\n - Much tidier design for table view header.\r\n \r\n Closes [\\#147](https://github.com/simonw/datasette/issues/147)\r\n\r\n - Added `?column__not=blah` filter.\r\n \r\n Closes [\\#148](https://github.c)\r\n\r\n - Row page now resolves foreign keys.\r\n \r\n Closes [\\#132]()\r\n\r\n - Further tweaks to select/input filter styling.\r\n \r\n Refs [\\#86]() - thanks for the help, @natbat\\!\r\n\r\n - Show linked foreign key in table cells.\r\n\r\n - Added UI for editing table filters.\r\n \r\n Refs [\\#86]()\r\n\r\n - Hide FTS-created tables on index pages.\r\n \r\n Closes [\\#129]()\r\n\r\n - Add publish to heroku support \\[Jacob Kaplan-Moss\\]\r\n \r\n `datasette publish heroku mydb.db`\r\n \r\n Pull request [\\#104]()\r\n\r\n - Initial implementation of `?_group_count=column`.\r\n \r\n URL shortcut for counting rows grouped by one or more columns.\r\n \r\n `?_group_count=column1&_group_count=column2` works as well.\r\n \r\n SQL generated looks like this:\r\n \r\n select \"qSpecies\", count(*) as \"count\"\r\n from Street_Tree_List\r\n group by \"qSpecies\"\r\n order by \"count\" desc limit 100\r\n \r\n Or for two columns like this:\r\n \r\n select \"qSpecies\", \"qSiteInfo\", count(*) as \"count\"\r\n from Street_Tree_List\r\n group by \"qSpecies\", \"qSiteInfo\"\r\n order by \"count\" desc limit 100\r\n \r\n Refs [\\#44]()\r\n\r\n - Added `--build=master` option to datasette publish and package.\r\n \r\n The `datasette publish` and `datasette package` commands both now\r\n accept an optional `--build` argument. If provided, this can be used\r\n to specify a branch published to GitHub that should be built into\r\n the container.\r\n \r\n This makes it easier to test code that has not yet been officially\r\n released to PyPI, e.g.:\r\n \r\n datasette publish now mydb.db --branch=master\r\n\r\n - Implemented `?_search=XXX` + UI if a FTS table is detected.\r\n \r\n Closes [\\#131]()\r\n\r\n - Added `datasette --version` support.\r\n\r\n - Table views now show expanded foreign key references, if possible.\r\n \r\n If a table has foreign key columns, and those foreign key tables\r\n have `label_columns`, the TableView will now query those other\r\n tables for the corresponding values and display those values as\r\n links in the corresponding table cells.\r\n \r\n label\\_columns are currently detected by the `inspect()` function,\r\n which looks for any table that has just two columns - an ID column\r\n and one other - and sets the `label_column` to be that second non-ID\r\n column.\r\n\r\n - Don't prevent tabbing to \"Run SQL\" button ([\\#117]()) \\[Robert\r\n Gieseke\\]\r\n \r\n See comment in [\\#115]()\r\n\r\n - Add keyboard shortcut to execute SQL query ([\\#115]()) \\[Robert\r\n Gieseke\\]\r\n\r\n - Allow `--load-extension` to be set via environment variable.\r\n\r\n - Add support for `?field__isnull=1` ([\\#107]()) \\[Ray N\\]\r\n\r\n - Add spatialite, switch to debian and local build ([\\#114]()) \\[Ariel\r\n N\u00fa\u00f1ez\\]\r\n\r\n - Added `--load-extension` argument to datasette serve.\r\n \r\n Allows loading of SQLite extensions. Refs [\\#110]().\r\n", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.5", "id": 8575785, "node_id": "MDc6UmVsZWFzZTg1NzU3ODU=", "tag_name": "0.5", "target_commitish": "master", "name": "csvs-to-sqlite 0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-19T05:11:27Z", "published_at": "2017-11-19T05:53:25Z", "assets": "[]", "body": "## Now handles columns with integers and nulls in correctly\r\n\r\nPandas does a good job of figuring out which SQLite column types should be\r\nused for a DataFrame - with one exception: due to a limitation of NumPy it\r\ntreats columns containing a mixture of integers and NaN (blank values) as\r\nbeing of type float64, which means they end up as REAL columns in SQLite.\r\n\r\nhttp://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na\r\n\r\nTo fix this, we now check to see if a float64 column actually consists solely\r\nof NaN and integer-valued floats (checked using v.is_integer() in Python). If\r\nthat is the case, we over-ride the column type to be INTEGER instead.\r\n\r\nSee #5 - also a8ab524 and 0997b7b", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.6", "id": 8651869, "node_id": "MDc6UmVsZWFzZTg2NTE4Njk=", "tag_name": "0.6", "target_commitish": "master", "name": "csvs-to-sqlite 0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-24T23:12:10Z", "published_at": "2017-11-24T23:16:45Z", "assets": "[]", "body": "## SQLite full-text search support\r\n\r\n- Added `--fts` option for setting up SQLite full-text search.\r\n\r\n The `--fts` option will create a corresponding SQLite FTS virtual table, using\r\n the best available version of the FTS module.\r\n\r\n https://sqlite.org/fts5.html\r\n https://www.sqlite.org/fts3.html\r\n\r\n Usage:\r\n\r\n csvs-to-sqlite my-csv.csv output.db -f column1 -f column2\r\n\r\n Example generated with this option: https://sf-trees-search.now.sh/\r\n\r\n Example search: https://sf-trees-search.now.sh/sf-trees-search-a899b92?sql=select+*+from+Street_Tree_List+where+rowid+in+%28select+rowid+from+Street_Tree_List_fts+where+Street_Tree_List_fts+match+%27grove+london+dpw%27%29%0D%0A\r\n\r\n Will be used in https://github.com/simonw/datasette/issues/131\r\n- `--fts` and `--extract-column` now cooperate.\r\n\r\n If you extract a column and then specify that same column in the `--fts` list,\r\n `csvs-to-sqlite` now uses the original value of that column in the index.\r\n\r\n Example using CSV from https://data.sfgov.org/City-Infrastructure/Street-Tree-List/tkzw-k3nq\r\n\r\n csvs-to-sqlite Street_Tree_List.csv trees-fts.db \\\r\n -c qLegalStatus -c qSpecies -c qSiteInfo \\\r\n -c PlantType -c qCaretaker -c qCareAssistant \\\r\n -f qLegalStatus -f qSpecies -f qAddress \\\r\n -f qSiteInfo -f PlantType -f qCaretaker \\\r\n -f qCareAssistant -f PermitNotes\r\n\r\n Closes #9\r\n- Handle column names with spaces in them.\r\n- Added `csvs-to-sqlite --version` option.\r\n\r\n Using http://click.pocoo.org/5/api/#click.version_option", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.10", "id": 20721291, "node_id": "MDc6UmVsZWFzZTIwNzIxMjkx", "tag_name": "0.10", "target_commitish": "master", "name": "0.10", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-15T18:53:53Z", "published_at": "2019-10-15T18:56:09Z", "assets": "[]", "body": "* favorites command now populates `favorited_by` table - #14 \r\n* favorites `--stop_after` option - #20 \r\n* Store unescaped `full_text` of Tweet - #21 ", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-render-timestamps/releases/tag/0.2", "id": 20685215, "node_id": "MDc6UmVsZWFzZTIwNjg1MjE1", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-14T14:51:18Z", "published_at": "2019-10-14T14:52:55Z", "assets": "[]", "body": "* Ability to [configure date format](https://github.com/simonw/datasette-render-timestamps/blob/0.2/README.md#configuration) - (pull request #1). Thanks, @chris48s! ", "repo": {"value": 214299267, "label": "datasette-render-timestamps"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.3", "id": 18451672, "node_id": "MDc6UmVsZWFzZTE4NDUxNjcy", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-06T17:14:58Z", "published_at": "2019-07-06T17:15:29Z", "assets": "[]", "body": "* Ability to restrict access to specific users or members of specific GitHub organizations #4", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.2", "id": 20755954, "node_id": "MDc6UmVsZWFzZTIwNzU1OTU0", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-16T20:40:25Z", "published_at": "2019-10-16T20:40:55Z", "assets": "[]", "body": "* Added --since option, closes #3 ", "repo": {"value": 205429375, "label": "swarm-to-sqlite"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/0.8", "id": 18312546, "node_id": "MDc6UmVsZWFzZTE4MzEyNTQ2", "tag_name": "0.8", "target_commitish": "master", "name": "0.8", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-29T21:52:48Z", "published_at": "2019-06-29T21:53:58Z", "assets": "[]", "body": "* Added `--progress` option to show progress bars during import - #7 ", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11", "id": 20754277, "node_id": "MDc6UmVsZWFzZTIwNzU0Mjc3", "tag_name": "0.11", "target_commitish": "master", "name": "0.11", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-16T19:37:10Z", "published_at": "2019-10-16T19:38:42Z", "assets": "[]", "body": "* Added `--since_id` and `--since` to `user-timeline` command, refs #20\r\n* `--since` and `--since_id` options for `home-timeline`, closes #19 \r\n* `import` command now works on files and directories, closes #22 ", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.5", "id": 19889174, "node_id": "MDc6UmVsZWFzZTE5ODg5MTc0", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-10T17:38:46Z", "published_at": "2019-09-10T17:39:47Z", "assets": "[]", "body": "* Added `followers-ids` and `friends-ids` subcommands", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.4", "id": 20031553, "node_id": "MDc6UmVsZWFzZTIwMDMxNTUz", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-17T00:18:37Z", "published_at": "2019-09-17T00:19:42Z", "assets": "[]", "body": "* Added `github-to-sqlite repos` command, #3 ", "repo": {"value": 207052882, "label": "github-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-rure/releases/tag/0.2", "id": 19899411, "node_id": "MDc6UmVsZWFzZTE5ODk5NDEx", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-11T03:24:21Z", "published_at": "2019-09-11T03:25:22Z", "assets": "[]", "body": "* Added regexp_match() function, #1\r\n* Added regexp_matches() function, #2", "repo": {"value": 207630174, "label": "datasette-rure"}} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.2", "id": 19993751, "node_id": "MDc6UmVsZWFzZTE5OTkzNzUx", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-14T21:31:17Z", "published_at": "2019-09-14T21:32:34Z", "assets": "[]", "body": "* Added the `github-to-sqlite starred` command for retrieving starred repos, #1 ", "repo": {"value": 207052882, "label": "github-to-sqlite"}} {"html_url": "https://github.com/simonw/yaml-to-sqlite/releases/tag/0.2.1", "id": 21310374, "node_id": "MDc6UmVsZWFzZTIxMzEwMzc0", "tag_name": "0.2.1", "target_commitish": "master", "name": "0.2.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-08T06:43:41Z", "published_at": "2019-11-08T06:46:02Z", "assets": "[]", "body": "* Better help for `--pk`", "repo": {"value": 175550127, "label": "yaml-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29.2", "id": 19704661, "node_id": "MDc6UmVsZWFzZTE5NzA0NjYx", "tag_name": "0.29.2", "target_commitish": "master", "name": "0.29.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-14T03:04:05Z", "published_at": "2019-09-03T00:33:35Z", "assets": "[]", "body": "* Bumped Uvicorn to 0.8.4, fixing a bug where the querystring was not included in the server logs. (#559)\r\n* Fixed bug where the navigation breadcrumbs were not displayed correctly on the page for a custom query. (#558)\r\n* Fixed bug where custom query names containing unicode characters caused errors.\r\n\r\nhttps://datasette.readthedocs.io/en/stable/changelog.html#v0-29-2", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/0.4", "id": 18242248, "node_id": "MDc6UmVsZWFzZTE4MjQyMjQ4", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-02-24T23:44:01Z", "published_at": "2019-06-26T15:55:54Z", "assets": "[]", "body": "* Create `--all` tables in toposort order\r\n* Depend on sqlite-utils version 0.14 or higher\r\n", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-rure/releases/tag/0.3", "id": 19927123, "node_id": "MDc6UmVsZWFzZTE5OTI3MTIz", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-11T22:58:20Z", "published_at": "2019-09-11T23:00:32Z", "assets": "[]", "body": "* Documentation now links to interactive demos\r\n* Now uses an LRU cache for compiled regular expressions, which can give a 10x speedup on queries #3", "repo": {"value": 207630174, "label": "datasette-rure"}} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.1.1", "id": 19993251, "node_id": "MDc6UmVsZWFzZTE5OTkzMjUx", "tag_name": "0.1.1", "target_commitish": "master", "name": "0.1.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-14T19:19:33Z", "published_at": "2019-09-14T19:42:08Z", "assets": "[]", "body": "* Fix bug in authentication handling code", "repo": {"value": 207052882, "label": "github-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11.1", "id": 20758324, "node_id": "MDc6UmVsZWFzZTIwNzU4MzI0", "tag_name": "0.11.1", "target_commitish": "master", "name": "0.11.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-16T19:46:35Z", "published_at": "2019-10-16T22:31:51Z", "assets": "[]", "body": "* Fix bugs running `home-timeline --since` from scratch. If tables were missing, script would throw an error.", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-leaflet-geojson/releases/tag/0.3", "id": 20686035, "node_id": "MDc6UmVsZWFzZTIwNjg2MDM1", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-14T15:13:15Z", "published_at": "2019-10-14T15:18:48Z", "assets": "[]", "body": "* Fixed bug displaying multiple polygon maps on a page - #4 - thanks, @chris48s\r\n* Upgraded Leaflet to 1.5.1 - #5 - thanks, @chris48s", "repo": {"value": 135007287, "label": "datasette-leaflet-geojson"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.9.1", "id": 18185234, "node_id": "MDc6UmVsZWFzZTE4MTg1MjM0", "tag_name": "0.9.1", "target_commitish": "master", "name": "csvs-to-sqlite 0.9.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-24T15:16:54Z", "published_at": "2019-06-24T15:21:12Z", "assets": "[]", "body": "* Fixed bug where `-f` option used FTS4 even when FTS5 was available (#41)", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.3.2", "id": 18452996, "node_id": "MDc6UmVsZWFzZTE4NDUyOTk2", "tag_name": "0.3.2", "target_commitish": "master", "name": "0.3.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-06T20:18:37Z", "published_at": "2019-07-06T22:01:45Z", "assets": "[]", "body": "* Fixed bug where custom template was not correctly included in the package #15", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.3.1", "id": 18451716, "node_id": "MDc6UmVsZWFzZTE4NDUxNzE2", "tag_name": "0.3.1", "target_commitish": "master", "name": "0.3.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-06T17:27:03Z", "published_at": "2019-07-06T17:27:46Z", "assets": "[]", "body": "* Fixed bug where we were requesting the incorrect OAuth scope when using `allow_orgs` #14 ", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.4", "id": 21306693, "node_id": "MDc6UmVsZWFzZTIxMzA2Njkz", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-08T01:19:23Z", "published_at": "2019-11-08T01:19:51Z", "assets": "[]", "body": "* Fixed workout latitude/longitude points import for iOS 13 - #10", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/0.5", "id": 18242294, "node_id": "MDc6UmVsZWFzZTE4MjQyMjk0", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-26T15:44:35Z", "published_at": "2019-06-26T15:57:17Z", "assets": "[]", "body": "* Foreign keys are now all added at the end, which means we can support circular foreign key references #1\r\n* Dropped dependency on `toposort`\r\n* Added `--all --skip=table` option for skipping one or more tables when running `--all`", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/1.0.1", "id": 18321523, "node_id": "MDc6UmVsZWFzZTE4MzIxNTIz", "tag_name": "1.0.1", "target_commitish": "master", "name": "1.0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-01T04:08:01Z", "published_at": "2019-07-01T04:09:04Z", "assets": "[]", "body": "* Improvements to README", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.4", "id": 18453004, "node_id": "MDc6UmVsZWFzZTE4NDUzMDA0", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-06T22:02:38Z", "published_at": "2019-07-06T22:03:41Z", "assets": "[]", "body": "* More compact JSON encoding for authentication cookie value\r\n* Support single string values for `allow_users`/`allow_orgs` options, #16 ", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.5", "id": 18453939, "node_id": "MDc6UmVsZWFzZTE4NDUzOTM5", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-07T02:35:09Z", "published_at": "2019-07-07T02:37:16Z", "assets": "[]", "body": "* New `allow_teams` configuration option for restricting access to members of a GitHub team - #11\r\n* Signed cookies expire after a TTL (customize with new `cooke_ttl` setting) - #22\r\n* Documentation on using this as ASGI middleware - #19\r\n* Avoid 404 on `/-/auth-callback` if user is logged in - #24\r\n* Added `cookie_version` setting for invalidating all cookies - #18", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.10", "id": 20521948, "node_id": "MDc6UmVsZWFzZTIwNTIxOTQ4", "tag_name": "0.10", "target_commitish": "master", "name": "0.10", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-07T15:36:41Z", "published_at": "2019-10-07T15:40:02Z", "assets": "[]", "body": "* New `cacheable_prefixes` mechanism to avoid performance issues caused by adding `cache-control: private` to static assets - #47", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.7", "id": 18555982, "node_id": "MDc6UmVsZWFzZTE4NTU1OTgy", "tag_name": "0.7", "target_commitish": "master", "name": "0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-11T15:05:54Z", "published_at": "2019-07-11T15:07:15Z", "assets": "[]", "body": "* New `require_auth` configuration option. This defaults to `True` (reflecting existing behaviour) when `datasette-auth-github` is used as a Datasette plugin, but it defaults to `False` if you use the wrapper ASGI middleware class directly. #37", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.7", "id": 20504543, "node_id": "MDc6UmVsZWFzZTIwNTA0NTQz", "tag_name": "0.7", "target_commitish": "master", "name": "0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-07T00:32:08Z", "published_at": "2019-10-07T00:33:28Z", "assets": "[]", "body": "* New `statuses-lookup` command for bulk fetching tweets by their IDs - #13 ", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.9", "id": 20646519, "node_id": "MDc6UmVsZWFzZTIwNjQ2NTE5", "tag_name": "0.9", "target_commitish": "master", "name": "0.9", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-11T16:55:10Z", "published_at": "2019-10-11T16:57:25Z", "assets": "[]", "body": "* New `twitter-to-sqlite home-timeline` command, for retrieving your timeline of tweets from people you follow - #18\r\n* `twitter-to-sqlite import` created tables now use the `archive_` prefix instead of `archive-`, for easier querying\r\n* Running `twitter-to-sqlite import` now deletes existing `archive_` tables and recreates them - #17", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.8", "id": 20631452, "node_id": "MDc6UmVsZWFzZTIwNjMxNDUy", "tag_name": "0.8", "target_commitish": "master", "name": "0.8", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-11T06:45:21Z", "published_at": "2019-10-11T06:46:52Z", "assets": "[]", "body": "* New `twitter-to-sqlite import twitter.db archive.zip` command for importing data from a Twitter export file. #4 - [documentation here](https://github.com/dogsheep/twitter-to-sqlite/blob/master/README.md#importing-data-from-your-twitter-archive).", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.4", "id": 19865891, "node_id": "MDc6UmVsZWFzZTE5ODY1ODkx", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-09T22:41:25Z", "published_at": "2019-09-09T22:43:05Z", "assets": "[]", "body": "* New `users-lookup` command for fetching multiple user profiles, including using new `--sql` and `--attach` options\r\n* New `list-members` subcommand for fetching members of a list\r\n* Added `stop_after` option to `user-timeline` command", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.5", "id": 20663605, "node_id": "MDc6UmVsZWFzZTIwNjYzNjA1", "tag_name": "0.5", "target_commitish": "master", "name": "0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-13T05:28:24Z", "published_at": "2019-10-13T05:30:05Z", "assets": "[]", "body": "* New command: `github-to-sqlite issue-comments` for importing comments on issues - #7\r\n* `github-to-sqlite issues` now accepts optional `--issue=1` argument\r\n* Fixed bug inserting users into already-created table with wrong columns - #6", "repo": {"value": 207052882, "label": "github-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.6", "id": 20497186, "node_id": "MDc6UmVsZWFzZTIwNDk3MTg2", "tag_name": "0.6", "target_commitish": "master", "name": "0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-06T04:49:17Z", "published_at": "2019-10-06T04:52:18Z", "assets": "[]", "body": "* New experimental `track` and `follow` commands for subscribing to the Twitter real-time API #11. [Documentation](https://github.com/dogsheep/twitter-to-sqlite#capturing-tweets-in-real-time-with-track-and-follow) for track and follow.\r\n* Documentation for `--sql` and `--attach`, refs #8", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.6", "id": 18458558, "node_id": "MDc6UmVsZWFzZTE4NDU4NTU4", "tag_name": "0.6", "target_commitish": "master", "name": "0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-07T19:41:27Z", "published_at": "2019-07-07T19:41:47Z", "assets": "[]", "body": "* Redirects back to where you were after you login, using a new `asgi_auth_redirect` cookie - #26\r\n* Unset asgi_auth_logout cookie when you sign in again - #28\r\n* Fixed bug where API call to GitHub intermittently failed with `ConnectionResetError` - #27\r\n* More robust creation of derived cookie signing secret using `hashlib.pbkdf2_hmac`\r\n* HTML pages now served with `charset=UTF-8` - #30\r\n", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.11", "id": 20687261, "node_id": "MDc6UmVsZWFzZTIwNjg3MjYx", "tag_name": "0.11", "target_commitish": "master", "name": "0.11", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-14T15:25:24Z", "published_at": "2019-10-14T16:06:25Z", "assets": "[]", "body": "* Subclasses can now customize the creation of the redirect cookie - #49 - thanks, @ananis25", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.12", "id": 20783590, "node_id": "MDc6UmVsZWFzZTIwNzgzNTkw", "tag_name": "0.12", "target_commitish": "master", "name": "0.12", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-17T17:57:33Z", "published_at": "2019-10-17T18:00:28Z", "assets": "[]", "body": "* The `source` column for a tweet is now a foreign key to a new `sources` table - #12\r\n* New migrations system to upgrade existing databases to handle the new `source` column extraction - #23\r\n* Experimental implementation of new `twitter-to-sqlite search tweets.db search-term` command, which runs a search and saves the tweets from that search - #3\r\n* Fixed bug where sometimes a user record for the authenticated user was not persisted to the `users` table", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.2", "id": 18451662, "node_id": "MDc6UmVsZWFzZTE4NDUxNjYy", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-06T17:11:39Z", "published_at": "2019-07-06T17:14:02Z", "assets": "[]", "body": "* `/-/logout` URL for logging out #7\r\n* Custom navigation showing login state #5\r\n* Restored ASGI lifespan support #10\r\n* `disable_auto_login` setting #9\r\n* `Cache-Control: private` #6", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.25.2", "id": 14560304, "node_id": "MDc6UmVsZWFzZTE0NTYwMzA0", "tag_name": "0.25.2", "target_commitish": "master", "name": "Datasette 0.25.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-12-16T21:26:37Z", "published_at": "2018-12-16T21:45:39Z", "assets": "[]", "body": "* `datasette publish heroku` now uses the `python-3.6.7` runtime\r\n* Added documentation on [how to build the documentation](https://datasette.readthedocs.io/en/stable/contributing.html#editing-and-building-the-documentation)\r\n* Added documentation covering [our release process](https://datasette.readthedocs.io/en/stable/contributing.html#release-process)\r\n* Upgraded to pytest 4.0.2\r\n", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.3", "id": 19993820, "node_id": "MDc6UmVsZWFzZTE5OTkzODIw", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-14T21:49:27Z", "published_at": "2019-09-14T21:50:01Z", "assets": "[]", "body": "* `license` is now extracted from the `repos` table into a separate `licenses` table with a foreign key, #2\r\n\r\n", "repo": {"value": 207052882, "label": "github-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.14", "id": 21180989, "node_id": "MDc6UmVsZWFzZTIxMTgwOTg5", "tag_name": "0.14", "target_commitish": "master", "name": "0.14", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-04T05:32:37Z", "published_at": "2019-11-04T05:33:56Z", "assets": "[]", "body": "* `search` command gained `--since_id` and `--since` options, for retrieving tweets since the last time the search was run\r\n* `search` command is [now documented](https://github.com/dogsheep/twitter-to-sqlite/blob/0.14/README.md#running-searches). Closes #3.", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.12", "id": 8546575, "node_id": "MDc6UmVsZWFzZTg1NDY1NzU=", "tag_name": "0.12", "target_commitish": "master", "name": "Datasette 0.12", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-16T15:37:46Z", "published_at": "2017-11-16T16:01:35Z", "assets": "[]", "body": "- Added `__version__`, now displayed as tooltip in page footer\r\n (#108).\r\n- Added initial docs, including a changelog (#99).\r\n- Turned on auto-escaping in Jinja.\r\n- Added a UI for editing named parameters (#96).\r\n\r\n You can now construct a custom SQL statement using SQLite named parameters (e.g. `:name`) and datasette will display form fields for editing those parameters. [Here's an example](https://australian-dogs.now.sh/australian-dogs-3ba9628?sql=select+name%2C+count%28*%29+as+n+from+%28%0D%0A%0D%0Aselect+upper%28%22Animal+name%22%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2013%5D+where+Breed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28Animal_Name%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2014%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all+%0D%0A%0D%0Aselect+upper%28Animal_Name%29+as+name+from+%5BAdelaide-City-Council-dog-registrations-2015%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22AnimalName%22%29+as+name+from+%5BCity-of-Port-Adelaide-Enfield-Dog_Registrations_2016%5D+where+AnimalBreed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22Animal+Name%22%29+as+name+from+%5BMitcham-dog-registrations-2015%5D+where+Breed+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22DOG_NAME%22%29+as+name+from+%5Bburnside-dog-registrations-2015%5D+where+DOG_BREED+like+%3Abreed%0D%0A%0D%0Aunion+all+%0D%0A%0D%0Aselect+upper%28%22Animal_Name%22%29+as+name+from+%5Bcity-of-playford-2015-dog-registration%5D+where+Breed_Description+like+%3Abreed%0D%0A%0D%0Aunion+all%0D%0A%0D%0Aselect+upper%28%22Animal+Name%22%29+as+name+from+%5Bcity-of-prospect-dog-registration-details-2016%5D+where%22Breed+Description%22+like+%3Abreed%0D%0A%0D%0A%29+group+by+name+order+by+n+desc%3B&breed=pug) which lets you see the most popular names for dogs of different species registered through various dog registration schemes in Australia.\r\n- Pin to specific Jinja version. (#100).\r\n- Default to 127.0.0.1 not 0.0.0.0. (#98).\r\n- Added extra metadata options to publish and package commands.\r\n (#92).\r\n\r\n You can now run these commands like so:\r\n\r\n datasette now publish mydb.db \\\r\n --title=\"My Title\" \\\r\n --source=\"Source\" \\\r\n --source_url=\"http://www.example.com/\" \\\r\n --license=\"CC0\" \\\r\n --license_url=\"https://creativecommons.org/publicdomain/zero/1.0/\"\r\n\r\n This will write those values into the metadata.json that is packaged\r\n with the app. If you also pass `--metadata=metadata.json` that file\r\n will be updated with the extra values before being written into the\r\n Docker image.\r\n\r\n- Added simple production-ready Dockerfile (#94) \\[Andrew Cutler\\]\r\n- New `?_sql_time_limit_ms=10` argument to database and table page\r\n (#95)\r\n- SQL syntax highlighting with Codemirror (#89) \\[Tom Dyson\\]", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.13", "id": 21073645, "node_id": "MDc6UmVsZWFzZTIxMDczNjQ1", "tag_name": "0.13", "target_commitish": "master", "name": "0.13", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-30T02:20:09Z", "published_at": "2019-10-30T02:22:30Z", "assets": "[]", "body": "- New `mentions-timeline` command (#26)", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.3", "id": 8556054, "node_id": "MDc6UmVsZWFzZTg1NTYwNTQ=", "tag_name": "0.3", "target_commitish": "master", "name": "csvs-to-sqlite 0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-17T05:26:07Z", "published_at": "2017-11-17T05:33:39Z", "assets": "[]", "body": "- **Mechanism for converting columns into separate tables**\r\n\r\n Let's say you have a CSV file that looks like this:\r\n \r\n county,precinct,office,district,party,candidate,votes\r\n Clark,1,President,,REP,John R. Kasich,5\r\n Clark,2,President,,REP,John R. Kasich,0\r\n Clark,3,President,,REP,John R. Kasich,7\r\n \r\n (Real example from https://github.com/openelections/openelections-data-sd/blob/ master/2016/20160607__sd__primary__clark__precinct.csv )\r\n \r\n You can now convert selected columns into separate lookup tables using the new\r\n --extract-column option (shortname: -c) - for example:\r\n \r\n csvs-to-sqlite openelections-data-*/*.csv \\\r\n -c county:County:name \\\r\n -c precinct:Precinct:name \\\r\n -c office -c district -c party -c candidate \\\r\n openelections.db\r\n \r\n The format is as follows:\r\n \r\n column_name:optional_table_name:optional_table_value_column_name\r\n \r\n If you just specify the column name e.g. `-c office`, the following table will\r\n be created:\r\n \r\n CREATE TABLE \"party\" (\r\n \"id\" INTEGER PRIMARY KEY,\r\n \"value\" TEXT\r\n );\r\n \r\n If you specify all three options, e.g. `-c precinct:Precinct:name` the table\r\n will look like this:\r\n \r\n CREATE TABLE \"Precinct\" (\r\n \"id\" INTEGER PRIMARY KEY,\r\n \"name\" TEXT\r\n );\r\n \r\n The original tables will be created like this:\r\n \r\n CREATE TABLE \"ca__primary__san_francisco__precinct\" (\r\n \"county\" INTEGER,\r\n \"precinct\" INTEGER,\r\n \"office\" INTEGER,\r\n \"district\" INTEGER,\r\n \"party\" INTEGER,\r\n \"candidate\" INTEGER,\r\n \"votes\" INTEGER,\r\n FOREIGN KEY (county) REFERENCES County(id),\r\n FOREIGN KEY (party) REFERENCES party(id),\r\n FOREIGN KEY (precinct) REFERENCES Precinct(id),\r\n FOREIGN KEY (office) REFERENCES office(id),\r\n FOREIGN KEY (candidate) REFERENCES candidate(id)\r\n );\r\n \r\n They will be populated with IDs that reference the new derived tables.\r\n \r\n Closes #2\r\n", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.7", "id": 8656486, "node_id": "MDc6UmVsZWFzZTg2NTY0ODY=", "tag_name": "0.7", "target_commitish": "master", "name": "csvs-to-sqlite 0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-26T03:11:33Z", "published_at": "2017-11-26T03:14:11Z", "assets": "[]", "body": "- Add -s option to specify input field separator (#13) [Jani Monoses]", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/sqlite-transform/releases/tag/0.2", "id": 21179472, "node_id": "MDc6UmVsZWFzZTIxMTc5NDcy", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-04T02:21:24Z", "published_at": "2019-11-04T02:26:57Z", "assets": "[]", "body": "- Added `lambda` command, which lets you specify a Python expression (or multiple lines of code) to be executed against every value in the column. [Documentation here](https://github.com/simonw/sqlite-transform/blob/0.2/README.md#lambda-for-executing-your-own-code). (#2)\r\n- Added a `parsedate` command, which works like `parsedatetime` except it outputs just the date component. (#1)", "repo": {"value": 219372133, "label": "sqlite-transform"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.9", "id": 18598299, "node_id": "MDc6UmVsZWFzZTE4NTk4Mjk5", "tag_name": "0.9", "target_commitish": "master", "name": "0.9", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-14T00:40:16Z", "published_at": "2019-07-14T00:41:33Z", "assets": "[]", "body": "- Explicit log in screen now includes SVG GitHub logo on the button - #42 \r\n- Default signed cookie TTL is now 1 hour, not 24 hours - #43", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/sqlite-transform/releases/tag/0.1", "id": 21179411, "node_id": "MDc6UmVsZWFzZTIxMTc5NDEx", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-04T01:07:27Z", "published_at": "2019-11-04T02:19:37Z", "assets": "[]", "body": "- First release, supporting only the `parsedatetime` command.", "repo": {"value": 219372133, "label": "sqlite-transform"}} {"html_url": "https://github.com/simonw/datasette-leaflet-geojson/releases/tag/0.4", "id": 21162720, "node_id": "MDc6UmVsZWFzZTIxMTYyNzIw", "tag_name": "0.4", "target_commitish": "master", "name": "0.4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-02T01:45:52Z", "published_at": "2019-11-02T01:48:09Z", "assets": "[]", "body": "- Fixed bug where plugin fails to render a map if the cell value was truncated (#3)\r\n- Fixed incompatibility when loaded in the same environment as `datasette-pretty-json` (#6)", "repo": {"value": 135007287, "label": "datasette-leaflet-geojson"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29.1", "id": 18598489, "node_id": "MDc6UmVsZWFzZTE4NTk4NDg5", "tag_name": "0.29.1", "target_commitish": "master", "name": "0.29.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-11T16:17:55Z", "published_at": "2019-07-14T01:43:44Z", "assets": "[]", "body": "- Fixed bug with static mounts using relative paths which could lead to traversal exploits (#555) - thanks Abdussamet Kocak!\r\n\r\nhttps://datasette.readthedocs.io/en/stable/changelog.html#v0-29-1", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.15", "id": 21342008, "node_id": "MDc6UmVsZWFzZTIxMzQyMDA4", "tag_name": "0.15", "target_commitish": "master", "name": "0.15", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-09T20:12:32Z", "published_at": "2019-11-09T20:13:07Z", "assets": "[]", "body": "- Import command no longer fails on empty files - #29\r\n- Fixed bug in `followers` command - #30\r\n- `following` table now has indexes - #28", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/github-to-sqlite/releases/tag/0.6", "id": 21354706, "node_id": "MDc6UmVsZWFzZTIxMzU0NzA2", "tag_name": "0.6", "target_commitish": "master", "name": "0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-11T05:31:46Z", "published_at": "2019-11-11T05:34:06Z", "assets": "[]", "body": "- New `releases` command for fetching releases for a repo, #11\r\n- Repository topics are now fetched by the `repos` command\r\n- `github-to-sqlite repos` now accepts multiple usernames\r\n- Command now works without `--auth` file (using anonymous API calls), #9", "repo": {"value": 207052882, "label": "github-to-sqlite"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/0.7", "id": 18312451, "node_id": "MDc6UmVsZWFzZTE4MzEyNDUx", "tag_name": "0.7", "target_commitish": "master", "name": "0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-29T21:27:30Z", "published_at": "2019-06-29T21:31:00Z", "assets": "[]", "body": "- Support `pip install db-to-sqlite[postgresql]` #4 \r\n- Documentation for both that and `pip install db-to-sqlite[mysql]`", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.9", "id": 15022807, "node_id": "MDc6UmVsZWFzZTE1MDIyODA3", "tag_name": "0.9", "target_commitish": "master", "name": "csvs-to-sqlite 0.9", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-01-17T05:17:02Z", "published_at": "2019-01-17T05:20:23Z", "assets": "[]", "body": "- Support for loading CSVs directly from URLs, thanks @betatim - #38\r\n- New -pk/--primary-key options, closes #22\r\n- Create FTS index for extracted column values\r\n- Added --no-fulltext-fks option, closes #32\r\n- Now using black for code formatting\r\n- Bumped versions of dependencies", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3", "id": 18762495, "node_id": "MDc6UmVsZWFzZTE4NzYyNDk1", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-22T03:31:54Z", "published_at": "2019-07-22T03:33:32Z", "assets": "[]", "body": "- Tool now displays a progress bar during import - you can disable it with `--silent` #5\r\n- You can pass a path to a decompressed XML file instead of a zip file, using `--xml`\r\n- Records table is now broken up into different tables for each type of recorded data #6", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.9.1", "id": 18598348, "node_id": "MDc6UmVsZWFzZTE4NTk4MzQ4", "tag_name": "0.9.1", "target_commitish": "master", "name": "0.9.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-14T00:58:35Z", "published_at": "2019-07-14T00:59:24Z", "assets": "[]", "body": "- Updated documentation to reflect new one hour `cookie_ttl` default - #43", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-cluster-map/releases/tag/0.7", "id": 21163426, "node_id": "MDc6UmVsZWFzZTIxMTYzNDI2", "tag_name": "0.7", "target_commitish": "master", "name": "0.7", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-02T03:35:00Z", "published_at": "2019-11-02T03:54:36Z", "assets": "[]", "body": "- Upgraded Leaflet to 1.5.1\r\n- Upgraded leaflet.markercluster to 1.4.1\r\n\r\nThis fixes a bug where `datasette-cluster-map` and [datasette-leaflet-geojson](https://github.com/simonw/datasette-leaflet-geojson) could not run within the same Datasette instance.", "repo": {"value": 130236762, "label": "datasette-cluster-map"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/0.6", "id": 18310609, "node_id": "MDc6UmVsZWFzZTE4MzEwNjA5", "tag_name": "0.6", "target_commitish": "master", "name": "0.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-29T15:18:30Z", "published_at": "2019-06-29T15:27:18Z", "assets": "[]", "body": "- `--all` can now add many foreign key relationships without a `VACUUM` between each one, #8\r\n- Added unit tests against MySQL, refs #5", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.8", "id": 10696701, "node_id": "MDc6UmVsZWFzZTEwNjk2NzAx", "tag_name": "0.8", "target_commitish": "master", "name": "csvs-to-sqlite 0.8", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-04-24T15:08:37Z", "published_at": "2018-04-24T15:35:30Z", "assets": "[]", "body": "- `-d` and `-df` options for specifying date/datetime columns, closes #33\r\n- Maintain lookup tables in SQLite, refs #17\r\n- `--index` option to specify which columns to index, closes #24\r\n- Test confirming `--shape` and `--filename-column` and `-c` work together #25\r\n- Use usecols when loading CSV if shape specified\r\n- `--filename-column` is now compatible with `--shape`, closes #10\r\n- `--no-index-fks` option\r\n\r\n By default, csvs-to-sqlite creates an index for every foreign key column that is\r\n added using the `--extract-column` option.\r\n\r\n For large tables, this can dramatically increase the size of the resulting\r\n database file on disk. The new `--no-index-fks` option allows you to disable\r\n this feature to save on file size.\r\n\r\n Refs #24 which will allow you to explicitly list which columns SHOULD have\r\n an index created.\r\n- Added `--filename-column` option, refs #10\r\n- Fixes for Python 2, refs #25\r\n- Implemented new `--shape` option - refs #25\r\n- `--table` option for specifying table to write to, refs #10\r\n- Updated README to cover `--skip-errors`, refs #20\r\n- Add `--skip-errors` option (#20) [Jani Monoses]\r\n- Less verbosity (#19) [Jani Monoses]\r\n\r\n Only log `extract_columns` info when that option is passed.\r\n- Add option for field quoting behaviour (#15) [Jani Monoses]", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.6.1", "id": 8652417, "node_id": "MDc6UmVsZWFzZTg2NTI0MTc=", "tag_name": "0.6.1", "target_commitish": "master", "name": "csvs-to-sqlite 0.6.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2017-11-25T02:57:01Z", "published_at": "2017-11-25T02:58:25Z", "assets": "[]", "body": "- `-f and -c` now work for single table multiple columns.\r\n\r\n Fixes #12\r\n", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/sqlite-transform/releases/tag/0.3", "id": 21180593, "node_id": "MDc6UmVsZWFzZTIxMTgwNTkz", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-11-04T04:37:39Z", "published_at": "2019-11-04T04:39:06Z", "assets": "[]", "body": "- `return` is now optional for one-line lambdas, e.g.\r\n ```\r\n sqlite-transform lambda my.db mytable mycolumn --code='str(value).upper()'\r\n ```", "repo": {"value": 219372133, "label": "sqlite-transform"}} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/1.6", "id": 18723202, "node_id": "MDc6UmVsZWFzZTE4NzIzMjAy", "tag_name": "1.6", "target_commitish": "master", "name": "1.6", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-19T04:51:21Z", "published_at": "2019-07-19T05:36:48Z", "assets": "[]", "body": "- `sqlite-utils insert` can now accept TSV data via the new `--tsv` option (#41)\r\n", "repo": {"value": 140912432, "label": "sqlite-utils"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.29", "id": 18461320, "node_id": "MDc6UmVsZWFzZTE4NDYxMzIw", "tag_name": "0.29", "target_commitish": "master", "name": "Datasette 0.29", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-08T03:14:27Z", "published_at": "2019-07-08T03:43:13Z", "assets": "[]", "body": "ASGI, new plugin hooks, facet by date and much, much more\u2026 See [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-29) for full details.", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/datasette-render-binary/releases/tag/0.2", "id": 17976835, "node_id": "MDc6UmVsZWFzZTE3OTc2ODM1", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-09T16:20:28Z", "published_at": "2019-06-13T16:14:52Z", "assets": "[]", "body": "Added screenshot.", "repo": {"value": 191022928, "label": "datasette-render-binary"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.6.3", "id": 18476766, "node_id": "MDc6UmVsZWFzZTE4NDc2NzY2", "tag_name": "0.6.3", "target_commitish": "master", "name": "0.6.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-08T16:51:01Z", "published_at": "2019-07-08T16:51:39Z", "assets": "[]", "body": "Additional documentation on `scope[\"auth\"]` when using as ASGI middleware.", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/0.3", "id": 18242211, "node_id": "MDc6UmVsZWFzZTE4MjQyMjEx", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-02-24T21:59:42Z", "published_at": "2019-06-26T15:54:56Z", "assets": "[]", "body": "Anchor to sqlite-utils==0.13 to pick up a breaking change.", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/simonw/yaml-to-sqlite/releases/tag/0.2", "id": 18169270, "node_id": "MDc6UmVsZWFzZTE4MTY5Mjcw", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-23T22:55:32Z", "published_at": "2019-06-23T22:55:50Z", "assets": "[]", "body": "Better README", "repo": {"value": 175550127, "label": "yaml-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.22.1", "id": 11136605, "node_id": "MDc6UmVsZWFzZTExMTM2NjA1", "tag_name": "0.22.1", "target_commitish": "master", "name": "Datasette 0.22.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-05-23T14:00:01Z", "published_at": "2018-05-23T14:04:17Z", "assets": "[]", "body": "Bugfix release, plus we now use [versioneer](https://github.com/warner/python-versioneer) for our version numbers.\r\n\r\n- Faceting no longer breaks pagination, fixes #282\r\n- Add ``__version_info__`` derived from `__version__` [Robert Gieseke]\r\n\r\n This might be tuple of more than two values (major and minor\r\n version) if commits have been made after a release.\r\n- Add version number support with Versioneer. [Robert Gieseke]\r\n\r\n Versioneer Licence:\r\n Public Domain (CC0-1.0)\r\n\r\n Closes #273\r\n- Refactor inspect logic [Russ Garrett]", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/csvs-to-sqlite/releases/tag/0.9.2", "id": 18377238, "node_id": "MDc6UmVsZWFzZTE4Mzc3MjM4", "tag_name": "0.9.2", "target_commitish": "master", "name": "csvs-to-sqlite 0.9.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-03T04:36:26Z", "published_at": "2019-07-03T04:37:15Z", "assets": "[]", "body": "Bumped dependencies and pinned pytest to version 4 (5 is incompatible with Python 2.7).", "repo": {"value": 110509816, "label": "csvs-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-vega/releases/tag/0.5", "id": 11804596, "node_id": "MDc6UmVsZWFzZTExODA0NTk2", "tag_name": "0.5", "target_commitish": "master", "name": "datasette-vega 0.5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-07-06T03:18:37Z", "published_at": "2018-07-06T03:34:28Z", "assets": "[]", "body": "Datasette Vega now preserves graph settings across multiple loads of variants of the same page - for example, clicking column headers to re-order the data or applying suggested facets.\r\n\r\nOn the SQL page it will also persist graph settings across edits to the SQL query. #12\r\n", "repo": {"value": 138669673, "label": "datasette-vega"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.25.1", "id": 14560294, "node_id": "MDc6UmVsZWFzZTE0NTYwMjk0", "tag_name": "0.25.1", "target_commitish": "master", "name": "Datasette 0.25.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-11-05T06:31:41Z", "published_at": "2018-12-16T21:44:27Z", "assets": "[]", "body": "Documentation improvements plus a fix for publishing to Zeit Now.\r\n\r\n* `datasette publish now` now uses Zeit\u2019s v1 platform, to work around the new 100MB image limit. Thanks, @slygent - closes #366.\r\n", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.3", "id": 19763200, "node_id": "MDc6UmVsZWFzZTE5NzYzMjAw", "tag_name": "0.3", "target_commitish": "master", "name": "0.3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-04T22:10:07Z", "published_at": "2019-09-04T22:11:01Z", "assets": "[]", "body": "Extract places and media into separate tables\r\n\r\nDemo: https://twitter-to-sqlite-demo.now.sh/", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/genome-to-sqlite/releases/tag/0.1", "id": 20114205, "node_id": "MDc6UmVsZWFzZTIwMTE0MjA1", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-19T15:38:10Z", "published_at": "2019-09-19T15:41:17Z", "assets": "[]", "body": "First release", "repo": {"value": 209590345, "label": "genome-to-sqlite"}} {"html_url": "https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.1", "id": 19669553, "node_id": "MDc6UmVsZWFzZTE5NjY5NTUz", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-08-31T02:46:58Z", "published_at": "2019-08-31T02:58:32Z", "assets": "[]", "body": "First usable release.", "repo": {"value": 205429375, "label": "swarm-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-render-markdown/releases/tag/0.1a", "id": 21343109, "node_id": "MDc6UmVsZWFzZTIxMzQzMTA5", "tag_name": "0.1a", "target_commitish": "master", "name": "0.1a", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2019-11-09T23:42:31Z", "published_at": "2019-11-09T23:49:58Z", "assets": "[]", "body": "First working release", "repo": {"value": 220716822, "label": "datasette-render-markdown"}} {"html_url": "https://github.com/simonw/datasette-rure/releases/tag/0.1", "id": 19890182, "node_id": "MDc6UmVsZWFzZTE5ODkwMTgy", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-10T18:15:45Z", "published_at": "2019-09-10T18:17:42Z", "assets": "[]", "body": "First working version", "repo": {"value": 207630174, "label": "datasette-rure"}} {"html_url": "https://github.com/simonw/db-to-sqlite/releases/tag/1.0.2", "id": 19054897, "node_id": "MDc6UmVsZWFzZTE5MDU0ODk3", "tag_name": "1.0.2", "target_commitish": "master", "name": "1.0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-08-03T04:01:00Z", "published_at": "2019-08-03T04:09:41Z", "assets": "[]", "body": "Fix for #18 - no longer throws error on empty tables", "repo": {"value": 166159072, "label": "db-to-sqlite"}} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.3.2", "id": 18881253, "node_id": "MDc6UmVsZWFzZTE4ODgxMjUz", "tag_name": "0.3.2", "target_commitish": "master", "name": "0.3.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-26T06:02:30Z", "published_at": "2019-07-26T06:12:12Z", "assets": "[]", "body": "Fix for #9 - Too many SQL variables bug", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}} {"html_url": "https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.2", "id": 18750559, "node_id": "MDc6UmVsZWFzZTE4NzUwNTU5", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-20T16:44:05Z", "published_at": "2019-07-20T16:44:41Z", "assets": "[]", "body": "Fixed a bug where duplicate records could crash the import.", "repo": {"value": 197882382, "label": "healthkit-to-sqlite"}} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.2", "id": 19763185, "node_id": "MDc6UmVsZWFzZTE5NzYzMTg1", "tag_name": "0.2", "target_commitish": "master", "name": "0.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-09-04T21:17:34Z", "published_at": "2019-09-04T22:09:46Z", "assets": "[]", "body": "Full text search for tweets table", "repo": {"value": 206156866, "label": "twitter-to-sqlite"}} {"html_url": "https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.1", "id": 20506896, "node_id": "MDc6UmVsZWFzZTIwNTA2ODk2", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-07T05:07:37Z", "published_at": "2019-10-07T05:18:20Z", "assets": "[]", "body": "Initial release", "repo": {"value": 213286752, "label": "pocket-to-sqlite"}} {"html_url": "https://github.com/simonw/datasette-render-timestamps/releases/tag/0.1", "id": 20685181, "node_id": "MDc6UmVsZWFzZTIwNjg1MTgx", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-10-10T22:53:49Z", "published_at": "2019-10-14T14:51:38Z", "assets": "[]", "body": "Initial release", "repo": {"value": 214299267, "label": "datasette-render-timestamps"}} {"html_url": "https://github.com/simonw/datasette-bplist/releases/tag/0.1", "id": 17870990, "node_id": "MDc6UmVsZWFzZTE3ODcwOTkw", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-09T01:14:22Z", "published_at": "2019-06-09T01:19:55Z", "assets": "[]", "body": "Initial release.", "repo": {"value": 190950781, "label": "datasette-bplist"}} {"html_url": "https://github.com/simonw/datasette-atom/releases/tag/0.1a", "id": 20051401, "node_id": "MDc6UmVsZWFzZTIwMDUxNDAx", "tag_name": "0.1a", "target_commitish": "master", "name": "0.1a", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2019-09-17T15:34:27Z", "published_at": "2019-09-17T15:40:22Z", "assets": "[]", "body": "Initial work in progress", "repo": {"value": 209091256, "label": "datasette-atom"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.1", "id": 18441103, "node_id": "MDc6UmVsZWFzZTE4NDQxMTAz", "tag_name": "0.1", "target_commitish": "master", "name": "0.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-04T15:05:34Z", "published_at": "2019-07-05T15:58:24Z", "assets": "[]", "body": "Initial working release.", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette-json-html/releases/tag/0.5", "id": 17987324, "node_id": "MDc6UmVsZWFzZTE3OTg3MzI0", "tag_name": "0.5", "target_commitish": "master", "name": "0.5 - tooltips and demos", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-06-14T01:29:34Z", "published_at": "2019-06-14T01:33:44Z", "assets": "[]", "body": "Links can now have tooltips (#2):\r\n```\r\n{\r\n \"href\": \"https://simonwillison.net/\",\r\n \"label\": \"Simon Willison\",\r\n \"title\": \"My blog\"\r\n}\r\n```\r\nAlso added [a live demo](https://datasette-json-html.datasette.io/demo?sql=select+%27%7B%0D%0A++++%22href%22%3A+%22https%3A%2F%2Fsimonwillison.net%2F%22%2C%0D%0A++++%22label%22%3A+%22Simon+Willison%22%2C%0D%0A++++%22title%22%3A+%22My+blog%22%0D%0A%7D%27) and linked to it throughout the README (#3, #1)", "repo": {"value": 142967347, "label": "datasette-json-html"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.23.2", "id": 11825600, "node_id": "MDc6UmVsZWFzZTExODI1NjAw", "tag_name": "0.23.2", "target_commitish": "master", "name": "Datasette 0.23.2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-07-08T05:28:45Z", "published_at": "2018-07-08T05:41:38Z", "assets": "[]", "body": "Minor bugfix and documentation release.\r\n\r\n* CSV export now respects `--cors`, fixes #326\r\n* [Installation instructions](https://datasette.readthedocs.io/en/latest/installation.html) including docker image - closes #328\r\n* Fix for row pages for tables with / in, closes #325", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.23.1", "id": 11591352, "node_id": "MDc6UmVsZWFzZTExNTkxMzUy", "tag_name": "0.23.1", "target_commitish": "master", "name": "Datasette 0.23.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-06-21T15:37:13Z", "published_at": "2018-06-21T16:02:44Z", "assets": "[]", "body": "Minor bugfix release.\r\n\r\n* Correctly display empty strings in HTML table, closes #314\r\n* Allow \u201c.\u201d in database filenames, closes #302\r\n* 404s ending in slash redirect to remove that slash, closes #309\r\n* Fixed incorrect display of compound primary keys with foreign key references. Closes #319\r\n* Docs + example of canned SQL query using || concatenation. Closes #321\r\n* Correctly display facets with value of 0 - closes #318\r\n* Default \u2018expand labels\u2019 to checked in CSV advanced export\r\n", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/datasette-auth-github/releases/tag/0.6.1", "id": 18458837, "node_id": "MDc6UmVsZWFzZTE4NDU4ODM3", "tag_name": "0.6.1", "target_commitish": "master", "name": "0.6.1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2019-07-07T20:38:42Z", "published_at": "2019-07-07T20:39:19Z", "assets": "[]", "body": "Minor code clean-up and updated one-line description for PyPI / README.", "repo": {"value": 195087137, "label": "datasette-auth-github"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.20", "id": 10645022, "node_id": "MDc6UmVsZWFzZTEwNjQ1MDIy", "tag_name": "0.20", "target_commitish": "master", "name": "Datasette 0.20: static assets and templates for plugins", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-04-20T14:36:29Z", "published_at": "2018-04-20T14:41:14Z", "assets": "[]", "body": "Mostly new work on the [Plugins](http://datasette.readthedocs.io/en/latest/plugins.html) mechanism: plugins can now bundle static assets and custom templates, and ``datasette publish`` has a new ``--install=name-of-plugin`` option.\r\n\r\n- Add col-X classes to HTML table on custom query page\r\n- Fixed out-dated template in documentation\r\n- Plugins can now bundle custom templates, #224\r\n- Added /-/metadata /-/plugins /-/inspect, #225\r\n- Documentation for --install option, refs #223\r\n- Datasette publish/package --install option, #223\r\n- Fix for plugins in Python 3.5, #222\r\n- New plugin hooks: extra_css_urls() and extra_js_urls(), #214\r\n- /-/static-plugins/PLUGIN_NAME/ now serves static/ from plugins\r\n- now gets class=\"col-X\" - plus added col-X documentation\r\n- Use to_css_class for table cell column classes\r\n\r\n This ensures that columns with spaces in the name will still\r\n generate usable CSS class names. Refs #209\r\n- Add column name classes to s, make PK bold [Russ Garrett]\r\n- Don't duplicate simple primary keys in the link column [Russ Garrett]\r\n\r\n When there's a simple (single-column) primary key, it looks weird to\r\n duplicate it in the link column.\r\n\r\n This change removes the second PK column and treats the link column as\r\n if it were the PK column from a header/sorting perspective.\r\n- Correct escaping for HTML display of row links [Russ Garrett]\r\n- Longer time limit for test_paginate_compound_keys\r\n\r\n It was failing intermittently in Travis - see #209\r\n- Use application/octet-stream for downloadable databses\r\n- Updated PyPI classifiers\r\n- Updated PyPI link to pypi.org", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.21", "id": 10868113, "node_id": "MDc6UmVsZWFzZTEwODY4MTEz", "tag_name": "0.21", "target_commitish": "master", "name": "Datasette 0.21: New _shape=, new _size=, search within columns", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-05-05T23:15:38Z", "published_at": "2018-05-05T23:21:33Z", "assets": "[]", "body": "New JSON `_shape=` options, the ability to set table `_size=` and a mechanism for searching within specific columns.\r\n\r\n - Default tests to using a longer timelimit\r\n \r\n Every now and then a test will fail in Travis CI on Python 3.5 because it hit the default 20ms SQL time limit.\r\n \r\n Test fixtures now default to a 200ms time limit, and we only use the 20ms time limit for the specific test that tests query interruption.\r\n\r\n This should make our tests on Python 3.5 in Travis much more stable.\r\n\r\n - Support `_search_COLUMN=text` searches, closes [\\#237](https://github.com/simonw/datasette/issues/237)\r\n\r\n - Show version on `/-/plugins` page, closes [\\#248](https://github.com/simonw/datasette/issues/248)\r\n\r\n - `?_size=max` option, closes [\\#249](https://github.com/simonw/datasette/issues/249)\r\n\r\n - Added `/-/versions` and `/-/versions.json`, closes [\\#244](https://github.com/simonw/datasette/issues/244)\r\n \r\n Sample output:\r\n \r\n {\r\n \"python\": {\r\n \"version\": \"3.6.3\",\r\n \"full\": \"3.6.3 (default, Oct 4 2017, 06:09:38) \\n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)]\"\r\n },\r\n \"datasette\": {\r\n \"version\": \"0.20\"\r\n },\r\n \"sqlite\": {\r\n \"version\": \"3.23.1\",\r\n \"extensions\": {\r\n \"json1\": null,\r\n \"spatialite\": \"4.3.0a\"\r\n }\r\n }\r\n }\r\n\r\n - Renamed `?_sql_time_limit_ms=` to `?_timelimit`, closes [\\#242](https://github.com/simonw/datasette/issues/242)\r\n\r\n - New `?_shape=array` option + tweaks to `_shape`, closes [\\#245](https://github.com/simonw/datasette/issues/245)\r\n \r\n - Default is now `?_shape=arrays` (renamed from `lists`)\r\n - New `?_shape=array` returns an array of objects as the root object\r\n - Changed `?_shape=object` to return the object as the root\r\n - Updated docs\r\n\r\n - FTS tables now detected by `inspect()`, closes [\\#240](https://github.com/simonw/datasette/issues/240)\r\n\r\n - New `?_size=XXX` querystring parameter for table view, closes [\\#229](https://github.com/simonw/datasette/issues/229)\r\n \r\n Also added documentation for all of the `_special` arguments.\r\n \r\n Plus deleted some duplicate logic implementing `_group_count`.\r\n\r\n - If `max_returned_rows==page_size`, increment `max_returned_rows` - fixes [\\#230](https://github.com/simonw/datasette/issues/230)\r\n\r\n - New `hidden: True` option for table metadata, closes [\\#239](https://github.com/simonw/datasette/issues/239)\r\n\r\n - Hide `idx_*` tables if spatialite detected, closes [\\#228](https://github.com/simonw/datasette/issues/228)\r\n\r\n - Added `class=rows-and-columns` to custom query results table\r\n\r\n - Added CSS class `rows-and-columns` to main table\r\n\r\n - `label_column` option in `metadata.json` - closes [\\#234](https://github.com/simonw/datasette/issues/234)", "repo": {"value": 107914493, "label": "datasette"}} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.25", "id": 12986637, "node_id": "MDc6UmVsZWFzZTEyOTg2NjM3", "tag_name": "0.25", "target_commitish": "master", "name": "Datasette 0.25", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 0, "created_at": "2018-09-19T17:48:12Z", "published_at": "2018-09-19T18:27:21Z", "assets": "[]", "body": "New plugin hooks, improved database view support and an easier way to use more recent versions of SQLite.\r\n\r\nSee full release notes here: https://datasette.readthedocs.io/en/latest/changelog.html#v0-25", "repo": {"value": 107914493, "label": "datasette"}}