rowid,repo,release,date,body_markdown,published_at,topics 213286752,https://github.com/dogsheep/pocket-to-sqlite,https://github.com/dogsheep/pocket-to-sqlite/releases/tag/0.2.3,2023-07-09,"- Progress bar now includes a count of the total number of items to fetch. - Now packaged using `pyproject.toml`. [#12](https://github.com/dogsheep/pocket-to-sqlite/issues/12)",2023-07-09T01:15:03Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""pocket"", ""pocket-api"", ""sqlite""]" 140912432,https://github.com/simonw/sqlite-utils,https://github.com/simonw/sqlite-utils/releases/tag/3.33,2023-06-26,"- `sqlite-utils` will now use [sqlean.py](https://github.com/nalgeon/sqlean.py) in place of `sqlite3` if it is installed in the same virtual environment. This is useful for Python environments with either an outdated version of SQLite or with restrictions on SQLite such as disabled extension loading or restrictions resulting in the `sqlite3.OperationalError: table sqlite_master may not be modified` error. ([#559](https://github.com/simonw/sqlite-utils/issues/559)) - New `with db.ensure_autocommit_off()` context manager, which ensures that the database is in autocommit mode for the duration of a block of code. This is used by `db.enable_wal()` and `db.disable_wal()` to ensure they work correctly with `pysqlite3` and `sqlean.py`. - New `db.iterdump()` method, providing an iterator over SQL strings representing a dump of the database. This uses `sqlite-dump` if it is available, otherwise falling back on the `conn.iterdump()` method from `sqlite3`. Both `pysqlite3` and `sqlean.py` omit support for `iterdump()` - this method helps paper over that difference.",2023-06-26T01:32:30Z,"[""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/3.32.1,2023-05-21,"- Examples in the [CLI documentation](https://sqlite-utils.datasette.io/en/stable/cli.html) can now all be copied and pasted without needing to remove a leading `$`. ([#551](https://github.com/simonw/sqlite-utils/issues/551)) - Documentation now covers [Setting up shell completion](https://sqlite-utils.datasette.io/en/stable//installation.html#installation-completion) for `bash` and `zsh`. ([#552](https://github.com/simonw/sqlite-utils/issues/552))",2023-05-21T21:12:05Z,"[""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/3.32,2023-05-21,"- New experimental `sqlite-utils tui` interface for interactively building command-line invocations, powered by [Trogon](https://github.com/Textualize/trogon). This requires an optional dependency, installed using `sqlite-utils install trogon`. There is a screenshot [in the documentation](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-tui). ([#545](https://github.com/simonw/sqlite-utils/issues/545)) - `sqlite-utils analyze-tables` command ([documentation](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-analyze-tables)) now has a `--common-limit 20` option for changing the number of common/least-common values shown for each column. ([#544](https://github.com/simonw/sqlite-utils/issues/544)) - `sqlite-utils analyze-tables --no-most` and `--no-least` options for disabling calculation of most-common and least-common values. - If a column contains only `null` values, `analyze-tables` will no longer attempt to calculate the most common and least common values for that column. ([#547](https://github.com/simonw/sqlite-utils/issues/547)) - Calling `sqlite-utils analyze-tables` with non-existent columns in the `-c/--column` option now results in an error message. ([#548](https://github.com/simonw/sqlite-utils/issues/548)) - The `table.analyze_column()` method ([documented here](https://sqlite-utils.datasette.io/en/stable/python-api.html#python-api-analyze-column)) now accepts `most_common=False` and `least_common=False` options for disabling calculation of those values.",2023-05-21T18:55:42Z,"[""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/3.31,2023-05-08,"- Dropped support for Python 3.6. Tests now ensure compatibility with Python 3.11. ([#517](https://github.com/simonw/sqlite-utils/issues/517)) - Automatically locates the SpatiaLite extension on Apple Silicon. Thanks, Chris Amico. ([#536](https://github.com/simonw/sqlite-utils/pull/536)) - New `--raw-lines` option for the `sqlite-utils query` and `sqlite-utils memory` commands, which outputs just the raw value of the first column of evy row. ([#539](https://github.com/simonw/sqlite-utils/issues/539)) - Fixed a bug where `table.upsert_all()` failed if the `not_null=` option was passed. ([#538](https://github.com/simonw/sqlite-utils/issues/538)) - Fixed a `ResourceWarning` when using `sqlite-utils insert`. ([#534](https://github.com/simonw/sqlite-utils/issues/534)) - Now shows a more detailed error message when `sqlite-utils insert` is called with invalid JSON. ([#532](https://github.com/simonw/sqlite-utils/ises/532)) - `table.convert(..., skip_false=False)` and `sqlite-utils convert --no-skip-false` options, for avoiding a misfeature where the [convert()](http://127.0.0.1:8000/python-api.html#python-api-convert) mechanism skips rows in the database with a falsey value for the specified column. Fixing this by default would be a backwards-incompatible change and is under consideration for a 4.0 release in the future. ([#527](https://github.com/simonw/sqlite-utils/issues/527)) - Tables can now be created with self-referential foreign keys. Thanks, Scott Perry. ([#537](https://github.com/simonw/sqlite-utils/pull/537)) - `sqlite-utils transform` no longer breaks if a table defines default values for columns. Thanks, Kenny Song. ([#509](https://github.com/simonw/sqlite-utils/issues/509)) - Fixed a bug where repeated calls to `table.transform()` did not work correctly. Thanks, Martin Carpenter. ([#525](https://github.com/simonw/sqlite-utils/issues/525)) - Improved error message if `rows_from_file()` is passed a non-binary-mode file-like object. ([#520](https://github.com/simonw/sqlite-utils/issues/520))",2023-05-08T22:37:24Z,"[""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.64.3,2023-04-27,- Added `pip` and `setuptools` as explicit dependencies. This fixes a bug where Datasette could not be installed using [Rye](https://github.com/mitsuhiko/rye). ([#2065](https://github.com/simonw/datasette/issues/2065)),2023-04-27T15:00:27Z,"[""asgi"", ""automatic-api"", ""csv"", ""datasets"", ""datasette"", ""datasette-io"", ""docker"", ""json"", ""python"", ""sql"", ""sqlite""]" 205429375,https://github.com/dogsheep/swarm-to-sqlite,https://github.com/dogsheep/swarm-to-sqlite/releases/tag/0.3.4,2023-04-11,- Fixed an error in the `checkins_detail` view. [#15](https://github.com/dogsheep/swarm-to-sqlite/issues/15),2023-04-11T03:18:16Z,"[""datasette"", ""datasette-io"", ""datasette-tool"", ""dogsheep"", ""foursquare"", ""foursquare-api"", ""sqlite"", ""swarm""]" 611552758,https://github.com/dogsheep/apple-notes-to-sqlite,https://github.com/dogsheep/apple-notes-to-sqlite/releases/tag/0.1,2023-03-09,"- Initial working version. `apple-notes-to-sqlite notes.db` dumps your notes out to a SQLite database. [#2](https://github.com/dogsheep/apple-notes-to-sqlite/issues/2) - `apple-notes-to-sqlite --dump` outputs them to standard output as newline-delimited JSON. [#3](https://github.com/dogsheep/apple-notes-to-sqlite/issues/3)",2023-03-09T05:12:12Z,"[""apple-notes"", ""datasette"", ""datasette-tool"", ""dogsheep"", ""sqlite""]" 107914493,https://github.com/simonw/datasette,https://github.com/simonw/datasette/releases/tag/0.64.2,2023-03-08,"- Fixed a bug with `datasette publish cloudrun` where deploys all used the same Docker image tag. This was mostly inconsequential as the service is deployed as soon as the image has been pushed to the registry, but could result in the incorrect image being deployed if two different deploys for two separate services ran at exactly the same time. [#2036](https://github.com/simonw/datasette/issues/2036) ",2023-03-08T20:46:27Z,"[""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.64.1,2023-01-11,"- Documentation now links to a current source of information for installing Python 3. ([#1987](https://github.com/simonw/datasette/issues/1987)) - Incorrectly calling the Datasette constructor using `Datasette(""path/to/data.db"")` instead of `Datasette([""path/to/data.db""])` now returns a useful error message. ([#1985](https://github.com/simonw/datasette/issues/1985))",2023-01-11T18:27:56Z,"[""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.64,2023-01-09,"- Datasette now **strongly recommends against allowing arbitrary SQL queries if you are using SpatiaLite**. SpatiaLite includes SQL functions that could cause the Datasette server to crash. See [SpatiaLite](https://docs.datasette.io/en/stable/spatialite.html#spatialite) for more details. - New [default_allow_sql](https://docs.datasette.io/en/stable/settings.html#setting-default-allow-sql) setting, providing an easier way to disable all arbitrary SQL execution by end users: `datasette --setting default_allow_sql off`. See also [Controlling the ability to execute arbitrary SQL](https://docs.datasette.io/en/stable/authentication.html#authentication-permissions-execute-sql). ([#1409](https://github.com/simonw/datasette/issues/1409)) - [Building a location to time zone API with SpatiaLite](https://datasette.io/tutorials/spatialite) is a new Datasette tutorial showing how to safely use SpatiaLite to create a location to time zone API. - New documentation about [how to debug problems loading SQLite extensions](https://docs.datasette.io/en/stable/installation.html#installation-extensions). The error message shown when an extension cannot be loaded has also been improved. ([#1979](https://github.com/simonw/datasette/issues/1979)) - Fixed an accessibility issue: the `