rowid,repo,release,date,body_markdown,published_at,topics 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.45a1,2020-06-19,,2020-06-19T00:02:29Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.45a0,2020-06-18,,2020-06-18T21:14:00Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.10,2020-06-12,- The `sqlite-utils` command now supports UPDATE/INSERT/DELETE in addition to SELECT. #115,2020-06-12T17:44:32Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.44,2020-06-12,"Authentication and permissions, writable canned queries, flash messages, new plugin hooks and more. [Full release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-44). See also [Datasette 0.44: the annotated release notes](https://simonwillison.net/2020/Jun/12/annotated-release-notes/).",2020-06-12T07:10:38Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.43,2020-05-28,"The main focus of this release is a major upgrade to the [register_output_renderer(datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-register-output-renderer) plugin hook, which allows plugins to provide new output formats for Datasette such as [datasette-atom](https://github.com/simonw/datasette-atom) and [datasette-ics](https://github.com/simonw/datasette-ics). - Redesign of [register_output_renderer(datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-register-output-renderer) to provide more context to the render callback and support an optional `""can_render""` callback that controls if a suggested link to the output format is provided. ([#581](https://github.com/simonw/datasette/issues/581), [#770](https://github.com/simonw/datasette/issues/770)) - Visually distinguish float and integer columns - useful for figuring out why order-by-column might be returning unexpected results. ([#729](https://github.com/simonw/datasette/issues/729)) - The [Request object](https://datasette.readthedocs.io/en/stable/internals.html#internals-request), which is passed to several plugin hooks, is now documented. ([#706](https://github.com/simonw/datasette/issues/706)) - New `metadata.json` option for setting a custom default page size for specific tables and views, see [Setting a custom page size](https://datasette.readthedocs.io/en/stable/metadata.html#metadata-page-size). ([#751](https://github.com/simonw/datasette/issues/751)) - Canned queries can now be configured with a default URL fragment hash, useful when working with plugins such as [datasette-vega](https://github.com/simonw/datasette-vega), see [Setting a default fragment](https://datasette.readthedocs.io/en/stable/sql_queries.html#canned-queries-default-fragment). ([#706](https://github.com/simonw/datasette/issues/706)) - Fixed a bug in `datasette publish` when running on operating systems where the `/tmp` directory lives in a different volume, using a backport of the Python 3.8 `shutil.copytree()` function. ([#744](https://github.com/simonw/datasette/issues/744)) - Every plugin hook is now covered by the unit tests, and a new unit test checks that each plugin hook has at least one corresponding test. ([#771](https://github.com/simonw/datasette/issues/771), [#773](https://github.com/simonw/datasette/issues/773))",2020-05-28T14:39:18Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 256834907,https://github.com/dogsheep/dogsheep-photos,https://github.com/dogsheep/dogsheep-photos/releases/tag/0.4.1,2020-05-25,"- Documentation now explains how to use this with the [datasette-media](https://github.com/simonw/datasette-media), [datasette-json-html](https://github.com/simonw/datasette-json-html) and [datasette-template-sql](https://github.com/simonw/datasette-template-sql) plugins. #20",2020-05-25T20:13:23Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite""]" 256834907,https://github.com/dogsheep/dogsheep-photos,https://github.com/dogsheep/dogsheep-photos/releases/tag/0.4,2020-05-20,"- Renamed this project to `dogsheep-photos`. #26 - `apple-photos` command now works even if you haven't yet run `upload`. #19 - `--image-url-prefix` and `--image-url-suffix` options to `apple-photos`. #24 - New `create-subset` command. #23 ",2020-05-20T04:24:28Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.9.1,2020-05-11,"* Added custom project links to the [PyPI listing](https://pypi.org/project/sqlite-utils/). ",2020-05-11T19:21:24Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.9,2020-05-11,"- New `sqlite-utils drop-table` command, see [Dropping tables](https://sqlite-utils.readthedocs.io/en/2.9/cli.html#cli-drop-table). ([#111](https://github.com/simonw/sqlite-utils/issues/111)) - New `sqlite-utils drop-view` command, see [Dropping views](https://sqlite-utils.readthedocs.io/en/2.9/cli.html#cli-drop-view). - Python `decimal.Decimal` objects are now stored as `FLOAT`. ([#110](https://github.com/simonw/sqlite-utils/issues/110))",2020-05-11T01:57:11Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.42,2020-05-08,"A small release which provides improved internal methods for use in plugins, along with documentation. See #685. * Added documentation for `db.execute()`, see [await db.execute(sql, ...)](https://datasette.readthedocs.io/en/stable/internals.html#database-execute). * Renamed `db.execute_against_connection_in_thread()` to `db.execute_fn()` and made it a documented method, see [await db.execute_fn(fn)](https://datasette.readthedocs.io/en/stable/internals.html#database-execute-fn). * New `results.first()` and `results.single_value()` methods, plus documentation for the `Results` class - see [Results](https://datasette.readthedocs.io/en/stable/internals.html#database-results). ",2020-05-08T17:56:36Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.41,2020-05-06,"You can now create [custom pages](https://datasette.readthedocs.io/en/0.41/custom_templates.html#custom-pages) within your Datasette instance using a custom template file. For example, adding a template file called `templates/pages/about.html` will result in a new page being served at `/about` on your instance. See the [custom pages documentation](https://datasette.readthedocs.io/en/0.41/custom_templates.html#custom-pages) for full details, including how to return custom HTTP headers, redirects and status codes. (#648) [Configuration directory mode](https://datasette.readthedocs.io/en/0.41/config.html#config-dir) (#731) allows you to define a custom Datasette instance as a directory. So instead of running the following: $ datasette one.db two.db \ --metadata.json \ --template-dir=templates/ \ --plugins-dir=plugins \ --static css:css You can instead arrange your files in a single directory called `my-project` and run this: $ datasette my-project/ Also in this release: - New `NOT LIKE` table filter: `?colname__notlike=expression`. (#750) - Datasette now has a *pattern portfolio* at `/-/patterns` - e.g. . This is a page that shows every Datasette user interface component in one place, to aid core development and people building custom CSS themes. (#151) - SQLite [PRAGMA functions](https://www.sqlite.org/pragma.html#pragfunc) such as `pragma_table_info(tablename)` are now allowed in Datasette SQL queries. (#761) - Datasette pages now consistently return a `content-type` of `text/html; charset=utf-8""`. (#752) - Datasette now handles an ASGI `raw_path` value of `None`, which should allow compatibilty with the [Mangum](https://github.com/erm/mangum) adapter for running ASGI apps on AWS Lambda. Thanks, Colin Dellow. (#719) - Installation documentation now covers how to [Install using pipx](https://datasette.readthedocs.io/en/0.41/installation.html#installation-pipx). (#756) - Improved the documentation for [Full-text search](https://datasette.readthedocs.io/en/0.41/full_text_search.html#full-text-search).",2020-05-06T18:30:03Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 256834907,https://github.com/dogsheep/dogsheep-photos,https://github.com/dogsheep/dogsheep-photos/releases/tag/0.3a,2020-05-05,"* Upload photos to S3 in a thread pool #11 * New `--dry-run` option to `upload` command * New `photos-to-sqlite apple-photos` command for importing Apple Photos metadata #1 * Apple Photos quality scores are imported into `apple_photos_scores` table #15 * Machine learning labels imported from Apple Photos into `labels` table #16",2020-05-05T20:17:00Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.8,2020-05-03,"* New `sqlite-utils create-table` command, see [Creating tables](https://sqlite-utils.readthedocs.io/en/latest/cli.html#creating-tables). (#27) * New `sqlite-utils create-view` command, see [Creating views](https://sqlite-utils.readthedocs.io/en/latest/cli.html#creating-views). (#107) ",2020-05-03T15:41:31Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/2.2,2020-05-02,"* New command: `github-to-sqlite stargazers` ([docs](https://github.com/dogsheep/github-to-sqlite/blob/2.2/README.md#fetching-users-that-have-starred-specific-repos)) for fetching all users who have starred the specified repositories. #4 * Added several views: [dependent_repos](https://github-to-sqlite.dogsheep.net/github/dependent_repos), [repos_starred](https://github-to-sqlite.dogsheep.net/github/repos_starred), [recent_releases](https://github-to-sqlite.dogsheep.net/github/recent_releases). #10 #12 #36 * Added indexes on all foreign key relationships. #35 * GitHub API token can now be read from `GITHUB_TOKEN` environment variable. #33",2020-05-02T21:28:00Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.7.2,2020-05-02,"* `db.create_view(...)` now has additional parameters `ignore=True` or `replace=True`, see [Creating views](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#creating-views). (#106) ",2020-05-02T16:10:11Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.7.1,2020-05-01,"* New `sqlite-utils views my.db` command for listing views in a database, see [Listing views](https://sqlite-utils.readthedocs.io/en/latest/cli.html#cli-views). (#105) * `sqlite-utils tables` (and `views`) has a new `--schema` option which outputs the table/view schema, see [Listing tables](https://sqlite-utils.readthedocs.io/en/latest/cli.html#cli-tables). (#104) * Nested structures containing invalid JSON values (e.g. Python bytestrings) are now serialized using `repr()` instead of throwing an error. (#102)",2020-05-01T22:11:19Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/2.1,2020-04-30,* New `github-to-sqlite scrape-dependents` command for importing the dependent repositories for a repo. #34,2020-04-30T23:03:32Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.7,2020-04-30,"* New `columns=` argument for the `.insert()`, `.insert_all()`, `.upsert()` and `.upsert_all()` methods, for over-riding the auto-detected types for columns and specifying additional columns that should be added when the table is created. See [Custom column order and column types](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-custom-columns). (#100) ",2020-04-30T18:33:20Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.21.1,2020-04-30,* Fixed bug that occurred when the `since_ids` table had not yet been created. #46,2020-04-30T18:21:46Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 256834907,https://github.com/dogsheep/dogsheep-photos,https://github.com/dogsheep/dogsheep-photos/releases/tag/0.2a,2020-04-24,* Only upload photos not already in S3. #9 ,2020-04-24T00:44:21Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite""]" 256834907,https://github.com/dogsheep/dogsheep-photos,https://github.com/dogsheep/dogsheep-photos/releases/tag/0.1a,2020-04-24,* First alpha release,2020-04-24T00:40:57Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.40,2020-04-22,"* Datasette [Metadata](https://datasette.readthedocs.io/en/latest/metadata.html) can now be provided as a YAML file as an optional alternative to JSON. See [Using YAML for metadata](https://datasette.readthedocs.io/en/latest/metadata.html#metadata-yaml). (#713) * Removed support for `datasette publish now`, which used the the now-retired Zeit Now v1 hosting platform. A new plugin, [datasette-publish-now](https://github.com/simonw/datasette-publish-now), can be installed to publish data to Zeit ([now Vercel](https://vercel.com/blog/zeit-is-now-vercel)) Now v2. (#710) * Fixed a bug where the `extra_template_vars(request, view_name)` plugin hook was not receiving the correct `view_name`. (#716) * Variables added to the template context by the `extra_template_vars()` plugin hook are now shown in the `?_context=1` debugging mode (see [template_debug](https://datasette.readthedocs.io/en/latest/config.html#config-template-debug)). (#693) * Fixed a bug where the “templates considered” HTML comment was no longer being displayed. (#689) * Fixed a `datasette publish` bug where `--plugin-secret` would over-ride plugin configuration in the provided `metadata.json` file. (#724) * Added a new CSS class for customizing the canned query page. (#727)",2020-04-22T04:06:51Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/2.0,2020-04-22,"This release includes some backwards-incompatible schema changes: * The `milestone` and `assignee` columns on the `issues` table are now integers that are foreign keys to the `milestones` and `users` tables - previously they could be `text` columns instead. #30 * `milestones` now has an integer foreign key in the `creator` column, and a new `repo` column that is an integer foreign key to the `repos` table. #29 * The `repo` column in the `issues` table is now an integer foreign key to `repos`. Previously it was a string of the format `dogsheep/github-to-sqlite`. #31",2020-04-22T01:24:37Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/1.1,2020-04-18,"* New `github-to-sqlite contributors` command for fetching contributors to one or more repositories. #28 * The [live demo](https://github-to-sqlite.dogsheep.net/) now includes contributors, and pulls data from `simonw/datasette` and `simonw/sqlite-utils` in addition to the Dogsheep repositories. * The `organization` column in the `repos` table is now a foreign key to `users` as opposed to a big piece of JSON. #27",2020-04-18T15:09:55Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.21,2020-04-17,"* New command: `twitter-to-sqlite lists username` fetches lists owned by the specified users. #43 * Handle tweets with a blank `source`. #44 * Fixed error with `twitter-to-sqlite user-timeline --sql=... --ids`. #42 * Better error messages for non-existing users. #37 ",2020-04-17T23:46:51Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/1.0.1,2020-04-16,"* Fixed bug where repository topics were not being correctly fetched #26 * Live demo at https://github-to-sqlite.dogsheep.net/ now uses [datasette-render-markdown](https://github.com/simonw/datasette-render-markdown) and pulls in issue comments #25",2020-04-16T18:09:29Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.6,2020-04-16,"* New `table.rows_where(..., order_by=""age desc"")` argument, see [Listing rows](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#listing-rows). (#76) ",2020-04-16T03:14:48Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.5,2020-04-13,"* Panda’s Timestamp is now stored as a SQLite TEXT column. Thanks, b0b5h4rp13! (#96) * `table.last_pk` is now only available for inserts or upserts of a single record. (#98) * New `Database(filepath, recreate=True)` parameter for deleting and recreating the database. (#97) ",2020-04-13T03:54:08Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.20.1,2020-04-01,"* Buf fix: `since_id` table no longer records a record for `None`, `None`. #41",2020-04-01T04:33:35Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.20,2020-04-01,"* Reworked how `--since` works to fix a bug spotted in #39. The most recently seen tweet ID for various commands is now stored in a new `since_ids` table. * New feature: the friends, followers and listed counts for each user are now stored in a `count_history` table and updated any time we spot that the counts in that user's profile have changed. #40",2020-04-01T04:18:53Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 205429375,https://github.com/dogsheep/swarm-to-sqlite,https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.3.1,2020-03-28,"* Fixed bug with very old checkins that were missing their source - thanks, @mfa! #6",2020-03-28T02:30:10Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""foursquare"", ""foursquare-api"", ""sqlite"", ""swarm""]" 205429375,https://github.com/dogsheep/swarm-to-sqlite,https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.3,2020-03-28,* Upgraded to sqlite-utils 2.x,2020-03-28T02:28:35Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""foursquare"", ""foursquare-api"", ""sqlite"", ""swarm""]" 197882382,https://github.com/dogsheep/healthkit-to-sqlite,https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.5,2020-03-28,* Upgraded to latest sqlite-utils,2020-03-28T01:55:19Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""healthkit"", ""sqlite""]" 213286752,https://github.com/dogsheep/pocket-to-sqlite,https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.2,2020-03-27,"* Defaults to only retrieving updated items, unless you use `--all`. #2 * Now displays a progress bar for initial data import and `--all`. * Data is now fetched 500 items at a time using API pagination. #1 * Now depends on `sqlite-utils 2.x`. * `auth.json` now uses `pocket_` prefix on each stored key. #4",2020-03-27T22:26:30Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""pocket"", ""pocket-api"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.39,2020-03-25,"* New [base_url](https://datasette.readthedocs.io/en/latest/config.html#config-base-url) configuration setting for serving up the correct links while running Datasette under a different URL prefix. (#394) * New metadata settings `""sort""` and `""sort_desc""` for setting the default sort order for a table. See [Setting a default sort order](https://datasette.readthedocs.io/en/latest/metadata.html#metadata-default-sort). (#702) * Sort direction arrow now displays by default on the primary key. This means you only have to click once (not twice) to sort in reverse order. (#677) * New `await Request(scope, receive).post_vars()` method for accessing POST form variables. (#700) * Plugin hooks documentation now links to example uses of each plugin. (#709) ",2020-03-25T04:11:35Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 206202864,https://github.com/dogsheep/inaturalist-to-sqlite,https://github.com/dogsheep/inaturalist-to-sqlite/releases/tag/0.2,2020-03-24,"* Upgraded to `sqlite-utils` 2.x * First non-alpha release",2020-03-24T00:36:40Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""inaturalist"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/1.0,2020-03-24,"* Full-text search is configured for more tables. #19 * Release assets are now pulled out into a separate `assets` table. #15 * Now depends on sqlite-utils 2.x. #20 * Commit raw authors are now used to populate a new `raw_authors` able. #18 * New live demo at https://github-to-sqlite.dogsheep.net/ #13 * GitHub API errors are now raised as Pyton exceptions. #21 * Fixed bug running `commits` against repos with no commits. #22",2020-03-24T00:11:51Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.4.4,2020-03-23,* Fixed bug where columns with only null values were not correctly created. (#95),2020-03-23T20:34:18Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.4.3,2020-03-23,* Column type suggestion code is no longer confused by null values. (#94),2020-03-23T20:00:25Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 248903544,https://github.com/dogsheep/hacker-news-to-sqlite,https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.3.1,2020-03-21,Added documentation on [Browsing your data with Datasette](https://github.com/dogsheep/hacker-news-to-sqlite/blob/0.3.1/README.md#browsing-your-data-with-datasette).,2020-03-21T22:41:16Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""hacker-news""]" 248903544,https://github.com/dogsheep/hacker-news-to-sqlite,https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.3,2020-03-21,First non-alpha release. Now configures full-text search for the `users` and `items` tables. #1,2020-03-21T19:47:36Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""hacker-news""]" 248903544,https://github.com/dogsheep/hacker-news-to-sqlite,https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.2a,2020-03-21,Compatibility with sqlite-utils 1.x,2020-03-21T19:46:58Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""hacker-news""]" 248903544,https://github.com/dogsheep/hacker-news-to-sqlite,https://github.com/dogsheep/hacker-news-to-sqlite/releases/tag/0.1a,2020-03-21,* `user` and `trees` commands.,2020-03-21T04:26:28Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""hacker-news""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.19,2020-03-20,"* The `twitter-to-sqlite friends` and `twitter-to-sqlite followers` commands now accept the `--sql` and `--attach` options. #36 * Improved the display of the progress bar for the `user-timeline` command. #38",2020-03-20T23:16:53Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.18,2020-03-20,"* `twitter-to-sqlite user-timeline` command now accepts `--sql` and `--attach` and `--ids` options, and can also accept multiple screen names or user IDs as command arguments. #35",2020-03-20T20:19:42Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.17,2020-03-20,"* Upgraded to latest `sqlite-utils` (currently 2.4.2) * This fixed a bug with `user-timeline` - #34",2020-03-20T19:23:40Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.4.2,2020-03-14,"* `table.column_dicts` now works with all column types - previously it would throw errors on types other than `TEXT`, `BLOB`, `INTEGER` or `FLOAT`. (#92) * Documentation for `NotFoundError` thrown by `table.get(pk)` - see [Retrieving a specific record](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-get). ",2020-03-14T20:13:18Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.4.1,2020-03-14,"* `table.enable_fts()` now works with columns that contain spaces. (#90) ",2020-03-14T20:06:08Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.7,2020-03-11,* New `github-to-sqlite commits my.db dogsheep/github-to-sqlite` command. #17,2020-03-11T02:48:32Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.38,2020-03-08,"* The [Docker build](https://hub.docker.com/r/datasetteproject/datasette) of Datasette now uses SQLite 3.31.1, upgraded from 3.26. (#695) * `datasette publish cloudrun` now accepts an optional `--memory=2Gi` flag for setting the Cloud Run allocated memory to a value other than the default (256Mi). (#694) * Fixed bug where templates that shipped with plugins were sometimes not being correctly loaded. (#697) ",2020-03-08T23:42:36Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.37.1,2020-03-03,"* Don’t attempt to count table rows to display on the index page for databases > 100MB. (#688) * Print exceptions if they occur in the write thread rather than silently swallowing them. * Handle the possibility of `scope[""path""]` being a string rather than bytes * Better documentation for the [extra_template_vars(template, database, table, view_name, request, datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-hook-extra-template-vars) plugin hook. ",2020-03-03T03:46:17Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.4,2020-02-27,"* `table.disable_fts()` can now be used to remove FTS tables and triggers that were created using `table.enable_fts(...)`. (#88) * The `sqlite-utils disable-fts` command can be used to remove FTS tables and triggers from the command-line. (#88) * Trying to create table columns with square braces ([ or ]) in the name now raises an error. (#86) * Subclasses of `dict`, `list` and `tuple` are now detected as needing a JSON column. (#87) ",2020-02-27T04:58:25Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.37,2020-02-26,"* Plugins now have a supported mechanism for writing to a database, using the new `.execute_write()` and `.execute_write_fn()` methods. [Documentation](https://datasette.readthedocs.io/en/stable/internals.html#database-execute-write). (#682) * Immutable databases that have had their rows counted using the `inspect` command now use the calculated count more effectively - thanks, Kevin Keogh. (#666) * `--reload` no longer restarts the server if a database file is modified, unless that database was opened immutable mode with `-i`. (#494) * New `?_searchmode=raw` option turns off escaping for FTS queries in `?_search=` allowing full use of SQLite’s [FTS5 query syntax](https://www.sqlite.org/fts5.html#full_text_query_syntax). (#676) ",2020-02-26T03:44:07Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.36,2020-02-22,"* The `datasette` object passed to plugins now has API documentation: [Datasette class](https://datasette.readthedocs.io/en/latest/datasette.html#datasette). (#576) * New methods on `datasette`: `.add_database()` and `.remove_database()` - [documentation](https://datasette.readthedocs.io/en/latest/datasette.html#datasette-add-database). (#671) * `prepare_connection()` plugin hook now takes optional `datasette` and `database` arguments - [prepare_connection(conn, database, datasette)](https://datasette.readthedocs.io/en/latest/plugins.html#plugin-hook-prepare-connection). (#678) * Added three new plugins and one new conversion tool to the [The Datasette Ecosystem](https://datasette.readthedocs.io/en/latest/ecosystem.html#ecosystem). https://datasette.readthedocs.io/en/latest/changelog.html#v0-36",2020-02-22T03:24:50Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.3.1,2020-02-11,`table.create_index()` now works for columns that contain spaces. (#85),2020-02-11T05:59:43Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.3,2020-02-08,"`table.exists()` is now a method, not a property. This was not a documented part of the API before so I’m considering this a non-breaking change. (#83)",2020-02-08T23:59:20Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.16,2020-02-07,New `friends` command for importing accounts that a specific user follows.,2020-02-07T07:44:53Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.2.1,2020-02-07,"Fixed a bug where `.upsert(..., hash_id=""pk"")` threw an error (#84).",2020-02-07T07:24:54Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.2,2020-02-07,"New feature: `sqlite_utils.suggest_column_types([records])` returns the suggested column types for a list of records. See [Suggesting column types](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-suggest-column-types). (#81). This replaces the undocumented `table.detect_column_types()` method.",2020-02-07T07:18:12Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.35,2020-02-05,"* Added five new plugins and one new conversion tool to the [The Datasette Ecosystem](https://datasette.readthedocs.io/en/latest/ecosystem.html#ecosystem). * The `Datasette` class has a new `render_template()` method which can be used by plugins to render templates using Datasette’s pre-configured [Jinja](https://jinja.palletsprojects.com/) templating library. * You can now execute SQL queries that start with a `-- comment` - thanks, Jay Graves (#653) https://datasette.readthedocs.io/en/latest/changelog.html#v0-35",2020-02-05T02:32:34Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.1,2020-01-31,New feature: `conversions={...}` can be passed to the `.insert()` family of functions to specify SQL conversions that should be applied to values that are being inserted or updated. See [Converting column values using SQL functions](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-conversions). (#77).,2020-01-31T00:30:40Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.34,2020-01-30,"- `_search=` queries are now correctly escaped using a new `escape_fts()` custom SQL function. This means you can now run searches for strings like `park.` without seeing errors. (#651) - Google Cloud Run is no longer in beta, so `datasette publish cloudrun` has been updated to work even if the user has not installed the `gcloud` beta components package. Thanks, Katie McLaughlin (#660) - `datasette package` now accepts a `--port` option for specifying which port the resulting Docker container should listen on. (#661) https://datasette.readthedocs.io/en/stable/changelog.html#v0-34 ",2020-01-30T00:29:21Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.0.1,2020-01-05,The `.upsert()` and `.upsert_all()` methods now raise a `sqlite_utils.db.PrimaryKeyRequired` exception if you call them without specifying the primary key column using `pk=` (#73).,2020-01-05T17:33:15Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/2.0,2019-12-30,"This release changes the behaviour of `upsert`. It’s a breaking change, hence 2.0. The `upsert` command-line utility and the `.upsert()` and `.upsert_all()` Python API methods have had their behaviour altered. They used to completely replace the affected records: now, they update the specified values on existing records but leave other columns unaffected. See [Upserting data using the Python API](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-upsert) and [Upserting data using the CLI](https://sqlite-utils.readthedocs.io/en/stable/cli.html#upserting-data) for full details. If you want the old behaviour - where records were completely replaced - you can use `$ sqlite-utils insert ... --replace` on the command-line and `.insert(..., replace=True)` and `.insert_all(..., replace=True)` in the Python API. See [Insert-replacing data using the Python API](https://sqlite-utils.readthedocs.io/en/stable/python-api.html#python-api-insert-replace) and [Insert-replacing data using the CLI](https://sqlite-utils.readthedocs.io/en/stable/cli.html#cli-insert-replace) for more. For full background on this change, see issue #66.",2019-12-30T06:26:09Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.33,2019-12-22,"* `rowid` is now included in dropdown menus for filtering tables (#636) * Columns are now only suggested for faceting if they have at least one value with more than one record (#638) * Queries with no results now display “0 results” (#637) * Improved documentation for the `--static` option (#641) * asyncio task information is now included on the `/-/threads` debug page * Bumped Uvicorn dependency 0.11 * You can now use `--port 0` to listen on an available port * New `template_debug` setting for debugging templates, e.g. https://latest.datasette.io/fixtures/roadside_attractions?_context=1 (#654) https://datasette.readthedocs.io/en/latest/changelog.html#v0-33",2019-12-22T16:43:31Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.32,2019-11-14,"Datasette now renders templates using [Jinja async mode](https://jinja.palletsprojects.com/en/2.10.x/api/#async-support). This makes it easy for plugins to provide custom template functions that perform asynchronous actions, for example the new [datasette-template-sql](https://github.com/simonw/datasette-template-sql) plugin which allows custom templates to directly execute SQL queries and render their results. (#628) https://datasette.readthedocs.io/en/latest/changelog.html#v0-32",2019-11-14T23:42:14Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.31.2,2019-11-13,"- Fixed a bug where datasette publish heroku applications failed to start (#633) - Fix for datasette publish with just --source_url - thanks, Stanley Zheng (#572) - Deployments to Heroku now use Python 3.8.0 (#632) https://datasette.readthedocs.io/en/latest/changelog.html#v0-31-2",2019-11-13T17:38:59Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.31.1,2019-11-13,"- Deployments created using `datasette publish` now use `python:3.8` base Docker image (#629) https://datasette.readthedocs.io/en/latest/changelog.html#v0-31-1",2019-11-13T02:40:53Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.31,2019-11-13,"This version adds compatibility with Python 3.8 and breaks compatibility with Python 3.5. Full release notes: https://datasette.readthedocs.io/en/stable/changelog.html#v0-31",2019-11-13T02:16:15Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.6,2019-11-11,"- New `releases` command for fetching releases for a repo, #11 - Repository topics are now fetched by the `repos` command - `github-to-sqlite repos` now accepts multiple usernames - Command now works without `--auth` file (using anonymous API calls), #9",2019-11-11T05:34:06Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.15,2019-11-09,"- Import command no longer fails on empty files - #29 - Fixed bug in `followers` command - #30 - `following` table now has indexes - #28",2019-11-09T20:13:07Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 197882382,https://github.com/dogsheep/healthkit-to-sqlite,https://github.com/dogsheep/healthkit-to-sqlite/releases/tag/0.4,2019-11-08,* Fixed workout latitude/longitude points import for iOS 13 - #10,2019-11-08T01:19:51Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""healthkit"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/1.12.1,2019-11-07,https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-12-1,2019-11-07T05:00:55Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/1.12,2019-11-07,https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-12,2019-11-07T05:00:24Z,"[""cli"", ""click"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""python"", ""sqlite"", ""sqlite-database""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.14,2019-11-04,"* `search` command gained `--since_id` and `--since` options, for retrieving tweets since the last time the search was run * `search` command is [now documented](https://github.com/dogsheep/twitter-to-sqlite/blob/0.14/README.md#running-searches). Closes #3.",2019-11-04T05:33:56Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.30.2,2019-11-02,https://datasette.readthedocs.io/en/latest/changelog.html#v0-30-2,2019-11-02T23:33:13Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.30.1,2019-11-02,https://datasette.readthedocs.io/en/stable/changelog.html#v0-30-1,2019-11-02T00:06:02Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.30,2019-10-30,https://datasette.readthedocs.io/en/stable/changelog.html#v0-30,2019-10-30T18:51:30Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.13,2019-10-30,- New `mentions-timeline` command (#26),2019-10-30T02:22:30Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.29.3,2019-10-18,https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-3,2019-10-18T05:24:54Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.12,2019-10-17,"* The `source` column for a tweet is now a foreign key to a new `sources` table - #12 * New migrations system to upgrade existing databases to handle the new `source` column extraction - #23 * 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 * Fixed bug where sometimes a user record for the authenticated user was not persisted to the `users` table",2019-10-17T18:00:28Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11.1,2019-10-16,"* Fix bugs running `home-timeline --since` from scratch. If tables were missing, script would throw an error.",2019-10-16T22:31:51Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 205429375,https://github.com/dogsheep/swarm-to-sqlite,https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.2,2019-10-16,"* Added --since option, closes #3 ",2019-10-16T20:40:55Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""foursquare"", ""foursquare-api"", ""sqlite"", ""swarm""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.11,2019-10-16,"* Added `--since_id` and `--since` to `user-timeline` command, refs #20 * `--since` and `--since_id` options for `home-timeline`, closes #19 * `import` command now works on files and directories, closes #22 ",2019-10-16T19:38:42Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.10,2019-10-15,"* favorites command now populates `favorited_by` table - #14 * favorites `--stop_after` option - #20 * Store unescaped `full_text` of Tweet - #21 ",2019-10-15T18:56:09Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.5,2019-10-13,"* New command: `github-to-sqlite issue-comments` for importing comments on issues - #7 * `github-to-sqlite issues` now accepts optional `--issue=1` argument * Fixed bug inserting users into already-created table with wrong columns - #6",2019-10-13T05:30:05Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.9,2019-10-11,"* New `twitter-to-sqlite home-timeline` command, for retrieving your timeline of tweets from people you follow - #18 * `twitter-to-sqlite import` created tables now use the `archive_` prefix instead of `archive-`, for easier querying * Running `twitter-to-sqlite import` now deletes existing `archive_` tables and recreates them - #17",2019-10-11T16:57:25Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.8,2019-10-11,* 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).,2019-10-11T06:46:52Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 213286752,https://github.com/dogsheep/pocket-to-sqlite,https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.1,2019-10-07,Initial release,2019-10-07T05:18:20Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""pocket"", ""pocket-api"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.7,2019-10-07,* New `statuses-lookup` command for bulk fetching tweets by their IDs - #13 ,2019-10-07T00:33:28Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.6,2019-10-06,"* 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. * Documentation for `--sql` and `--attach`, refs #8",2019-10-06T04:52:18Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 209590345,https://github.com/dogsheep/genome-to-sqlite,https://github.com/dogsheep/genome-to-sqlite/releases/tag/0.1,2019-09-19,First release,2019-09-19T15:41:17Z,"[""23andme"", ""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""genetics"", ""personal-analytics"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.4,2019-09-17,"* Added `github-to-sqlite repos` command, #3 ",2019-09-17T00:19:42Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.3,2019-09-14,"* `license` is now extracted from the `repos` table into a separate `licenses` table with a foreign key, #2 ",2019-09-14T21:50:01Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.2,2019-09-14,"* Added the `github-to-sqlite starred` command for retrieving starred repos, #1 ",2019-09-14T21:32:34Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 207052882,https://github.com/dogsheep/github-to-sqlite,https://github.com/dogsheep/github-to-sqlite/releases/tag/0.1.1,2019-09-14,* Fix bug in authentication handling code,2019-09-14T19:42:08Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""github-api"", ""sqlite""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.5,2019-09-10,* Added `followers-ids` and `friends-ids` subcommands,2019-09-10T17:39:47Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.4,2019-09-09,"* New `users-lookup` command for fetching multiple user profiles, including using new `--sql` and `--attach` options * New `list-members` subcommand for fetching members of a list * Added `stop_after` option to `user-timeline` command",2019-09-09T22:43:05Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.3,2019-09-04,"Extract places and media into separate tables Demo: https://twitter-to-sqlite-demo.now.sh/",2019-09-04T22:11:01Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.2,2019-09-04,Full text search for tweets table,2019-09-04T22:09:46Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]" 206156866,https://github.com/dogsheep/twitter-to-sqlite,https://github.com/dogsheep/twitter-to-sqlite/releases/tag/0.1a,2019-09-04,,2019-09-04T22:08:18Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""sqlite"", ""twitter"", ""twitter-api""]"