pull_requests
110 rows where repo = 140912432 sorted by base
This data as json, CSV (advanced)
Suggested facets: state, draft, author_association, created_at (date), updated_at (date), closed_at (date), merged_at (date)
id | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha | assignee | milestone | draft | head | base ▼ | author_association | repo | url | merged_by | auto_merge |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1040691996 | PR_kwDOCGYnMM4-B7Mc | 480 | closed | 0 | search_sql add include_rank option | chapmanjacobd 7908073 | I haven't tested this yet but wanted to get a heads-up whether this kind of change would be useful or if I should just duplicate the function and tweak it within my code <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--480.org.readthedocs.build/en/480/ <!-- readthedocs-preview sqlite-utils end --> | 2022-08-30T09:10:29Z | 2022-08-31T03:40:35Z | 2022-08-31T03:40:35Z | 2022-08-31T03:40:35Z | ecf1d40112e52a8f4e509c39b98caae996b7bc36 | 0 | 3dbfca6fdd878ba381f83157fdae2042eeaed371 | 087753cd42c406f1e060c1822dcd9b5fda3d60f4 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/480 | ||||
1445438054 | PR_kwDOCGYnMM5WJ6Jm | 573 | closed | 0 | feat: Implement a prepare_connection plugin hook | asg017 15178711 | Just like the [Datasette prepare_connection hook](https://docs.datasette.io/en/stable/plugin_hooks.html#prepare-connection-conn-database-datasette), this PR adds a similar hook for the `sqlite-utils` plugin system. The sole argument is `conn`, since I don't believe a `database` or `datasette` argument would be relevant here. I want to do this so I can release `sqlite-utils` plugins for my [SQLite extensions](https://github.com/asg017/sqlite-ecosystem), similar to the Datasette plugins I've release for them. An example plugin: https://gist.github.com/asg017/d7cdf0d56e2be87efda28cebee27fa3c ```bash $ sqlite-utils install https://gist.github.com/asg017/d7cdf0d56e2be87efda28cebee27fa3c/archive/5f5ad549a40860787629c69ca120a08c32519e99.zip $ sqlite-utils memory 'select hello("alex") as response' [{"response": "Hello, alex!"}] ``` Refs: - #574 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--573.org.readthedocs.build/en/573/ <!-- readthedocs-preview sqlite-utils end --> | 2023-07-22T22:48:44Z | 2023-07-22T22:59:09Z | 2023-07-22T22:59:09Z | 2023-07-22T22:59:09Z | 3f80a026983d3e634f05a46f2a6da162b5139dd9 | 0 | faf398fe075f60929337d3cd0f12309fc4229a3c | 091c63cfbf7b40e99e2017a3c37619c7689cc447 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/573 | ||||
583407989 | MDExOlB1bGxSZXF1ZXN0NTgzNDA3OTg5 | 244 | closed | 0 | Typo in upsert example | j-e-d 387669 | Remove extra `[` | 2021-03-02T23:14:14Z | 2021-05-19T02:58:21Z | 2021-05-19T02:58:21Z | 2021-05-19T02:58:21Z | 328211eaca1247cd6b33a2c0a54642f87866d85b | 0 | 1899200fa5a43f638573ea2c483df62819ba53b1 | 09c3386f55f766b135b6a1c00295646c4ae29bec | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/244 | ||||
346264926 | MDExOlB1bGxSZXF1ZXN0MzQ2MjY0OTI2 | 67 | closed | 0 | Run tests against 3.5 too | simonw 9599 | 2019-11-27T14:20:35Z | 2019-12-31T01:29:44Z | 2019-12-31T01:29:43Z | 88375b0bc055067b996584f06ed85a9a90c5aa1a | 0 | 4c6e5a4486e0e17555774eb3279142234a8b4abc | 0a0cec3cf27861455e8cd1c4d84937825a18bb30 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/67 | ||||||
205770996 | MDExOlB1bGxSZXF1ZXN0MjA1NzcwOTk2 | 1 | closed | 0 | Make .indexes compatible with older SQLite versions | simonw 9599 | Older SQLite versions return a different set of columns from the PRAGMA we are using. | 2018-08-02T15:17:05Z | 2018-08-02T15:17:30Z | 2018-08-02T15:17:30Z | 2018-08-02T15:17:30Z | 741e8f7fe563e18fe9a12ac1ce38157e8c903505 | 0 | 9e674311065b8372f0a93becc8e7357ceffd353b | 0aa28293adedc488eb9107dc52b5e9a124887fbd | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/1 | ||||
492257405 | MDExOlB1bGxSZXF1ZXN0NDkyMjU3NDA1 | 174 | closed | 0 | Much, much faster extract() implementation | simonw 9599 | Takes my test down from ten minutes to four seconds. Refs #172. | 2020-09-24T07:52:31Z | 2020-09-24T15:44:00Z | 2020-09-24T15:43:56Z | 2020-09-24T15:43:56Z | 022cdd97a9ddab1a152e23e1e1c42e78c1ed0fa9 | 0 | 227095ee90e2a92effec6478d3e629a24d3ccfba | 0ca5585fcb834122193e8e7186f926217b23cb8a | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/174 | ||||
308292447 | MDExOlB1bGxSZXF1ZXN0MzA4MjkyNDQ3 | 55 | closed | 0 | Ability to introspect and run queries against views | simonw 9599 | See #54 | 2019-08-17T13:40:56Z | 2019-08-23T12:19:42Z | 2019-08-23T12:19:42Z | 2019-08-23T12:19:42Z | 9faa98222669723d31e918bb16a42c13c363817f | 0 | 4441d6d838fd7518ce715184361f549a04ec8b70 | 0e7b461eb3e925aef713206c15794ceae9259c57 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/55 | ||||
293117183 | MDExOlB1bGxSZXF1ZXN0MjkzMTE3MTgz | 34 | closed | 0 | sqlite-utils index-foreign-keys / db.index_foreign_keys() | simonw 9599 | Refs #33 - [x] `sqlite-utils index-foreign-keys` command - [x] `db.index_foreign_keys()` method - [x] unit tests - [x] documentation | 2019-06-30T16:43:40Z | 2019-06-30T23:50:55Z | 2019-06-30T23:50:55Z | 2019-06-30T23:50:54Z | e8f887ef4a0977243811b90bc2ce9aed9d2c206a | 0 | d82b000e3d55067516e2ce42f131cf4695e80dca | 0fe3b38290e1bb2d92746d90318d8662b57218bd | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/34 | ||||
1015320511 | PR_kwDOCGYnMM48hI-_ | 460 | closed | 0 | Cross-link CLI to Python docs | simonw 9599 | Work in progress, partly to test the ReadTheDocs preview link action. Refs: - #426 <!-- readthedocs-preview readthedocs-preview start --> ---- :books: Documentation preview :books:: https://readthedocs-preview--460.org.readthedocs.build/en/460/ <!-- readthedocs-preview readthedocs-preview end --> | 2022-08-02T16:18:28Z | 2022-08-18T21:58:10Z | 2022-08-18T21:58:07Z | 2022-08-18T21:58:07Z | f4fb78fa95057fbc86c734020835a3155695297f | 0 | f21f4ccf7197e7a0ac8c2eb5086659fc3eb5bc05 | 1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/460 | ||||
1479795255 | PR_kwDOCGYnMM5YM-I3 | 584 | closed | 0 | .transform() instead of modifying sqlite_master for add_foreign_keys | simonw 9599 | Refs: - #577 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--584.org.readthedocs.build/en/584/ <!-- readthedocs-preview sqlite-utils end --> | 2023-08-17T23:32:45Z | 2023-08-18T00:48:13Z | 2023-08-18T00:48:08Z | 2023-08-18T00:48:08Z | 509857ee8724f73760f3631b69c26f9047381187 | 0 | 291505084e652972ad806383250757d41d596d38 | 1dc6b5aa644a92d3654f7068110ed7930989ce71 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/584 | ||||
593805804 | MDExOlB1bGxSZXF1ZXN0NTkzODA1ODA0 | 247 | closed | 0 | FTS quote functionality from datasette | DeNeutoy 16001974 | Addresses #246 - this is a bit of a kludge because it doesn't actually *validate* the FTS string, just makes sure that it will not crash when executed, but I figured that building a query parser is a bit out of the scope of sqlite-utils and if you actually want to use the query language, you probably need to parse that yourself. | 2021-03-16T11:17:34Z | 2021-08-18T18:43:12Z | 2021-08-18T18:43:12Z | 2021-08-18T18:43:11Z | 53fec0d8639d2a66e322d05e1fcc8f34caa57815 | 0 | af989af658e23be0077f226292594226103b063d | 1fe73c898b44695052f1a9ca832818d50cecf662 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/247 | ||||
791153878 | PR_kwDOCGYnMM4vKAzW | 347 | open | 0 | Test against pysqlite3 running SQLite 3.37 | simonw 9599 | Refs #346 and #344. | 2021-11-29T23:17:57Z | 2021-12-11T01:02:19Z | f70a61e58ae62e53af74ab48d742bdc335131fbd | 0 | 1a7ef2fe2064ace01d5535fb771f941296fb642a | 213a0ff177f23a35f3b235386366ff132eb879f1 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/347 | ||||||
395258687 | MDExOlB1bGxSZXF1ZXN0Mzk1MjU4Njg3 | 96 | closed | 0 | Add type conversion for Panda's Timestamp | b0b5h4rp13 32605365 | Add type conversion for Panda's Timestamp, if Panda library is present in system (thanks for this project, I was about to do the same thing from scratch) | 2020-03-29T14:13:09Z | 2020-03-31T04:40:49Z | 2020-03-31T04:40:48Z | 2020-03-31T04:40:48Z | 8ea626e5fcdc4c9e52f615c6347e68173805f8b4 | 0 | 16ebbd2d494caabd0eeb502f8a944614b464bb12 | 22250a9c735077d6f365b73bf824e6c67b122c83 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/96 | ||||
592289324 | MDExOlB1bGxSZXF1ZXN0NTkyMjg5MzI0 | 245 | closed | 0 | Correct some typos | dbready 1076745 | Noticed a typo in the docs and followed that up with a spellcheck. Had to bite my tongue at some of the British spellings. | 2021-03-13T04:26:56Z | 2021-05-19T02:58:04Z | 2021-05-19T02:58:04Z | 2021-05-19T02:58:04Z | 3e62ab62a88992d4bbb0fe83debec3bacd93ebf3 | 0 | 79de6b639f9d14818a5006af4f63e4e20c961a10 | 22f1d9e1999f70af4c5b0f880a820cd9eead3942 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/245 | ||||
614727036 | MDExOlB1bGxSZXF1ZXN0NjE0NzI3MDM2 | 254 | closed | 0 | Fix incorrect create-table cli description | robjwells 1935268 | The description for `create-table` was duplicated from `create-index`. | 2021-04-13T20:03:15Z | 2021-05-19T04:43:46Z | 2021-05-19T02:57:26Z | 2021-05-19T02:57:26Z | e7b2626291040b78b9a2dbc2982ba72691fb1a0f | 0 | cdeb7d7da77c6d1cd3554d08cb5659243cb3d55b | 22f1d9e1999f70af4c5b0f880a820cd9eead3942 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/254 | ||||
623755723 | MDExOlB1bGxSZXF1ZXN0NjIzNzU1NzIz | 258 | closed | 0 | Fixing insert from JSON containing strings with non-ascii characters … | dylan-wu 6586811 | …are escaped aps unicode for lists, tuples, dicts Fix of #257 | 2021-04-26T20:50:00Z | 2021-05-19T02:47:44Z | 2021-05-19T02:47:44Z | 2021-05-19T02:47:44Z | 6f4f9a3effeb16de0348d3cf136664f7531f498d | 0 | 27e7c1ae1913e2127361af4fc664c2061fb76627 | 22f1d9e1999f70af4c5b0f880a820cd9eead3942 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/258 | ||||
1022525059 | PR_kwDOCGYnMM488n6D | 463 | closed | 0 | Use Read the Docs action v1 | humitos 244656 | Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1` <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--463.org.readthedocs.build/en/463/ <!-- readthedocs-preview sqlite-utils end --> | 2022-08-10T10:31:47Z | 2022-08-18T08:30:14Z | 2022-08-17T23:11:16Z | 2022-08-17T23:11:16Z | 83e7339255e811c62e6db8498c483c44a84d0f28 | 0 | 364110b97bd1c6e0d2bc841730e5dc1a595e537d | 271433fdd18e436b0a527ab899cb6f6fa67f23d0 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/463 | ||||
1406821147 | PR_kwDOCGYnMM5T2mMb | 560 | closed | 0 | Use sqlean if available in environment | simonw 9599 | Refs: - #559 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--560.org.readthedocs.build/en/560/ <!-- readthedocs-preview sqlite-utils end --> | 2023-06-25T19:48:48Z | 2023-06-26T08:21:00Z | 2023-06-25T23:25:51Z | 2023-06-25T23:25:51Z | f5c63088e1454811ce8361208b72297408eb5237 | 0 | 5e7d27e5df024ce1f45e3a850c4e0f65e765cccd | 2747257a3334d55e890b40ec58fada57ae8cfbfd | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/560 | ||||
573147168 | MDExOlB1bGxSZXF1ZXN0NTczMTQ3MTY4 | 233 | closed | 0 | Run tests against Ubuntu, macOS and Windows | simonw 9599 | Refs #232 | 2021-02-14T20:11:02Z | 2021-02-14T20:39:54Z | 2021-02-14T20:39:54Z | 2021-02-14T20:39:54Z | f51a1f6c3cb2929bcf79cb4efe3b2a9886d9c25c | 0 | deb01a8913441e7fedb53c52a3a9fdff274ddbd2 | 320f3ac33a83b32f89559ef0c162b7eca428a278 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/233 | ||||
1504920193 | PR_kwDOCGYnMM5Zs0KB | 591 | closed | 0 | Test against Python 3.12 preview | simonw 9599 | https://dev.to/hugovk/help-test-python-312-beta-1508/ <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--591.org.readthedocs.build/en/591/ <!-- readthedocs-preview sqlite-utils end --> | 2023-09-06T16:10:00Z | 2023-11-04T00:58:03Z | 2023-11-04T00:58:02Z | ac0db3c705355178bd5a337b8dd74df141b12c7a | 0 | 1f14df1de4a214b12abfba6edd61a4bfa0b8473e | 347fdc865e91b8d3410f49a5c9d5b499fbb594c1 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/591 | |||||
483175509 | MDExOlB1bGxSZXF1ZXN0NDgzMTc1NTA5 | 158 | closed | 0 | Fix accidental mega long line in docs | tomviner 167319 | 2020-09-09T22:31:23Z | 2020-09-16T06:21:43Z | 2020-09-16T06:21:43Z | 2020-09-16T06:21:43Z | 7805d53bcf11199bd1f2b07e05ae90151f9d0eb0 | 0 | 5c1d8a5f3ac8684657eefe4f57ff5ff605f6b633 | 367082e787101fb90901ef3214804ab23a92ce46 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/158 | |||||
560204306 | MDExOlB1bGxSZXF1ZXN0NTYwMjA0MzA2 | 224 | closed | 0 | Add fts offset docs. | polyrand 37962604 | The limit can be passed as a string to the query builder to have an offset. I have tested it using the shorthand `limit=f"15, 30"`, the standard syntax should work too. | 2021-01-22T20:50:58Z | 2021-02-14T19:31:06Z | 2021-02-14T19:31:06Z | 4d6ff040770119fb2c1bcbc97678d9deca752f2f | 0 | 341f50d2d95ba1d69ad64ba8c0ec0ffa9a68d063 | 36dc7e3909a44878681c266b90f9be76ac749f2d | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/224 | |||||
564215011 | MDExOlB1bGxSZXF1ZXN0NTY0MjE1MDEx | 225 | closed | 0 | fix for problem in Table.insert_all on search for columns per chunk of rows | nieuwenhoven 261237 | Hi, I ran into a problem when trying to create a database from my Apple Healthkit data using [healthkit-to-sqlite](https://github.com/dogsheep/healthkit-to-sqlite). The program crashed because of an invalid insert statement that was generated for table `rDistanceCycling`. The actual problem turned out to be in [sqlite-utils](https://github.com/simonw/sqlite-utils). `Table.insert_all` processes the data to be inserted in chunks of rows and checks for every chunk which columns are used, and it will collect all column names in the variable `all_columns`. The collection of columns is done using a nested list comprehension that is not completely correct. I'm using a Windows machine and had to make a few adjustments to the tests in order to be able to run them because they had a posix dependency. Thanks, kind regards, Frans ``` # this is a (condensed) chunk of data from my Apple healthkit export that caused the problem. # the 3 last items in the chunk have additional keys: metadata_HKMetadataKeySyncVersion and metadata_HKMetadataKeySyncIdentifier chunk = [{'sourceName': 'AppleÂ\xa0Watch van Frans', 'sourceVersion': '7.0.1', 'device': '<<HKDevice: 0x281cf6c70>, name:Apple Watch, manufacturer:Apple Inc., model:Watch, hardware:Watch3,4, software:7.0.1>', 'unit': 'km', 'creationDate': '2020-10-10 12:29:09 +0100', 'startDate': '2020-10-10 12:29:06 +0100', 'endDate': '2020-10-10 12:29:07 +0100', 'value': '0.00518016'}, {'sourceName': 'AppleÂ\xa0Watch van Frans', 'sourceVersion': '7.0.1', 'device': '<<HKDevice: 0x281cf6c70>, name:Apple Watch, manufacturer:Apple Inc., model:Watch, hardware:Watch3,4, software:7.0.1>', 'unit': 'km', 'creationDate': '2020-10-10 12:29:10 +0100', 'startDate': '2020-10-10 12:29:07 +0100', 'endDate': '2020-10-10 12:29:08 +0100', 'value': '0.00544049'}, {'sourceName': 'AppleÂ\xa0Watch van Frans', 'sourceVersion': '6.2.6', 'device': '<<HKDevice: 0x281cf83e0>, name:Apple Watch, manu… | 2021-01-29T20:16:07Z | 2021-02-14T21:04:13Z | 2021-02-14T21:04:13Z | 1cba965a1ddc2bd77db3bc3912aa7e8467e2fa2f | 0 | 929ea7551135df0cc2ac9d67f4fbbecf701a11f6 | 36dc7e3909a44878681c266b90f9be76ac749f2d | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/225 | |||||
580235427 | MDExOlB1bGxSZXF1ZXN0NTgwMjM1NDI3 | 241 | open | 0 | Extract expand - work in progress | simonw 9599 | Refs #239. Still needs documentation and CLI implementation. | 2021-02-25T16:36:38Z | 2021-02-25T16:36:38Z | 0bb6c7a38994627a64e7b3375931528e96b8c222 | 1 | 8d641ab08ac449081e96f3e25bd6c0226870948a | 38e688fb8bcb58ae888b676fe3f7dd0529b4eecc | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/241 | ||||||
481616704 | MDExOlB1bGxSZXF1ZXN0NDgxNjE2NzA0 | 151 | closed | 0 | Tracer mechanism for seeing underlying SQL | simonw 9599 | Refs #150. Needs tests and documentation, including for the new `db.execute()` and `db.executescript()` methods. | 2020-09-07T19:46:43Z | 2020-09-07T21:57:00Z | 2020-09-07T21:57:00Z | 2020-09-07T21:57:00Z | cf2cb244faf992118f34aa196387a4ef8b39a20f | 0 | dc82bf371911d01ac140f40ea99d06d2daee507e | 3e87500e1561f5c4e105cd026d33e0f715cc7dea | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/151 | ||||
313383317 | MDExOlB1bGxSZXF1ZXN0MzEzMzgzMzE3 | 60 | closed | 0 | db.triggers and table.triggers introspection | simonw 9599 | Closes #59 | 2019-09-03T00:04:32Z | 2019-09-03T00:09:42Z | 2019-09-03T00:09:42Z | 2019-09-03T00:09:42Z | 2ca63e3b2de5408a860c6c7c1852deb9a138279e | 0 | b0a27fbb34b4362ef192deb560612fabf046cd32 | 405e092d5916e70df10f82d15e9c052aa9ee8d80 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/60 | ||||
992299943 | PR_kwDOCGYnMM47JUun | 452 | closed | 0 | Add duplicate table feature | davidleejy 1690072 | This PR addresses a feature request raised in issue #449. Specifically this PR adds a functionality that lets users duplicate a table via: ```python table_new = db["my_table"].duplicate("new_table") ``` Test added in file `tests/test_duplicate.py`. Happy to make changes to meet maintainers' feedback, if any. | 2022-07-09T20:24:31Z | 2022-07-15T21:21:37Z | 2022-07-15T21:21:36Z | 2022-07-15T21:21:36Z | b366e68deb0780048a23610c279552f8529d4726 | 0 | eef350fe543c6301c61b257c5f708e0e16ed5a34 | 42440d6345c242ee39778045e29143fb550bd2c2 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/452 | ||||
249680944 | MDExOlB1bGxSZXF1ZXN0MjQ5NjgwOTQ0 | 9 | closed | 0 | :pencil: Updates my_database.py to my_database.db | jefftriplett 50527 | I noticed that both `.py` and `.db` were used in the docs and assumed you'd prefer `.db`. | 2019-02-01T17:35:43Z | 2019-02-24T03:55:04Z | 2019-02-24T03:55:04Z | 2019-02-24T03:55:04Z | c5068a0972651b3e359ebc2d6c1486b8b7d2c242 | 0 | 1ad604fbbd3311f041357190796a3613c0c729d1 | 441c131db5cc68e197db19f0623ff8a96c90c3ff | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/9 | ||||
1029360106 | PR_kwDOCGYnMM49Wsnq | 465 | closed | 0 | beanbag-docutils>=2.0 | simonw 9599 | Refs #464 | 2022-08-17T22:41:39Z | 2022-08-17T23:38:07Z | 2022-08-17T23:38:02Z | 2022-08-17T23:38:02Z | f8ffac8787e299a62c99ed1ce914cd5ace84ad94 | 0 | bb90d3326815a041512b40bf0cf53b3ace06cd67 | 45e24deffea042b5db7ab84cd1eb63b3ed9bb9da | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/465 | ||||
1105985162 | PR_kwDOCGYnMM5B6_6K | 508 | closed | 0 | Allow surrogates in parameters | chapmanjacobd 7908073 | closes #507 https://dwheeler.com/essays/fixing-unix-linux-filenames.html <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--508.org.readthedocs.build/en/508/ <!-- readthedocs-preview sqlite-utils end --> | 2022-10-31T22:11:49Z | 2022-11-17T15:11:16Z | 2022-10-31T22:55:36Z | 3b551597240d9a6058b1c3c720073120db213678 | 0 | 43a8c4c91fc22fb6bea07846f144072b0d047f4e | 529110e7d8c4a6b1bbf5fb61f2e29d72aa95a611 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/508 | |||||
359822773 | MDExOlB1bGxSZXF1ZXN0MzU5ODIyNzcz | 75 | closed | 0 | Explicitly include tests and docs in sdist | jayvdb 15092 | Also exclude 'tests' from runtime installation. | 2020-01-07T04:53:20Z | 2020-01-31T00:21:27Z | 2020-01-31T00:21:27Z | 2020-01-31T00:21:27Z | 0988f2eccc2dfa26b1a55243582222f540a72838 | 0 | 39a836450b23bf2fe1ba9a071a5a9a00a0949cd6 | 59a2e8ebdcbde7e6fb091b0556713ca5a20ea4e7 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/75 | ||||
369348084 | MDExOlB1bGxSZXF1ZXN0MzY5MzQ4MDg0 | 78 | closed | 0 | New conversions= feature, refs #77 | simonw 9599 | 2020-01-31T00:02:33Z | 2020-09-22T07:48:29Z | 2020-01-31T00:24:31Z | 2020-01-31T00:24:31Z | e8b2b7383bd94659d3b7a857a1414328bc48bc19 | 0 | 58190d67821aaa57c8ca0320a08e3691d6e27344 | 59a2e8ebdcbde7e6fb091b0556713ca5a20ea4e7 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/78 | |||||
943686022 | PR_kwDOCGYnMM44P4GG | 437 | closed | 0 | docs to dogs | yurivish 114388 | Fixes a typo. | 2022-05-22T15:50:33Z | 2022-05-30T21:32:41Z | 2022-05-30T21:32:41Z | 2022-05-30T21:32:41Z | 9fedfc69d7239ac49900051e1c48ee9cdd470d9e | 0 | 9e540417821385939db0fdd2d0a859f85be377e6 | 59be60c471fd7a2c4be7f75e8911163e618ff5ca | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/437 | ||||
515014883 | MDExOlB1bGxSZXF1ZXN0NTE1MDE0ODgz | 195 | closed | 0 | table.search() improvements plus sqlite-utils search command | simonw 9599 | Refs #192. Still needs tests. | 2020-11-03T22:02:08Z | 2020-11-06T18:30:49Z | 2020-11-06T18:30:42Z | 2020-11-06T18:30:42Z | d411fba1f4124047429ac9d1175a04b36bf5bee9 | 0 | 973d94d44f27d35d856fe1cc822f9d5d40e4b5e6 | 59d8689ed0e6e042d99fd650896def680ca3c657 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/195 | ||||
1507097949 | PR_kwDOCGYnMM5Z1H1d | 593 | closed | 0 | .transform() now preserves rowid values, refs #592 | simonw 9599 | Refs: - #592 - [x] Tests against weird shaped tables I need to test that this works against: - `rowid` tables - Tables that have a column called `rowid` even though they are not rowid tables <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--593.org.readthedocs.build/en/593/ <!-- readthedocs-preview sqlite-utils end --> | 2023-09-08T01:02:28Z | 2023-09-10T17:44:59Z | 2023-09-09T00:45:30Z | 2023-09-09T00:45:30Z | 1c6ea54338e24fcebcee4e2f9c170ee300a5d946 | 0 | b86374f705d1f4143a51634b30289cb48add0ea2 | 5d123f031fc4fadc98f508e0ef6b7b6671e86155 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/593 | ||||
529090560 | MDExOlB1bGxSZXF1ZXN0NTI5MDkwNTYw | 204 | closed | 0 | use jsonify_if_need for sql updates | mfa 78035 | 2020-11-29T10:49:00Z | 2020-12-08T17:49:42Z | 2020-12-08T17:49:42Z | 2020-12-08T17:49:42Z | c5f4f0f70ce394dfec6054c3c5aaedf330887093 | 0 | 8ea9ad1913aa63395391818ebb4e43bfce936dda | 60d3c4821be4cf25c41097c1e8b79b2e60c5ead5 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/204 | |||||
1535767490 | PR_kwDOCGYnMM5bifPC | 596 | closed | 0 | Fixes mapping for time fields related to mysql, closes #522 | nezhar 4420927 | Adds `COLUMN_TYPE_MAPPING` for `TIME` fields that are mapped as `datetime.timedelta` for MySQL and json represantation for `datetime.timedelta` in order to fix #522 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--596.org.readthedocs.build/en/596/ <!-- readthedocs-preview sqlite-utils end --> | 2023-09-29T13:41:48Z | 2023-11-04T00:49:50Z | 2023-11-04T00:49:50Z | 2023-11-04T00:49:50Z | 347fdc865e91b8d3410f49a5c9d5b499fbb594c1 | 0 | ab12125b3f7d0ef327b08d95f27c6c4cec6fdfb3 | 622c3a5a7dd53a09c029e2af40c2643fe7579340 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/596 | ||||
1542299634 | PR_kwDOCGYnMM5b7Z_y | 598 | closed | 0 | Fixed issue #433 - CLI eats cursor | spookylukey 62745 | The issue is that underlying iterator is not fully consumed within the body of the `with file_progress()` block. Instead, that block creates generator expressions like `docs = (dict(zip(headers, row)) for row in reader)` These iterables are consumed later, outside the `with file_progress()` block, which consumes the underlying iterator, and in turn updates the progress bar. This means that the `ProgressBar.__exit__` method gets called before the last time the `ProgressBar.update` method gets called. The result is that the code to make the cursor invisible (inside the `update()` method) is called after the cleanup code to make it visible (in the `__exit__` method). The fix is to move consumption of the `docs` iterators within the progress bar block. ( (An additional fix, to make ProgressBar more robust against this kind of misuse, would to make it refusing to update after its `__exit__` method had been called, just like files cannot be `read()` after they are closed. That requires a in the click library). Note that Github diff obscures the simplicity of this diff, it's just indenting a block of code. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--598.org.readthedocs.build/en/598/ <!-- readthedocs-preview sqlite-utils end --> | 2023-10-04T18:06:58Z | 2023-11-04T00:46:55Z | 2023-11-04T00:40:30Z | 2023-11-04T00:40:30Z | 37273d7f63f08872aa1c90c4233a0580e384ac19 | 0 | 76113d1cb1387811d556fb7a32e0628492c34aea | 622c3a5a7dd53a09c029e2af40c2643fe7579340 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/598 | ||||
1586779743 | PR_kwDOCGYnMM5elFZf | 600 | closed | 0 | Add spatialite arm64 linux path | MikeCoats 37802088 | According to both [Debian](https://packages.debian.org/bookworm/arm64/libsqlite3-mod-spatialite/filelist) and [Ubuntu](https://packages.ubuntu.com/mantic/arm64/libsqlite3-mod-spatialite/filelist), the correct “target triple” for arm64 is `aarch64-linux-gnu`, so we should be looking in `/usr/lib/aarch64-linux-gnu` for `mod_spatialite.so`. I can confirm that on both of my Debian arm64 SBCs, `libsqlite3-mod-spatialite` installs to that path. ``` $ ls -l /usr/lib/*/*spatial* lrwxrwxrwx 1 root root 23 Dec 1 2022 /usr/lib/aarch64-linux-gnu/mod_spatialite.so -> mod_spatialite.so.7.1.0 lrwxrwxrwx 1 root root 23 Dec 1 2022 /usr/lib/aarch64-linux-gnu/mod_spatialite.so.7 -> mod_spatialite.so.7.1.0 -rw-r--r-- 1 root root 7348584 Dec 1 2022 /usr/lib/aarch64-linux-gnu/mod_spatialite.so.7.1.0 ``` This is a set of before and after snippets of pytest’s output for this PR. ### Before ``` $ pytest tests/test_get.py ...... [ 73%] tests/test_gis.py ssssssssssss [ 75%] tests/test_hypothesis.py .... [ 75%] ``` ### After ``` $ pytest tests/test_get.py ...... [ 73%] tests/test_gis.py ............ [ 75%] tests/test_hypothesis.py .... [ 75%] ``` Issue: #599 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--600.org.readthedocs.build/en/600/ <!-- readthedocs-preview sqlite-utils end --> | 2023-11-03T22:23:26Z | 2023-11-04T00:34:33Z | 2023-11-04T00:31:49Z | 2023-11-04T00:31:49Z | b92ea4793ce4dcb73cf762aae634ab72f65ec50f | 0 | b1a60766a4150268557c4445297087a3f076be01 | 622c3a5a7dd53a09c029e2af40c2643fe7579340 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/600 | ||||
297459797 | MDExOlB1bGxSZXF1ZXN0Mjk3NDU5Nzk3 | 40 | closed | 0 | .get() method plus support for compound primary keys | simonw 9599 | - [x] Tests for the `NotFoundError` exception - [x] Documentation for `.get()` method - [x] Support `--pk` multiple times to define CLI compound primary keys - [x] Documentation for compound primary keys | 2019-07-15T03:43:13Z | 2019-07-15T04:28:57Z | 2019-07-15T04:28:52Z | 2019-07-15T04:28:52Z | c65b67ca46f70e2da46a5b945f4ed358173262e9 | 0 | b5a5df6d0ed47f33f6e1b4873948ead9a7c71060 | 65b2156d9cc0aa6b5c3dc7a6bd600d98b281a13b | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/40 | ||||
483027587 | MDExOlB1bGxSZXF1ZXN0NDgzMDI3NTg3 | 156 | closed | 0 | Typos in tests | simonwiles 96218 | One of these is my fault, and the other is one I just happened to come across. They're harmless, but might as well be fixed. | 2020-09-09T18:00:58Z | 2020-09-09T18:24:50Z | 2020-09-09T18:21:23Z | 2020-09-09T18:21:23Z | 367082e787101fb90901ef3214804ab23a92ce46 | 0 | b777776753ef08f35dfaa7d86b2d5082e8904f27 | 6be61263642d8e46ec54cf5f51af74e0df2f2393 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/156 | ||||
757797315 | PR_kwDOCGYnMM4tKxHD | 330 | closed | 0 | Test against Python 3.10 | simonw 9599 | 2021-10-13T21:50:22Z | 2021-11-15T02:59:29Z | 2021-10-13T22:25:05Z | 2021-10-13T22:25:05Z | fda4dad23a0494890267fbe8baf179e2b56ee914 | 0 | fc3de90963b6b097826d36f6a24c46267659dcf2 | 718a8f61bcaed39c04d5d223104056213f8c8516 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/330 | |||||
1029373779 | PR_kwDOCGYnMM49Wv9T | 466 | closed | 0 | Use Read the Docs action v1 (#463) | simonw 9599 | Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1` | 2022-08-17T23:11:50Z | 2022-08-17T23:11:54Z | 2022-08-17T23:11:54Z | 2022-08-17T23:11:54Z | bb90d3326815a041512b40bf0cf53b3ace06cd67 | 0 | 83e7339255e811c62e6db8498c483c44a84d0f28 | 72655adabc596a9eed43cc11c07177a390791068 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/466 | ||||
821992886 | PR_kwDOCGYnMM4w_p22 | 385 | closed | 0 | Add new spatialite helper methods | eyeseast 25778 | Refs #79 This PR adds three new Spatialite-related methods to Database and Table: - `Database.init_spatialite` loads the Spatialite extension and initializes it - `Table.add_geometry_column` adds a geometry column - `Table.create_spatial_index` creates a spatial index Has tests and documentation. Feedback very welcome. | 2022-01-14T03:57:30Z | 2022-02-05T00:04:26Z | 2022-02-04T05:55:10Z | 2022-02-04T05:55:10Z | ee11274fcb1c00f32c95f2ef2924d5349538eb4d | 0 | af86b17acf2fa50048e38b96497636d49db89766 | 74586d3cb26fa3cc3412721985ecdc1864c2a31d | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/385 | ||||
677554929 | MDExOlB1bGxSZXF1ZXN0Njc3NTU0OTI5 | 293 | closed | 0 | Test against Python 3.10-dev | simonw 9599 | 2021-06-25T01:40:39Z | 2021-10-13T21:49:33Z | 2021-10-13T21:49:33Z | 0f64d20b044ecb86d9e4e5843f9590006d2f39c2 | 0 | ae0f46a78958c0118e98c2ab18bd1b57a0478326 | 747be6057d09a4e5d9d726e29d5cf99b10c59dea | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/293 | ||||||
719998225 | MDExOlB1bGxSZXF1ZXN0NzE5OTk4MjI1 | 322 | closed | 0 | Add dict type to be mapped as TEXT in sqllite | minaeid90 2496189 | the library deal with Postgres type jsonb as dictionary, add dict type as a TEXT for mapping to sqlite | 2021-08-25T20:54:26Z | 2021-11-15T00:27:40Z | 2021-11-15T00:27:40Z | 2021-11-15T00:27:40Z | 271b894af52eb6437ae6cd84eba9867ad8dd43f6 | 0 | 69619f68c26478fdee479110e084fd22711013a3 | 77c240df56068341561e95e4a412cbfa24dc5bc7 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/322 | ||||
727012996 | MDExOlB1bGxSZXF1ZXN0NzI3MDEyOTk2 | 324 | closed | 0 | Use python-dateutil package instead of dateutils | meatcar 191622 | While working on updating `sqlite-utils` for NixOS/Nixpkgs, I came a cross the following: In 5ec6686153e29ae10d4921a1ad4c841f192f20e2, a new dependency was added on `dateutils` (https://pypi.org/project/dateutils/). I believe this is unintentional, and instead `python-dateutil` (https://pypi.org/project/python-dateutil/) was intended. My reasoning is: - `python-dateutil` is imported here in [recipes.py](https://github.com/simonw/sqlite-utils/blob/5ec6686153e29ae10d4921a1ad4c841f192f20e2/sqlite_utils/recipes.py#L1) - The `mypy` `type-python-dateutil` dependency in [setup.py](https://github.com/simonw/sqlite-utils/blob/5ec6686153e29ae10d4921a1ad4c841f192f20e2/setup.py#L36) - `python-dateutil` is a dependency of `dateutils` as seen in the output in [docs/tutorial.ipynb](https://github.com/simonw/sqlite-utils/blob/77c240df56068341561e95e4a412cbfa24dc5bc7/docs/tutorial.ipynb#L43) Seems like the trailing "s" seems to be the source of confusion 😅 I've swapped the dependencies out, hope this helps. | 2021-09-03T18:31:19Z | 2021-11-14T23:25:40Z | 2021-11-14T23:25:40Z | 2021-11-14T23:25:40Z | bc4c42d68879c710c851dba3c98deda96ca6caa8 | 0 | 275ac3b282947fa5df5d18de835d5d958a778e72 | 77c240df56068341561e95e4a412cbfa24dc5bc7 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/324 | ||||
729731441 | MDExOlB1bGxSZXF1ZXN0NzI5NzMxNDQx | 326 | closed | 0 | Test against 3.10-dev | simonw 9599 | This tests against the latest 3.10 RC, https://www.python.org/downloads/release/python-3100rc2/ | 2021-09-08T15:01:15Z | 2021-10-13T21:49:28Z | 2021-10-13T21:49:28Z | c563260408e1b802cbbc81ec7c1e398350a1ca3a | 0 | 078a08765d8aefa5ce376a03b2643d4ebe1aa57e | 77c240df56068341561e95e4a412cbfa24dc5bc7 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/326 | |||||
671014751 | MDExOlB1bGxSZXF1ZXN0NjcxMDE0NzUx | 273 | closed | 0 | sqlite-utils memory command for directly querying CSV/JSON data | simonw 9599 | Refs #272. Initial implementation only does CSV data, still needs: - [x] Implement `--save` - [x] Add `--dump` to the documentation - [x] Add `--attach` example to the documentation - [x] Replace `:memory:` in documentation | 2021-06-16T05:04:58Z | 2021-06-18T15:01:17Z | 2021-06-18T15:00:52Z | 2021-06-18T15:00:52Z | 42ec59d8ee3fcfb8ac1affb772aed43b6e2a7381 | 0 | df7a37bdb730bb863fa29758f6fb35f809fa0dd0 | 78aebb6479420217454747870737bc593a259abc | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/273 | ||||
862823026 | PR_kwDOCGYnMM4zbaJy | 410 | closed | 0 | Correct spelling mistakes (found with codespell) | EdwardBetts 3818 | 2022-02-24T20:44:18Z | 2022-03-06T08:48:29Z | 2022-03-01T21:05:29Z | 2022-03-01T21:05:29Z | b6c9dfce0ba27eb5fb6bc2221044798420f861c4 | 0 | a174069da6669b8914d4a08dded7fd750d52a316 | 7a098aa0c5e8beef6ccc55c866cf7792af5fcf43 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/410 | |||||
499603359 | MDExOlB1bGxSZXF1ZXN0NDk5NjAzMzU5 | 184 | closed | 0 | Test against Python 3.9 | simonw 9599 | 2020-10-08T01:37:05Z | 2020-10-08T01:44:06Z | 2020-10-08T01:44:06Z | 2020-10-08T01:44:06Z | 8e91de8e4edf6c8abeeccdf084b8870fff40a51a | 0 | 975c05b6dde9feebcdecabc047d47122ebcfdf84 | 7f4fe9190c1df7f0e72f9d7040327a43cf252c48 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/184 | |||||
1000800283 | PR_kwDOCGYnMM47pwAb | 455 | closed | 0 | in extract code, check equality with IS instead of = for nulls | fgregg 536941 | sqlite "IS" is equivalent to SQL "IS NOT DISTINCT FROM" closes #423 | 2022-07-19T13:40:25Z | 2022-08-27T14:45:03Z | 2022-08-27T14:45:03Z | 2022-08-27T14:45:03Z | c5f8a2eb1a81a18b52825cc649112f71fe419b12 | 0 | 1b35a92e3ede76f0f29f6f8dcd899f44b2abbb02 | 855bce8c3823718def13e0b8928c58bf857e41b2 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/455 | ||||
292879204 | MDExOlB1bGxSZXF1ZXN0MjkyODc5MjA0 | 32 | closed | 0 | db.add_foreign_keys() method | simonw 9599 | Refs #31. Still TODO: - [x] Unit tests - [x] Documentation | 2019-06-28T15:40:33Z | 2019-06-29T06:27:39Z | 2019-06-29T06:27:39Z | 2019-06-29T06:27:39Z | 997d8758fc8992be93d5984556e5b9e3bad4205f | 0 | fc81588cc31df58374c996884c67cedd98a06f4a | 86bd2bba689e25f09551d611ccfbee1e069e5b66 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/32 | ||||
737050557 | PR_kwDOCGYnMM4r7n-9 | 327 | closed | 0 | Extract expand: Support JSON Arrays | phaer 101753 | Hi, I needed to extract data in JSON Arrays to normalize data imports. I've quickly hacked the following together based on #241 which refers to #239 where you, @simonw, wrote: > Could this handle lists of objects too? That would be pretty amazing - if the column has a [{...}, {...}] list in it could turn that into a many-to-many. They way this works in my work is that many-to-many relationships are created for anything that maps to an dictionary in a list, and many-to-one relations for everything else (assumed to be scalar values). Not sure what the best approach here would be? Are many-to-one relationships are at all useful here? What do you think about this approach? I could try to add it to the cli interface and documentation if wanted. Thanks for this awesome piece of software in any case! :sun_with_face: | 2021-09-19T10:34:30Z | 2022-12-29T09:05:36Z | 2022-12-29T09:05:36Z | f0105cde23452cb4c8a15fc6096154b15d9b7c5a | 0 | 2840c697aa9817462d864ed5f8a7696d749fe039 | 8d641ab08ac449081e96f3e25bd6c0226870948a | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/327 | |||||
337853394 | MDExOlB1bGxSZXF1ZXN0MzM3ODUzMzk0 | 65 | closed | 0 | Release 1.12.1 | simonw 9599 | 2019-11-07T04:51:29Z | 2019-11-07T04:58:48Z | 2019-11-07T04:58:47Z | 2019-11-07T04:58:47Z | 0a0cec3cf27861455e8cd1c4d84937825a18bb30 | 0 | 28f8a238ab8fc2a70ee81bd73de6c167d9db9cdf | 8dab9fd1ccf571e188eec9ccf606a0c50fccf200 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/65 | |||||
719109709 | MDExOlB1bGxSZXF1ZXN0NzE5MTA5NzA5 | 321 | closed | 0 | Ability to insert file contents as text, in addition to blob | simonw 9599 | Refs #319. | 2021-08-24T22:37:18Z | 2021-08-24T23:31:17Z | 2021-08-24T23:31:13Z | 2021-08-24T23:31:13Z | 49a010c93d90bc68ce1c6fff7639927248912b54 | 0 | db2dd6d9f30b347f4ed22b07f59b5a615184fbfd | 9258f4bd8450c951900de998a7bf81ca9b45a014 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/321 | ||||
1608050242 | PR_kwDOCGYnMM5f2OZC | 604 | closed | 0 | Add more STRICT table support | tkhattra 16437338 | - https://github.com/simonw/sqlite-utils/issues/344#issuecomment-982014776 Make `table.transform()` preserve STRICT mode. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--604.org.readthedocs.build/en/604/ <!-- readthedocs-preview sqlite-utils end --> | 2023-11-19T19:38:53Z | 2023-12-08T05:17:20Z | 2023-12-08T05:05:27Z | 2023-12-08T05:05:27Z | 1500c19bd0f31b2e7f28a5ec2d7bfa133a2e4d4c | 0 | 61c6e26cf922c70b65b161473723ff9d869a04a5 | 9286c1ba432e890b1bb4b2a1f847b15364c1fa18 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/604 | ||||
887534558 | PR_kwDOCGYnMM405rPe | 419 | closed | 0 | Ignore common generated files | eyeseast 25778 | Closes #418 This adds four files to `.gitignore`: .hypothesis/ Pipfile Pipfile.lock pyproject.toml Those are all generated in the course of development and testing. | 2022-03-23T18:06:22Z | 2022-03-24T21:01:44Z | 2022-03-24T21:01:44Z | 2022-03-24T21:01:44Z | 396f80fcc60da8dd844577114f7920830a2e5403 | 0 | 228f73615cf993dd3caf3c240682c00392832bb8 | 93fa79d30b1531bea281d0eb6b925c4e61bc1aa6 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/419 | ||||
493162767 | MDExOlB1bGxSZXF1ZXN0NDkzMTYyNzY3 | 178 | closed | 0 | Update README.md | shakeel 19921 | The `sqlite-utils insert releases.db releases - --pk` is missing the pk field name, added ` "id"` to fix it. | 2020-09-25T15:52:11Z | 2020-10-01T14:18:30Z | 2020-09-30T20:29:28Z | 2020-09-30T20:29:28Z | cada1017edcfa691c2314d7ad1b7c7576495317f | 0 | 0c6a81dae802a55d5469c18cd32402d11b6e8a59 | 94fc62857ee2655a21d85f6dae84b67bbfa5956d | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/178 | ||||
1136499802 | PR_kwDOCGYnMM5DvZxa | 515 | closed | 0 | upsert new rows with constraints, fixes #514 | cldellow 193185 | This fixes #514 by making the initial insert for upserts include all columns, so that new rows can be added to tables with non-pkey columns that have constraints. (aside: I'm not a python programmer. `pip`? `pipenv`? `venv`? These are mystical incantations to me. The process to set up this repo for local development and testing was _so easy_. Thank you for the excellent contributing documentation!) <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--515.org.readthedocs.build/en/515/ <!-- readthedocs-preview sqlite-utils end --> | 2022-11-26T16:15:21Z | 2023-05-08T21:27:11Z | 2023-05-08T21:27:10Z | c3713ef6944cbeacf36e462712cecac2176db692 | 0 | 32f8173a8fe830c224e39a0a514cd12e78de7028 | 965ca0d5f5bffe06cc02cd7741344d1ddddf9d56 | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/515 | |||||
490703173 | MDExOlB1bGxSZXF1ZXN0NDkwNzAzMTcz | 166 | closed | 0 | Keyword only arguments for transform() | simonw 9599 | Refs #165 | 2020-09-22T05:41:44Z | 2020-09-22T06:39:11Z | 2020-09-22T06:39:11Z | 2020-09-22T06:39:10Z | f8e10df00eae209fb0a1ea03384d9153f673a3ec | 0 | f8648cac3a6dda90578a1536cdae44d145633a2c | 987dd123f2ac43c5ab66d69e59d454fe09660606 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/166 | ||||
1015591301 | PR_kwDOCGYnMM48iLGF | 462 | closed | 0 | Discord badge | simonw 9599 | Also testing fix for: - https://github.com/readthedocs/readthedocs-preview/issues/10 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--462.org.readthedocs.build/en/462/ <!-- readthedocs-preview sqlite-utils end --> | 2022-08-02T20:56:04Z | 2022-08-02T21:15:57Z | 2022-08-02T21:15:52Z | 2022-08-02T21:15:52Z | 271433fdd18e436b0a527ab899cb6f6fa67f23d0 | 0 | 0a14a031385f2647be0b9d15d96c1d44d05c2296 | 98a28cbfe6cea67f6334b42b74f35b0ddd309561 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/462 | ||||
247861419 | MDExOlB1bGxSZXF1ZXN0MjQ3ODYxNDE5 | 5 | closed | 0 | Run Travis tests against Python 3.8-dev | simonw 9599 | 2019-01-26T02:30:55Z | 2019-01-26T02:37:54Z | 2019-01-26T02:37:54Z | 2019-01-26T02:37:54Z | 3a944d0c077c203277f13dd69387eb84b5c88d3e | 0 | b2f81e86074526d6e4dc9e39e791deff195669de | 9a4d1ff0a268c7df7839389acd92d48752d24b95 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/5 | |||||
301824097 | MDExOlB1bGxSZXF1ZXN0MzAxODI0MDk3 | 51 | closed | 0 | Fix for too many SQL variables, closes #50 | simonw 9599 | 2019-07-28T11:30:30Z | 2019-07-28T11:59:32Z | 2019-07-28T11:59:32Z | 2019-07-28T11:59:32Z | 9cb045284ede8009c12abdb1755b5b20f6ccff5f | 0 | 0c1b8b7f96be874bb63801f69323960f277aa49a | 9b7be79c86b4283f24a64f62257c918f12542997 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/51 | |||||
1009936222 | PR_kwDOCGYnMM48Mmde | 457 | closed | 0 | Link to installation instructions | simonw 9599 | Also testing https://docs.readthedocs.io/en/stable/pull-requests.html | 2022-07-27T17:38:36Z | 2022-08-27T03:55:52Z | 2022-07-27T17:57:50Z | 2022-07-27T17:57:50Z | 77ca051d4f5ddbd42fd6250749efac7ea85ea094 | 3.29 8355157 | 0 | 80b3907471f724aeecae75796663815c87731e77 | 9e6cceac1c0e086429e2d308b700e59cc53a1991 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/457 | |||
337847573 | MDExOlB1bGxSZXF1ZXN0MzM3ODQ3NTcz | 64 | closed | 0 | test_insert_upsert_all_empty_list | simonw 9599 | 2019-11-07T04:24:45Z | 2019-11-07T04:32:38Z | 2019-11-07T04:32:38Z | 2019-11-07T04:32:38Z | 8dab9fd1ccf571e188eec9ccf606a0c50fccf200 | 0 | 8daea7f1265ddcce67d28258068a25666954000f | a0a65f9a6405079b01aefdbf4b5f507bc758567a | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/64 | |||||
672359609 | MDExOlB1bGxSZXF1ZXN0NjcyMzU5NjA5 | 277 | closed | 0 | add -h support closes #276 | mcint 601708 | This appears to be the [canonical solution](https://click.palletsprojects.com/en/7.x/documentation/#help-parameter-customization). | 2021-06-17T08:08:26Z | 2021-06-18T14:56:59Z | 2021-06-18T14:56:59Z | 2021-06-18T14:56:59Z | aa652b6afe43d2b40fabc7a513c3e68866e030a5 | 0 | abbd324a2178f09b19966ec36ab2f584d1824c59 | a19ce1a4d0048d389411cfe11a5dbe4c503720e1 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/277 | ||||
1038565427 | PR_kwDOCGYnMM4950Az | 473 | closed | 0 | Support entrypoints for `--load-extension` | simonw 9599 | Refs #470 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--473.org.readthedocs.build/en/473/ <!-- readthedocs-preview sqlite-utils end --> | 2022-08-27T05:53:59Z | 2022-08-27T05:55:52Z | 2022-08-27T05:55:47Z | 2022-08-27T05:55:47Z | 19dd077944429c1365b513d80cc71c605ae3bed3 | 0 | 72db599ae03fabe2e9f999999e258edc1a99ed59 | a46a5e3a9e03dcdd8c84a92e4a5dbfa02ba461fa | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/473 | ||||
297412464 | MDExOlB1bGxSZXF1ZXN0Mjk3NDEyNDY0 | 38 | closed | 0 | table.update() method | simonw 9599 | Refs #35 Still to do: - [x] Unit tests - [x] Switch to using `.get()` - [x] Better exceptions, plus unit tests for what happens if pk does not exist - [x] Documentation - [x] Ensure compound primary keys work properly - [x] `alter=True` support | 2019-07-14T17:03:49Z | 2019-07-28T15:43:51Z | 2019-07-28T15:43:51Z | 2019-07-28T15:43:51Z | 0747dabb24b608e8524de4858ce50c60ba7e471b | 0 | 16d7008002b43cf47a973791da93e5cdd5913fc3 | a6749cdf43229c4f7864c946496e9ac0141627d9 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/38 | ||||
816927546 | PR_kwDOCGYnMM4wsVM6 | 367 | closed | 0 | Initial prototype of .analyze() methods | simonw 9599 | Refs #366 | 2022-01-08T21:35:12Z | 2022-01-10T19:31:08Z | 2022-01-10T19:31:08Z | 2ffcbed6787523649dd676985f3ea70a62944764 | 3.21 7558727 | 1 | 9848eaa61b43de0ddb74ff6d085bcb18f4640f91 | a8f9cc6f64f299830834428509940d448b82b4ed | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/367 | ||||
657373726 | MDExOlB1bGxSZXF1ZXN0NjU3MzczNzI2 | 262 | closed | 0 | Ability to add descending order indexes | simonw 9599 | Refs #260 | 2021-05-29T04:51:04Z | 2021-05-29T05:01:42Z | 2021-05-29T05:01:39Z | 2021-05-29T05:01:39Z | 51d01da30d45c1fbc1e587e6046a933529cf915e | 0 | 50a4fb722d29c3e53f7b148a41aeda901d02a264 | b2302875c97f723e02cc39136d0b20fd706369aa | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/262 | ||||
817257851 | PR_kwDOCGYnMM4wtl17 | 377 | closed | 0 | `sqlite-utils bulk` command | simonw 9599 | Refs #375 Still needs: - [x] Refactor `@insert_upsert_options` so that it doesn't duplicate `@import_options` - [x] Tests - [x] Documentation - [x] Try it against a really big file | 2022-01-10T05:34:24Z | 2022-01-11T02:10:57Z | 2022-01-11T02:10:54Z | 2022-01-11T02:10:54Z | 129141572f249ea290e2a075437e2ebaad215859 | 3.21 7558727 | 0 | f4ea0d32c0543373eefaa9b9f3911eb07549eecb | b6dad08a8389736b7e960cfe9bc719cfc21a98f5 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/377 | |||
1272169404 | PR_kwDOCGYnMM5L08O8 | 531 | closed | 0 | Add paths for homebrew on Apple silicon | eyeseast 25778 | This also passes in the extension path when specified in GIS methods. Wherever we know an extension path, we use `db.init_spatialite(find_spatialite() or load_extension)`. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--531.org.readthedocs.build/en/531/ <!-- readthedocs-preview sqlite-utils end --> | 2023-03-11T22:27:52Z | 2023-04-09T01:49:44Z | 2023-04-09T01:49:43Z | 24f3eb082b98b8d676bab2eab4f763cd9b50fe96 | 0 | afdf6187716b19fce8692f6887a1d45c85477fee | c0251cc9271260de73b4227859a51fab9b4cb745 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/531 | |||||
1306498393 | PR_kwDOCGYnMM5N35VZ | 536 | closed | 0 | Add paths for homebrew on Apple silicon | eyeseast 25778 | Does what it says and nothing else. This is the same set of paths as Datasette uses. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--536.org.readthedocs.build/en/536/ <!-- readthedocs-preview sqlite-utils end --> | 2023-04-08T13:34:21Z | 2023-04-13T01:44:43Z | 2023-04-13T01:44:43Z | 2023-04-13T01:44:43Z | 8f9a729e8aff972cb18de25b40f4113e26bbc758 | 0 | cea05dc5eab8d10fbd8943e615d2ab0dceff863c | c0251cc9271260de73b4227859a51fab9b4cb745 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/536 | ||||
1311438738 | PR_kwDOCGYnMM5OKveS | 537 | closed | 0 | Support self-referencing FKs in `Table.create` | numist 544011 | <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--537.org.readthedocs.build/en/537/ <!-- readthedocs-preview sqlite-utils end --> | 2023-04-12T20:26:58Z | 2023-05-08T22:45:33Z | 2023-05-08T21:10:01Z | 2023-05-08T21:10:01Z | 39ef137e6760d385dc48d03eccf9b89943636fc7 | 0 | a75abeb61b91a28650d3b9933e7ec80ad0d92529 | c0251cc9271260de73b4227859a51fab9b4cb745 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/537 | ||||
255658112 | MDExOlB1bGxSZXF1ZXN0MjU1NjU4MTEy | 12 | closed | 0 | Support for numpy types, closes #11 | simonw 9599 | 2019-02-24T03:57:32Z | 2019-02-24T04:02:20Z | 2019-02-24T04:02:20Z | 2019-02-24T04:02:20Z | e615d22c5564ea1f32abb086088b2700110be10a | 0 | 7c20e60685088d6da0739749305215790ca8375a | c5068a0972651b3e359ebc2d6c1486b8b7d2c242 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/12 | |||||
537791675 | MDExOlB1bGxSZXF1ZXN0NTM3NzkxNjc1 | 208 | closed | 0 | sqlite-utils analyze-tables command and table.analyze_column() method | simonw 9599 | Refs #207 - [x] Improve design of CLI output - [x] Truncate long values in least/most common - [x] Add a `-c` column selection option - [x] Tests - [x] Documentation | 2020-12-12T05:27:49Z | 2020-12-13T07:20:16Z | 2020-12-13T07:20:12Z | 2020-12-13T07:20:12Z | 69a121e08847acbf95abf0c2df1759fc73dc81b8 | 0 | 95a966bb6216215d40d0016d673a28b04428db43 | c5f4f0f70ce394dfec6054c3c5aaedf330887093 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/208 | ||||
1034485141 | PR_kwDOCGYnMM49qP2V | 468 | closed | 0 | db[table].create(..., transform=True) and create-table --transform | simonw 9599 | Work in progress. Still needs documentation and tests (and to cover more cases of things that might have changed). Refs: - #467 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--468.org.readthedocs.build/en/468/ <!-- readthedocs-preview sqlite-utils end --> | 2022-08-23T17:27:58Z | 2022-08-27T23:17:55Z | 2022-08-27T23:17:55Z | 2022-08-27T23:17:55Z | 104f37fa4d2e7e5999c1d829267b62c737f74d3e | 3.29 8355157 | 0 | 2f6a64f61d561df821d737719941c678dcb1a03c | c5f8a2eb1a81a18b52825cc649112f71fe419b12 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/468 | |||
510956134 | MDExOlB1bGxSZXF1ZXN0NTEwOTU2MTM0 | 190 | closed | 0 | Progress bar for sqlite-utils insert command | simonw 9599 | Refs #173 | 2020-10-27T18:08:53Z | 2020-10-27T18:16:03Z | 2020-10-27T18:16:03Z | 2020-10-27T18:16:03Z | f99a23652910b03ac4669bbbb35a9b484451aabb | 0 | 62d678122a251812cd650845705ca7b9efcef86d | c7e5dd64513c0ec2b2df4c51c8df924c282417f9 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/190 | ||||
700944644 | MDExOlB1bGxSZXF1ZXN0NzAwOTQ0NjQ0 | 303 | closed | 0 | sqlite-utils convert command and db[table].convert(...) method | simonw 9599 | Refs #251, #302. - [x] Get recipes working - [x] Document recipes - [x] Implement `db[table].convert(...)` method - [x] Add tests for recipes that use the new Python method - [x] Implement `db[table].convert(..., multi=True)` mechanism - [x] Documentation for `db[table].convert(...)` - [x] Refactor `sqlite-utils convert` to use the new method | 2021-08-01T16:52:42Z | 2021-08-02T04:47:42Z | 2021-08-02T04:47:39Z | 2021-08-02T04:47:39Z | 5ec6686153e29ae10d4921a1ad4c841f192f20e2 | 0 | 4c3bf9730542f1e49cbf11a61dbdb7fd621453df | c7e8d72be9fe8fe0811f685a18eebc637662d41b | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/303 | ||||
313007483 | MDExOlB1bGxSZXF1ZXN0MzEzMDA3NDgz | 56 | closed | 0 | Escape the table name in populate_fts and search. | amjith 49260 | The table names weren't escaped using double quotes in the populate_fts method. Reproducible case: ``` >>> import sqlite_utils >>> db = sqlite_utils.Database("abc.db") >>> db["http://example.com"].insert_all([ ... {"id": 1, "age": 4, "name": "Cleo"}, ... {"id": 2, "age": 2, "name": "Pancakes"} ... ], pk="id") <Table http://example.com (id, age, name)> >>> db["http://example.com"].enable_fts(["name"]) Traceback (most recent call last): File "<input>", line 1, in <module> db["http://example.com"].enable_fts(["name"]) File "/home/amjith/.virtualenvs/itsysearch/lib/python3.7/site-packages/sqlite_utils/db.py", l ine 705, in enable_fts self.populate_fts(columns) File "/home/amjith/.virtualenvs/itsysearch/lib/python3.7/site-packages/sqlite_utils/db.py", l ine 715, in populate_fts self.db.conn.executescript(sql) sqlite3.OperationalError: unrecognized token: ":" >>> ``` | 2019-09-01T06:29:05Z | 2019-09-02T17:23:21Z | 2019-09-02T17:23:21Z | 79852e97ecb69b88da87da0cba2a55887cf83bda | 0 | 83ca4c802f5d5102e73ff366e61514ded81dc7a1 | cb70f7d10996b844154bf3da88779dd1f65590bc | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/56 | |||||
313105634 | MDExOlB1bGxSZXF1ZXN0MzEzMTA1NjM0 | 57 | closed | 0 | Add triggers while enabling FTS | amjith 49260 | This adds the option for a user to set up triggers in the database to keep their FTS table in sync with the parent table. Ref: https://sqlite.org/fts5.html#external_content_and_contentless_tables I would prefer to make the creation of triggers the default behavior, but that will break existing usage where people have been calling `populate_fts` after inserting new rows. I am happy to make changes to the PR as you see fit. | 2019-09-02T04:23:40Z | 2019-09-03T01:03:59Z | 2019-09-02T23:42:29Z | 2019-09-02T23:42:29Z | 405e092d5916e70df10f82d15e9c052aa9ee8d80 | 0 | e01943271b17115fbe0e81d523126d2fb1c7c24b | cb70f7d10996b844154bf3da88779dd1f65590bc | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/57 | ||||
247576942 | MDExOlB1bGxSZXF1ZXN0MjQ3NTc2OTQy | 4 | closed | 0 | Fts5 | simonw 9599 | 2019-01-25T06:54:05Z | 2019-01-25T06:54:33Z | 2019-01-25T06:54:33Z | 2019-01-25T06:54:33Z | 42b2b4b785e3163371e92a9cc085bc47e7c83107 | 0 | 7f205d2308443557bcaec497b3d0badc0dc26f06 | ccb2a1e729780689188005a52c362b7e963f71e8 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/4 | |||||
445833908 | MDExOlB1bGxSZXF1ZXN0NDQ1ODMzOTA4 | 120 | closed | 0 | Fix query command's support for DML | tsibley 79913 | See commit messages for details. I ran into this while investigating another feature/issue. | 2020-07-08T01:36:34Z | 2020-07-08T05:14:04Z | 2020-07-08T05:14:04Z | 2020-07-08T05:14:04Z | f8277d0fb9c05a88a9ff01d996e31d55f0f0a645 | 0 | 6a660d12a27864d6ab552e11eef9fd13bc281198 | d0cdaaaf00249230e847be3a3b393ee2689fbfe4 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/120 | ||||
1082769953 | PR_kwDOCGYnMM5AicIh | 498 | closed | 0 | fix: enable-fts permanently save triggers | chapmanjacobd 7908073 | I was wondering why my all my databases were giving wild search results. Turns out create_trigger was not sticking! Running `sqlite-utils triggers x.db` shows `[]` after running `enable-fts` using the python api. Looking at the counts trigger it seems that is the right way to save triggers. triggers show up now <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--498.org.readthedocs.build/en/498/ <!-- readthedocs-preview sqlite-utils end --> | 2022-10-11T05:10:51Z | 2022-10-15T04:33:08Z | 2022-10-11T06:34:31Z | ab24d21e9c2aa9c514c3b65f05cfc0bafa7621c1 | 0 | 75577e595d9177177a48030a1c39573af010df51 | d792dad1cf5f16525da81b1e162fb71d469995f3 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/498 | |||||
1083804914 | PR_kwDOCGYnMM5AmYzy | 499 | open | 0 | feat: recreate fts triggers after table transform | chapmanjacobd 7908073 | https://github.com/simonw/sqlite-utils/pull/498 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--499.org.readthedocs.build/en/499/ <!-- readthedocs-preview sqlite-utils end --> alternatively, `self.disable_fts()` | 2022-10-11T20:35:39Z | 2022-10-26T17:54:51Z | 6c71562a7a21ab93541a14453961ce3d6abca3cc | 0 | a25e83841f2703afb08aff4589cb559ae9060776 | d792dad1cf5f16525da81b1e162fb71d469995f3 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/499 | ||||||
1050417981 | PR_kwDOCGYnMM4-nBs9 | 486 | closed | 0 | progressbar for inserts/upserts of all fileformats, closes #485 | MischaU8 99098079 | <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--486.org.readthedocs.build/en/486/ <!-- readthedocs-preview sqlite-utils end --> | 2022-09-08T14:58:02Z | 2022-09-15T20:40:03Z | 2022-09-15T20:37:51Z | 2022-09-15T20:37:51Z | 0b315d3fa83c1584eaeec32f24912898621e437a | 0 | d5db749480aaf8518e611ff55da186cadf6c63bc | d9b9e075f07a20f1137cd2e34ed5d3f1a3db4ad8 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/486 | ||||
357992588 | MDExOlB1bGxSZXF1ZXN0MzU3OTkyNTg4 | 72 | closed | 0 | Fixed implementation of upsert | simonw 9599 | Refs #66 | 2019-12-30T05:08:05Z | 2019-12-30T05:29:24Z | 2019-12-30T05:29:24Z | 2019-12-30T05:29:24Z | 9f47e8b9a4cb788b48b76aee1333c6f3baaebbd6 | 0 | ab8a4bda75fc59871ba8445c6a0fb2332483029c | dc0a62556ec092be7b341c5220e0410354f7cd02 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/72 | ||||
475874493 | MDExOlB1bGxSZXF1ZXN0NDc1ODc0NDkz | 146 | closed | 0 | Handle case where subsequent records (after first batch) include extra columns | simonwiles 96218 | Addresses #145. I think this should do the job. If it meets with your approval I'll update this PR to include an update to the documentation -- I came across this bug while preparing a PR to update the documentation around `batch_size` in any event. | 2020-08-30T07:13:58Z | 2020-09-08T23:20:37Z | 2020-09-08T23:20:37Z | 2020-09-08T23:20:36Z | e6d202b742a7b531fffa593703d34f8337632d68 | 0 | 40fcea41525682fdc2f601da787b29d5a8517dcd | deb2eb013ff85bbc828ebc244a9654f0d9c3139e | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/146 | ||||
1358254580 | PR_kwDOCGYnMM5Q9VH0 | 546 | closed | 0 | Analyze tables options: --common-limit, --no-most, --no-least | simonw 9599 | Refs #544 - [x] Documentation for CLI options - [x] Documentation for new Python API parameters: `most_common: bool` and `least_common: bool` - [x] Tests for CLI - [x] Tests for Python API | 2023-05-21T15:54:39Z | 2023-05-21T16:19:30Z | 2023-05-21T16:19:30Z | 2023-05-21T16:19:30Z | d2a7b15b2b930fe384e1f1715fc4af23386f4935 | 0 | 2eca17d46eca2cff52c78553085ec64d9029c969 | e047cc32e9d5de7025d4d3c16554d4290f4bd3d1 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/546 | ||||
303990683 | MDExOlB1bGxSZXF1ZXN0MzAzOTkwNjgz | 53 | closed | 0 | Work in progress: m2m() method for creating many-to-many records | simonw 9599 | - [x] `table.insert({"name": "Barry"}).m2m("tags", lookup={"tag": "Coworker"})` - [x] Explicit table name `.m2m("humans", ..., m2m_table="relationships")` - [x] Automatically use an existing m2m table if a single obvious candidate exists (a table with two foreign keys in the correct directions) - [x] Require the explicit `m2m_table=` argument if multiple candidates for the m2m table exist - [x] Documentation Refs #23 | 2019-08-03T10:03:56Z | 2019-08-04T03:38:10Z | 2019-08-04T03:37:33Z | 2019-08-04T03:37:33Z | 4c0912dbf27b12071aca9569bcf7233e60f91c7c | 0 | 243bcaa1acd32a173c07b24dca553991493005a0 | e1021030dd2d8d4705ad0e7bae389eeaea7fa17b | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/53 | ||||
300377599 | MDExOlB1bGxSZXF1ZXN0MzAwMzc3NTk5 | 47 | closed | 0 | extracts= table parameter | simonw 9599 | Still needs docs. Refs #46 | 2019-07-23T16:30:29Z | 2019-07-23T17:00:43Z | 2019-07-23T17:00:43Z | 2019-07-23T17:00:43Z | 941d281aee6eac20ad64b505511da7e47f697700 | 0 | 1c9d08f75a48b2a3770f2a880462dc8b195289b7 | e22cfcd953f967f6e9551b3a048d7c40726f349b | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/47 | ||||
1358321208 | PR_kwDOCGYnMM5Q9lY4 | 553 | closed | 0 | Reformatted CLI examples in docs | simonw 9599 | Refs: - #551 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--553.org.readthedocs.build/en/553/ <!-- readthedocs-preview sqlite-utils end --> | 2023-05-21T20:44:34Z | 2023-05-21T20:57:27Z | 2023-05-21T20:57:23Z | 2023-05-21T20:57:22Z | d8fe1b0d899faaaa3d4714a39328f4c24932278f | 0 | 21036a5084a2c846a05feb6bced3111d849bbe3c | e240133b11588d31dc22c632f7a7ca636c72978d | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/553 | ||||
925807233 | PR_kwDOCGYnMM43LrKB | 429 | closed | 0 | Depend on click-default-group-wheel | simonw 9599 | Trying to get this to work with Pyodide. Refs: https://github.com/simonw/click-default-group-wheel/issues/3 | 2022-05-02T18:03:10Z | 2022-05-02T18:52:42Z | 2022-05-02T18:05:00Z | 2022-05-02T18:05:00Z | ed6fd516082e8cc83b199798f62dd67728a6974f | 0 | 4a02dcf265702a4f11eed943bf8feaa502c590d5 | e3a14c33a033b0c2fc00f2470666caaf9027e446 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/429 | ||||
510235909 | MDExOlB1bGxSZXF1ZXN0NTEwMjM1OTA5 | 189 | closed | 0 | Allow iterables other than Lists in m2m records | adamwolf 35681 | I was playing around with sqlite-utils, creating a Roam Research dogsheep-style importer for Datasette, and ran into a slight snag. I wanted to use a generator to add an order column in an importer. It looked something like: ``` def order_generator(iterable, attr=None): if attr is None: attr = "order" order: int = 0 for i in iterable: i[attr] = order order += 1 yield i ``` When I used this with `insert_all` and other things, it worked fine--but it didn't work as the `records` argument to `m2m`. I dug into it, and sqlite-utils is explicitly checking if the records argument is a list or a tuple. I flipped the check upside down, and now it checks if the argument is a mapping. If it's a mapping, it wraps it in a list, otherwise it leaves it alone. (I get that it might not really make sense to put the order column on the second table. I changed my import schema a bit, and no longer have a real example, but maybe this change still makes sense.) The automated tests still pass, but I did not add any new ones. Let me know what you think! I'm really loving Datasette and its ecosystem; thanks for everything! | 2020-10-26T18:47:44Z | 2020-10-27T16:28:37Z | 2020-10-27T16:24:21Z | 2020-10-27T16:24:21Z | f045d8559a6d2cb922a2de30fbcc896a4486b82f | 0 | 93230b2acb61635b6d5070ad9c65e7221c63b75a | e4f1c7b936981de29823730c5dbef4f4ba7a4286 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/189 | ||||
853484980 | PR_kwDOCGYnMM4y3yW0 | 407 | closed | 0 | Add SpatiaLite helpers to CLI | eyeseast 25778 | Closes #398 This adds SpatiaLite helpers to the CLI. ```sh # init spatialite when creating a database sqlite-utils create database.db --enable-wal --init-spatialite # add geometry columns # needs a database, table, geometry column name, type, with optional SRID and not-null # this will throw an error if the table doesn't already exist sqlite-utils add-geometry-column database.db table-name geometry --srid 4326 --not-null # spatial index an existing table/column # this will throw an error it the table and column don't exist sqlite-utils create-spatial-index database.db table-name geometry ``` Docs and tests are included. | 2022-02-15T16:50:17Z | 2022-02-16T01:49:40Z | 2022-02-16T00:58:08Z | 2022-02-16T00:58:07Z | a692c56659c3563b26dcdc9e3534d63ecc26e180 | 0 | a974da591915e0548182bbbf01da34ecb9e537e6 | e7f040106b5f5a892ebd984f19b21c605e87c142 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/407 | ||||
1358282799 | PR_kwDOCGYnMM5Q9cAv | 549 | closed | 0 | TUI powered by Trogon | simonw 9599 | Refs: - #545 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--549.org.readthedocs.build/en/549/ <!-- readthedocs-preview sqlite-utils end --> | 2023-05-21T17:55:42Z | 2023-05-21T18:42:00Z | 2023-05-21T18:41:56Z | 2023-05-21T18:41:56Z | 718b0cba9b32d97a41bcf9757c97fe1d058da81c | 0 | 948692a94b22852b3147abebac9d719b69320b57 | e8c5b042e49c627aefd620c8d4b1c84eb8677f73 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/549 | ||||
475665984 | MDExOlB1bGxSZXF1ZXN0NDc1NjY1OTg0 | 142 | closed | 0 | insert_all(..., alter=True) should work for new columns introduced after the first 100 records | simonwiles 96218 | Closes #139. | 2020-08-28T22:22:57Z | 2020-08-30T07:28:23Z | 2020-08-28T22:30:14Z | 2020-08-28T22:30:14Z | 947bb7626fd1763608a470adf9cf5f156ef003e9 | 0 | 1b992c7c1e5855caa87c7939efad287052f446f3 | ea87c2b943fdd162c42a900ac0aea5ecc2f4b9d9 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/142 | ||||
707490789 | MDExOlB1bGxSZXF1ZXN0NzA3NDkwNzg5 | 312 | closed | 0 | Add reference page to documentation using Sphinx autodoc | simonw 9599 | Refs #311. | 2021-08-10T16:59:17Z | 2021-08-10T23:09:32Z | 2021-08-10T23:09:28Z | 2021-08-10T23:09:28Z | 6155da72c8939b5d9bdacb7853e5e8d1767ce1d5 | 0 | 43bc06481783c3cfcee70c0cb541a686e8894adb | ee469e3122d6f5973ec2584c1580d930daca2e7c | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/312 | ||||
490607949 | MDExOlB1bGxSZXF1ZXN0NDkwNjA3OTQ5 | 161 | closed | 0 | table.transform() method | simonw 9599 | Refs #114 - [x] Ability to change the primary key - [x] Support for changing default value for columns - [x] Support for changing `NOT NULL` status of columns - [x] Support for copying existing foreign keys and removing them - <strike>Support for `conversions=` parameter</strike> - [x] Detailed documentation - [x] `PRAGMA foreign_keys` stuff | 2020-09-21T23:16:59Z | 2020-09-22T07:48:24Z | 2020-09-22T04:20:02Z | 2020-09-22T04:20:02Z | 987dd123f2ac43c5ab66d69e59d454fe09660606 | 2.20 5897911 | 0 | dc3eb9c313502832c07f4de889aa60c373f45b52 | ef882986d07f157b6bcc6be3d7b64270fda3e523 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/161 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [pull_requests] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [state] TEXT, [locked] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [body] TEXT, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [merged_at] TEXT, [merge_commit_sha] TEXT, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [draft] INTEGER, [head] TEXT, [base] TEXT, [author_association] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [url] TEXT, [merged_by] INTEGER REFERENCES [users]([id]) , [auto_merge] TEXT); CREATE INDEX [idx_pull_requests_merged_by] ON [pull_requests] ([merged_by]); CREATE INDEX [idx_pull_requests_repo] ON [pull_requests] ([repo]); CREATE INDEX [idx_pull_requests_milestone] ON [pull_requests] ([milestone]); CREATE INDEX [idx_pull_requests_assignee] ON [pull_requests] ([assignee]); CREATE INDEX [idx_pull_requests_user] ON [pull_requests] ([user]);