pull_requests
206 rows where user = 9599
This data as json, CSV (advanced)
Suggested facets: number, state, title, updated_at, milestone, draft, base, author_association, repo, created_at (date), updated_at (date), closed_at (date)
body 168 ✖
- - 36
- Refs #744 2
- * Split out view classes from main `app.py` * Run [black](https://github.com/ambv/black) against resulting code to apply opinionated source code formatting * Run [isort](https://github.com/timothycrosley/isort) to re-order my imports Refs #256 1
- - #2164 TODO: - [x] Automated tests - [ ] Documentation - [x] Make sure `DATASETTE_LOAD_PLUGINS=''` works for loading zero plugins 1
- - Remove all references to versioneer - Re-implement versioning to use a static string baked into the repo - Ensure that string is output by `datasette --version` and `/-/versions` Refs #1054 1
- - [x] Remove the `/-/...blob/...` route I added in #1040 in place of the new `.blob` renderer URLs - [x] Link to new `.blob` download links on the arbitrary query page (using `_blob_hash=...`) - plus tests for this Closes #1050, Closes #1051 1
- - [x] Rename `_rows_and_columns.html` to `_table.html` - [x] Unit test - [x] Documentation 1
- - [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 1
- - [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 1
- Also added a lint unit test to ensure they stay sorted. #516 1
- 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 --> 1
- Also testing https://docs.readthedocs.io/en/stable/pull-requests.html 1
- Closes #1064, refs #690. 1
- Closes #12 and #23 1
- Closes #1289, refs #1212. 1
- Closes #1735, closes #1733 1
- Closes #1802 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/ <!-- readthedocs-preview datasette end --> 1
- Closes #352. 1
- Closes #59 1
- Closes #629 1
- Closes #649. 1
- Closes #676 1
- Closes #7 1
- Closes #744 1
- Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI. 1
- Fixes #570 1
- From https://atchai.com/blog/faster-ci/ - refs #323 1
- I need this for `geojson-to-sqlite`, in particular https://github.com/simonw/geojson-to-sqlite/issues/6 1
- I'm starting a PR with almost nothing in it so I can use the GitHub code commenting feature to add a bunch of comments to the code I intend to refactor. Related issues: - #617 - #715 - #870 - #1518 1
- I've been hesitating on this for literally months, because I'm not at all excited about the giant diff that will result. But I've been using black on many of my other projects (most actively [sqlite-utils](https://github.com/simonw/sqlite-utils)) and the productivity boost is undeniable: I don't have to spend a single second thinking about code formatting any more! So it's worth swallowing the one-off pain and moving on in a new, black-enabled world. 1
- Implementation for #842 TODO: - [x] Add tests for built-in magic parameters - [x] Magic parameters should not show up as blank form fields on the query page - [x] Update documentation for new `_request_X` (now called `_header_X`) implementation where X is a key from the ASGI scope - [x] Make sure these only work for canned queries, not for arbitrary SQL queries (security issue) - [x] Add test for the `register_magic_parameters` plugin hook - [x] Add documentation for the `register_magic_parameters` plugin hook 1
- Most of the code here was fleshed out in comments on #272 (Port Datasette to ASGI) - this pull request will track the final pieces: - [x] Update test harness to more correctly simulate the `raw_path` issue - [x] Use `raw_path` so table names containing `/` can work correctly - [x] Bug: JSON not served with correct content-type - [x] Get ?_trace=1 working again - [x] Replacement for `@app.listener("before_server_start")` - [x] Bug: `/fixtures/table%2Fwith%2Fslashes.csv?_format=json` downloads as CSV - [x] Replace Sanic request and response objects with my own classes, so I can remove Sanic dependency - [x] Final code tidy-up before merging to master 1
- Needed for #622 1
- Needs tests. Refs #4. 1
- New plugin hook, refs #473 Used it to extract the logic from TableView that handles _search and _through and _where - refs #1518 1
- Now available as a wheel: - https://github.com/click-contrib/click-default-group/issues/21 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2173.org.readthedocs.build/en/2173/ <!-- readthedocs-preview datasette end --> 1
- Older SQLite versions return a different set of columns from the PRAGMA we are using. 1
- Output looks something like this: { "rowid": 233, "TreeID": 121240, "qLegalStatus": { "value" 2, "label": "Private" } "qSpecies": { "value": 16, "label": "Sycamore" } "qAddress": "91 Commonwealth Ave", ... } 1
- Pull request implementing #394 1
- 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` 1
- Refs #1036. Still needs: - [x] Comprehensive tests across all of the code branches, plus permissions - [x] A bit more refactoring to share logic cleanly with `RowView` - ~~A configuration option to disable this feature (probably)~~ 1
- Refs #1042 1
- Refs #1081 1
- Refs #1116. My first attempt at this worked on my laptop but broke in CI, so I'm going to iterate on it in a pull request instead. 1
- Refs #1119 1
- 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 1
- Refs #1167 1
- Refs #1191 Next steps: - [ ] Get comfortable that this pattern is the right way to go - [ ] Implement it for all of the other pages, not just the table page - [ ] Add a new set of plugin tests that exercise ALL of these new hook locations - [ ] Document, then ship 1
- Refs #1201 1
- Refs #122 1
- Refs #1238. 1
- Refs #1270, #1268, #1249 Before merging this I need to do some more testing (to make sure that expensive queries really are properly cancelled). I also need to delete a bunch of code relating to the old mechanism of cancelling queries. [See comment below: this doesn't actually cancel the query due to a thread-local confusion] 1
- Refs #1293, follows #942. 1
- Refs #14 1
- Refs #1417. 1
- Refs #1439. - [x] Build `dash_encode` / `dash_decode` functions - [x] Use dash encoding for row primary keys - [x] Use dash encoding for `?_next=` pagination tokens - [x] Use dash encoding for table names in URLs - [x] Use dash encoding for database name - ~~Implement redirects from previous `%` URLs that replace those with `-`~~ - separate issue: #1650 1
- Refs #1488 1
- Refs #150. Needs tests and documentation, including for the new `db.execute()` and `db.executescript()` methods. 1
- Refs #1621 1
- Refs #1625 1
- Refs #1636 - [x] Documentation - [ ] Implementation - [ ] Validate metadata to check there are no nonsensical permissions (like `debug-menu` set at the table level) - [ ] Tests <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1938.org.readthedocs.build/en/1938/ <!-- readthedocs-preview datasette end --> 1
- Refs #165 1
- Refs #1657 1
- Refs #1661. 1
- Refs #173 1
- Refs #1822 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1823.org.readthedocs.build/en/1823/ <!-- readthedocs-preview datasette end --> 1
- Refs #1829 - [x] Fix table page - [x] Fix database page - [x] Fix query page - [x] Fix row page - [x] Tests - [x] Updated documentation for `check_visibility` method, to cover the new `permissions=` keyword argument Also this fix is currently only applied on the table page - needs to be applied on database, row and query pages too. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1842.org.readthedocs.build/en/1842/ <!-- readthedocs-preview datasette end --> 1
- Refs #1878 Still todo: - [x] Support `"return": true` properly for upserts (with tests) - [x] Require both `insert-row` and `update-row` permissions - [x] Tests are going to need to cover both rowid-only and compound primary key tables, including all of the error states - [x] Documentation <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1931.org.readthedocs.build/en/1931/ <!-- readthedocs-preview datasette end --> 1
- Refs #192. Still needs tests. 1
- Refs #1939 From this comment: https://github.com/simonw/datasette/issues/1939#issuecomment-1343872168 - [x] Unit test for the registration plugin hook itself - [x] Use them in `check_permission_actions_are_documented` test in `conftest.py` - [x] Add description field to `Permissions` (and update tests and docs) - [x] Documentation for `datasette.permissions` dictionary - [x] If no `default=` provided in call to `permission_allowed()` then use default from `datasette.permissions` list - [x] Remove `default=` from a bunch of places - [x] Throw an error if two permissions are registered with the same name or abbreviation (but other attributes differ) - [x] Update authentication and permissions documentation to explain that permissions are now registered and have a registered default <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1940.org.readthedocs.build/en/1940/ <!-- readthedocs-preview datasette end --> 1
- Refs #1971 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1984.org.readthedocs.build/en/1984/ <!-- readthedocs-preview datasette end --> 1
- 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 1
- Refs #211 1
- Refs #215 1
- Refs #232 1
- Refs #239. Still needs documentation and CLI implementation. 1
- 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 1
- Refs #255 1
- Refs #260 1
- Refs #266 1
- 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 1
- Refs #283. Still needs: - [x] Unit test for --crossdb queries - [x] Show warning on console if it truncates at ten databases (or on web interface) - [x] Show connected databases on the `/_memory` database page - [x] Documentation - [x] https://latest.datasette.io/ demo should demonstrate this feature 1
- Refs #31. Still TODO: - [x] Unit tests - [x] Documentation 1
- Refs #311. 1
- Refs #319. 1
- Refs #33 - [x] `sqlite-utils index-foreign-keys` command - [x] `db.index_foreign_keys()` method - [x] unit tests - [x] documentation 1
- Refs #346 and #344. 1
- 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 1
- Refs #356 Still TODO: - [x] Get `--lines` working, with tests - [x] Get `--text` working, with tests - [x] Get regular JSON import working with `--convert` with tests - [x] Get `--lines` working with `--convert` with tests - [x] Get `--text` working with `--convert` with tests - [x] Get `--csv` and `--tsv` import working with `--convert` with tests - [x] Get `--nl` working with `--convert` with tests - [x] Documentation for all of the above 1
- Refs #366 1
- 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 1
- Refs #417. 1
- Refs #417. Run it like this: datasette -d ~/Library Uses a new plugin hook - available_databases() 1
- Refs #464 1
- 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 --> 1
- Refs #510 1
- Refs #511 1
- Refs #538 1
- Refs #541 1
- Refs #543 - [x] Zeit Now v1 support - [x] Solve escaping of ENV in Dockerfile - [x] Heroku support - [x] Unit tests - [x] Cloud Run support - [x] Documentation 1
- 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 1
- Refs #577 1
- Refs #597 1
- Refs #600 1
- Refs #619 1
- Refs #622 1
- Refs #628. Still needs documentation. 1
- Refs #648. TODO: - [x] Pass a `view_name` to `render_template()` - [x] Mechanism for custom status code / headers / redirect - [x] Documentation 1
- Refs #66 1
- Refs #685 Still TODO: - [x] Implement `results.first()` - [x] Implement `results.single_value()` - [x] Unit tests for the above 1
- Refs #698. 1
- Refs #698. Replaces #703 Still todo: - [x] Unit tests - ~~Figure out `.json` mode~~ - [x] Flash message solution - ~~CSRF protection~~ - [x] Better error message display on errors - [x] Documentation - ~~Maybe widgets?~~ I'll do these later 1
- Refs #713. Still needs tests and documentation. 1
- Refs #731 TODO: - [x] Decide how to combine explicit command-line options with items detected from the directory structure - [x] Add unit tests - [x] Implement `inspect-data.json` mechanism for populating `immutables` - [x] Add documentation 1
- Refs #771 1
- Refs #787. Will need quite a bit of manual testing since this involves code which runs against Heroku and Cloud Run. 1
- Refs #793 1
- Refs #800. Closes #786 1
- Refs #843 1
- Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism. 1
- Refs #926, #898 1
- Refs #935 1
- Refs #940 1
- Refs #942 Still needs: - [x] Tests - [x] Documentation 1
- Refs #943 1
- Refs: - #2078 TODO: - [x] Teach router layer how to handle this - [x] Use it for something <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2080.org.readthedocs.build/en/2080/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #1789 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #1959 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1960.org.readthedocs.build/en/1960/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #2049 TODO: - [x] Read queries JSON - Implement error display with `"ok": false` and an errors key - Read queries HTML - Read queries other formats (plugins) - Canned read queries (dispatched to from table) - Write queries (a canned query thing) - Implement different shapes, refactoring to share code with table - Implement a sensible subset of extras, also refactoring to share code with table - Get all tests passing <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #2102 Also includes a prototype implementation of `--actor option` which I'm using for testing this, from: - #2153 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2154.org.readthedocs.build/en/2154/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #2180 This plugin hook is feature complete - including documentation and tests. I'm not going to land it in Datasette `main` until we've used it at least once though, which should happen promptly in development for [Datasette Cloud](https://www.datasette.cloud/). <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2181.org.readthedocs.build/en/2181/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #2189 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2192.org.readthedocs.build/en/2192/ <!-- readthedocs-preview datasette end --> 1
- Refs: - #262 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1999.org.readthedocs.build/en/1999/ <!-- readthedocs-preview datasette end --> 1
- 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 --> 1
- 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 --> 1
- 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 --> 1
- 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 --> 1
- 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 --> 1
- See #1442. 1
- See #189 1
- See #306 for background on this. 1
- See #54 1
- See #569 1
- See #615. Still to do: - [x] Allow combination of `?_col=` and `?_nocol=` (`_nocol` wins) - [x] Deduplicate same column if passed in `?_col=` multiple times - [x] Validate that user did not try to remove a primary key - [x] Add tests - [x] Ensure this works correctly for SQL views - [x] Add documentation 1
- See #682 - [x] Come up with design for `.execute_write()` and `.execute_write_fn()` - [x] Build some quick demo plugins to exercise the design - [x] Write some unit tests - [x] Write the documentation 1
- See #699 1
- See http://jinja.pocoo.org/docs/2.10/api/#async-support Tests all pass. Have not checked performance difference yet. Creating pull request to run tests in Travis. This is not ready to merge - I'm not yet sure if this is a good idea. 1
- See https://iscinumpy.dev/post/bound-version-constraints/ <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1801.org.readthedocs.build/en/1801/ <!-- readthedocs-preview datasette end --> 1
- See: - #1892 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1912.org.readthedocs.build/en/1912/ <!-- readthedocs-preview datasette end --> 1
- Should mean `datasette publish heroku` can work under Travis, unlike this failure: https://travis-ci.org/simonw/fivethirtyeight-datasette/builds/488047550 ``` 2.25s$ datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette tar: unrecognized option '--exclude-vcs-ignores' Try 'tar --help' or 'tar --usage' for more information. ▸ Command failed: tar cz -C /tmp/tmpuaxm7i8f --exclude-vcs-ignores --exclude ▸ .git --exclude .gitmodules . > ▸ /tmp/f49440e0-1bf3-4d3f-9eb0-fbc2967d1fd4.tar.gz ▸ tar: unrecognized option '--exclude-vcs-ignores' ▸ Try 'tar --help' or 'tar --usage' for more information. ▸ The command "datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette" exited with 0. ``` The fix for that issue is to call the heroku command like this: heroku builds:create -a app_name --include-vcs-ignore 1
- Since Datasette now requires Python 3.6, how about some f-strings? I ran this in the `datasette` root checkout: ``` pip install flynt flynt . black . ``` 1
- Still needs docs. Refs #46 1
- Takes my test down from ten minutes to four seconds. Refs #172. 1
- Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333 1
- This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the "datasette publish" command family. I've used this new hook to refactor out the "publish now" and "publish heroku" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new "default_plugins" list inside datasette/app.py Closes #217 (Plugin support for "datasette publish") Closes #348 (Unit tests for "datasette publish") Refs #14, #59, #102, #103, #146, #236, #347 1
- This change updates the `-s/--setting` option to `datasette serve` to allow it to be used to set arbitrarily complex nested settings in a way that is compatible with the new `-c datasette.yml` work happening in: - #2143 It will enable things like this: ``` datasette data.db --setting plugins.datasette-ripgrep.path "/home/simon/code" ``` For the moment though it just affects [settings](https://docs.datasette.io/en/1.0a4/settings.html) - so you can do this: ``` datasette data.db --setting settings.sql_time_limit_ms 3500 ``` I've also implemented a backwards compatibility mechanism, so if you use it this way (the old way): ``` datasette data.db --setting sql_time_limit_ms 3500 ``` It will notice that the setting you passed is one of Datasette's core settings, and will treat that as if you said `settings.sql_time_limit_ms` instead. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2161.org.readthedocs.build/en/2161/ <!-- readthedocs-preview datasette end --> 1
- This ensures the URL is output correctly when running under Docker. Closes #1958 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1961.org.readthedocs.build/en/1961/ <!-- readthedocs-preview datasette end --> 1
- This tests against the latest 3.10 RC, https://www.python.org/downloads/release/python-3100rc2/ 1
- Trying to get this to work with Pyodide. Refs: https://github.com/simonw/click-default-group-wheel/issues/3 1
- WIP for #427 1
- WIP. Refs: - #2109 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2118.org.readthedocs.build/en/2118/ <!-- readthedocs-preview datasette end --> 1
- 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 --> 1
- 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 --> 1
- https://dev.to/hugovk/help-test-python-312-beta-1508/ <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2175.org.readthedocs.build/en/2175/ <!-- readthedocs-preview datasette end --> 1
- 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 --> 1
- https://github.com/encode/uvicorn/commits/0.8.4 Query strings will now be included in log files: https://github.com/encode/uvicorn/pull/384 1
- https://nvd.nist.gov/vuln/detail/CVE-2019-10906 This is only a security issue of concern if evaluating templates from untrusted sources, which isn't something I would ever expect a Datasette user to do. 1
- https://travis-ci.org/simonw/datasette/jobs/305929426 pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages), Requirement.parse('pytest==3.2.3')) 1
merged_at (date) 147 ✖
- 2019-07-03 3
- 2023-05-21 3
- 2018-04-16 2
- 2019-05-03 2
- 2019-07-23 2
- 2019-07-28 2
- 2019-09-03 2
- 2019-10-18 2
- 2019-11-07 2
- 2019-11-11 2
- 2019-11-12 2
- 2020-02-25 2
- 2020-05-27 2
- 2020-08-15 2
- 2020-09-22 2
- 2020-10-09 2
- 2020-10-27 2
- 2020-10-29 2
- 2020-10-30 2
- 2021-01-25 2
- 2022-05-02 2
- 2022-08-17 2
- 2022-08-27 2
- 2023-09-06 2
- 2017-11-18 1
- 2017-11-22 1
- 2017-12-09 1
- 2018-04-03 1
- 2018-04-09 1
- 2018-04-18 1
- 2018-05-02 1
- 2018-05-14 1
- 2018-05-16 1
- 2018-06-18 1
- 2018-06-24 1
- 2018-07-12 1
- 2018-07-26 1
- 2018-08-02 1
- 2018-08-05 1
- 2018-08-08 1
- 2018-08-16 1
- 2018-12-29 1
- 2019-01-25 1
- 2019-01-26 1
- 2019-02-06 1
- 2019-02-24 1
- 2019-03-17 1
- 2019-04-10 1
- 2019-04-13 1
- 2019-05-04 1
- 2019-06-03 1
- 2019-06-24 1
- 2019-06-29 1
- 2019-06-30 1
- 2019-07-04 1
- 2019-07-06 1
- 2019-07-08 1
- 2019-07-13 1
- 2019-07-15 1
- 2019-07-24 1
- 2019-08-04 1
- 2019-08-23 1
- 2019-10-11 1
- 2019-10-17 1
- 2019-10-30 1
- 2019-11-14 1
- 2019-12-30 1
- 2020-01-29 1
- 2020-01-31 1
- 2020-02-04 1
- 2020-02-29 1
- 2020-03-25 1
- 2020-04-02 1
- 2020-04-26 1
- 2020-04-27 1
- 2020-05-08 1
- 2020-05-21 1
- 2020-06-01 1
- 2020-06-03 1
- 2020-06-05 1
- 2020-06-06 1
- 2020-06-09 1
- 2020-06-11 1
- 2020-06-13 1
- 2020-06-28 1
- 2020-08-12 1
- 2020-08-18 1
- 2020-09-07 1
- 2020-09-24 1
- 2020-10-08 1
- 2020-10-24 1
- 2020-11-06 1
- 2020-11-12 1
- 2020-11-15 1
- 2020-11-30 1
- 2020-12-01 1
- 2020-12-13 1
- 2021-02-12 1
- 2021-02-14 1
- 2021-02-18 1
- 2021-04-03 1
- 2021-05-27 1
- 2021-05-29 1
- 2021-06-02 1
- 2021-06-05 1
- 2021-06-18 1
- 2021-07-16 1
- 2021-08-02 1
- 2021-08-03 1
- 2021-08-10 1
- 2021-08-12 1
- 2021-08-19 1
- 2021-08-24 1
- 2021-10-13 1
- 2021-10-14 1
- 2021-10-24 1
- 2021-12-17 1
- 2022-01-06 1
- 2022-01-11 1
- 2022-02-02 1
- 2022-03-07 1
- 2022-03-15 1
- 2022-03-19 1
- 2022-07-27 1
- 2022-08-02 1
- 2022-08-18 1
- 2022-08-24 1
- 2022-09-05 1
- 2022-09-06 1
- 2022-10-24 1
- 2022-11-29 1
- 2022-12-08 1
- 2022-12-13 1
- 2022-12-16 1
- 2022-12-17 1
- 2023-01-10 1
- 2023-03-22 1
- 2023-05-26 1
- 2023-06-25 1
- 2023-08-08 1
- 2023-08-18 1
- 2023-08-28 1
- 2023-08-29 1
- 2023-08-30 1
- 2023-09-08 1
- 2023-09-09 1
- 2023-09-20 1
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
153432045 | MDExOlB1bGxSZXF1ZXN0MTUzNDMyMDQ1 | 118 | closed | 0 | Foreign key information on row and table pages | simonw 9599 | 2017-11-18T03:13:27Z | 2017-11-18T03:15:57Z | 2017-11-18T03:15:50Z | 2017-11-18T03:15:50Z | 1b04662585ea1539014bfbd616a8112b650d5699 | 0 | 2fa60bc5e3c9d75c19e21a2384f52b58e1872fa8 | 6d39429daa4655e3cf7a6a7671493292a20a30a1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/118 | |||||
154246816 | MDExOlB1bGxSZXF1ZXN0MTU0MjQ2ODE2 | 145 | closed | 0 | Fix pytest version conflict | simonw 9599 | https://travis-ci.org/simonw/datasette/jobs/305929426 pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages), Requirement.parse('pytest==3.2.3')) | 2017-11-22T20:15:34Z | 2017-11-22T20:17:54Z | 2017-11-22T20:17:52Z | 2017-11-22T20:17:52Z | f96e55bce55d26c4d5b198edc536e1b8e9bbea43 | 0 | e319478c4a34fb5afbff2b2a8c3b9ef9f859bb10 | fa8eb0bf1b113ab17ede9cd107b7c3bd5cde39c3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/145 | ||||
157365811 | MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx | 168 | closed | 0 | Upgrade to Sanic 0.7.0 | simonw 9599 | 2017-12-09T01:25:08Z | 2017-12-09T03:00:34Z | 2017-12-09T03:00:34Z | 2017-12-09T03:00:34Z | 446f4b832272b2286f6f65af19714eb64afb7aa6 | 0 | d9e13a5cc2b77637a6cdd8bd21b9b8fc1350051a | 61e3c5a1e904a6e1cbee86ba1494b5cb4b5820cf | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/168 | |||||
179108961 | MDExOlB1bGxSZXF1ZXN0MTc5MTA4OTYx | 192 | closed | 0 | New ?_shape=objects/object/lists param for JSON API | simonw 9599 | Refs #122 | 2018-04-03T14:02:58Z | 2018-04-03T14:53:00Z | 2018-04-03T14:52:55Z | 2018-04-03T14:52:55Z | 0abd3abacb309a2bd5913a7a2df4e9256585b1bb | 0 | a759e09e8599e2cf54f6c5ab4d1cf8adf8608793 | dd0566ff8eda7fa2f0d92e51809581fae62cffed | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/192 | ||||
180188397 | MDExOlB1bGxSZXF1ZXN0MTgwMTg4Mzk3 | 196 | closed | 0 | _sort= and _sort_desc= parameters to table view | simonw 9599 | See #189 | 2018-04-09T00:07:21Z | 2018-04-09T05:10:29Z | 2018-04-09T05:10:23Z | 2018-04-09T05:10:23Z | c1d37fdf2be84fb07155bb1b1f61057444b03300 | 0 | fdd6b71e40c8aa9a93e95802a8b6291099d4db2c | b2188f044265c95f7e54860e28107c17d2a6ed2e | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/196 | ||||
181731956 | MDExOlB1bGxSZXF1ZXN0MTgxNzMxOTU2 | 210 | closed | 0 | Start of the plugin system, based on pluggy | simonw 9599 | Refs #14 | 2018-04-16T00:51:30Z | 2018-04-16T00:56:16Z | 2018-04-16T00:56:16Z | 2018-04-16T00:56:16Z | 33c7c53ff87c25445c68088ede49d062d9c31fe8 | 0 | d75e57060d9ef4ef6ebab3600e542885b7467272 | efbb4e83374a2c795e436c72fa79f70da72309b8 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/210 | ||||
181755220 | MDExOlB1bGxSZXF1ZXN0MTgxNzU1MjIw | 212 | closed | 0 | New --plugins-dir=plugins/ option | simonw 9599 | Refs #211 | 2018-04-16T05:19:28Z | 2018-04-16T05:22:18Z | 2018-04-16T05:22:01Z | 2018-04-16T05:22:01Z | b2955d9065ea019500c7d072bcd9d49d1967f051 | 0 | 33c6bcadb962457be6b0c7f369826b404e2bcef5 | 92396ae5bacedfcb3d7c81319ccdd04483fd7fd4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/212 | ||||
182357613 | MDExOlB1bGxSZXF1ZXN0MTgyMzU3NjEz | 222 | closed | 0 | Fix for plugins in Python 3.5 | simonw 9599 | 2018-04-18T03:21:01Z | 2018-04-18T04:26:50Z | 2018-04-18T03:24:21Z | 2018-04-18T03:24:21Z | 4be6deb94776744071311777f0b18efb993c0cfa | 0 | 420cdcb88ee41c15a90fce30fdec5832c03295bd | 1c36d07dd432b9960f4f2d096739460b4fcf8877 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/222 | |||||
185307407 | MDExOlB1bGxSZXF1ZXN0MTg1MzA3NDA3 | 246 | closed | 0 | ?_shape=array and _timelimit= | simonw 9599 | 2018-05-02T00:18:54Z | 2018-05-02T00:20:41Z | 2018-05-02T00:20:40Z | 2018-05-02T00:20:40Z | 690736436bac599ca042d1caa465c6d66d2651f9 | 0 | 3807d93b98573e142858c5871b8b4aadda71d28f | aa954382c3776d596f459897b0d984161293529d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/246 | |||||
187668890 | MDExOlB1bGxSZXF1ZXN0MTg3NjY4ODkw | 257 | closed | 0 | Refactor views | simonw 9599 | * Split out view classes from main `app.py` * Run [black](https://github.com/ambv/black) against resulting code to apply opinionated source code formatting * Run [isort](https://github.com/timothycrosley/isort) to re-order my imports Refs #256 | 2018-05-13T13:00:50Z | 2018-05-14T03:04:25Z | 2018-05-14T03:04:24Z | 2018-05-14T03:04:24Z | 2b79f2bdeb1efa86e0756e741292d625f91cb93d | 0 | 0e2b41f3fa38456af32548c536f955c48c7637e8 | 4301a8f3ac69f2f54916e73cc90fcf216a9a3746 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/257 | ||||
188312411 | MDExOlB1bGxSZXF1ZXN0MTg4MzEyNDEx | 261 | closed | 0 | Facets improvements plus suggested facets | simonw 9599 | Refs #255 | 2018-05-16T03:52:39Z | 2018-05-16T15:27:26Z | 2018-05-16T15:27:25Z | 2018-05-16T15:27:25Z | 9959a9e4deec8e3e178f919e8b494214d5faa7fd | 0 | af0e91e7769891949198fb1e1760886424f34b16 | 2b79f2bdeb1efa86e0756e741292d625f91cb93d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/261 | ||||
193361341 | MDExOlB1bGxSZXF1ZXN0MTkzMzYxMzQx | 307 | closed | 0 | Initial sketch of custom URL routing, refs #306 | simonw 9599 | See #306 for background on this. | 2018-06-07T15:26:48Z | 2018-06-07T15:29:54Z | 2018-06-07T15:29:41Z | 8c6663d3cc8043fc6f5c796275e80b0445bdff12 | 0 | 018af454f286120452e33d2568dd40908474a8a8 | a246f476b4fe490f5450836b22961bc607e6b4b0 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/307 | |||||
195339111 | MDExOlB1bGxSZXF1ZXN0MTk1MzM5MTEx | 311 | closed | 0 | ?_labels=1 to expand foreign keys (in csv and json), refs #233 | simonw 9599 | Output looks something like this: { "rowid": 233, "TreeID": 121240, "qLegalStatus": { "value" 2, "label": "Private" } "qSpecies": { "value": 16, "label": "Sycamore" } "qAddress": "91 Commonwealth Ave", ... } | 2018-06-16T16:31:12Z | 2018-06-16T22:20:31Z | 2018-06-16T22:20:31Z | 9fe59e54ad65eb1c8239b1a78edb5219d3ab8ab0 | 0 | 40287b1ba09d6e75f0db1458fe78d8c055f128af | d0a578c0fc07b9d9208cd9de981bdf7385a26c49 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/311 | |||||
195413241 | MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx | 315 | closed | 0 | Streaming mode for downloading all rows as a CSV | simonw 9599 | Refs #266 | 2018-06-18T03:06:59Z | 2018-06-18T03:29:13Z | 2018-06-18T03:21:02Z | 2018-06-18T03:21:02Z | fc3660cfad7668dbce6ead12766e048fc1f78b11 | 0 | b15f412e04ce9ff21983986e661fbe4396f97b43 | 0d7ba1ba676828dc7c8dda78ebe7921f7986fc18 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/315 | ||||
196628304 | MDExOlB1bGxSZXF1ZXN0MTk2NjI4MzA0 | 324 | closed | 0 | Speed up Travis by reusing pip wheel cache across builds | simonw 9599 | From https://atchai.com/blog/faster-ci/ - refs #323 | 2018-06-22T03:20:08Z | 2018-06-24T01:03:47Z | 2018-06-24T01:03:47Z | 2018-06-24T01:03:47Z | 47e689a89b3f5f0969595b17d2ec59ea3caffb3b | 0 | 7d7f5f61fd6dca3385386a657a13057680d8ddd7 | e7566cc59d4b02ef301054fd35fdde6c925a8e38 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/324 | ||||
201075532 | MDExOlB1bGxSZXF1ZXN0MjAxMDc1NTMy | 341 | closed | 0 | Bump aiohttp to fix compatibility with Python 3.7 | simonw 9599 | Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333 | 2018-07-12T17:41:24Z | 2018-07-12T18:07:38Z | 2018-07-12T18:07:38Z | 2018-07-12T18:07:38Z | 31a5d8fa77be68d4f837f0a80a611675dce49f4b | 0 | 8d34ed776168dcac530859c51f22e8b48829a513 | 130dc8823ebdcc1834fc7c4a03c996b13fc1e444 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/341 | ||||
204029142 | MDExOlB1bGxSZXF1ZXN0MjA0MDI5MTQy | 349 | closed | 0 | publish_subcommand hook + default plugins mechanism, used for publish heroku/now | simonw 9599 | This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the "datasette publish" command family. I've used this new hook to refactor out the "publish now" and "publish heroku" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new "default_plugins" list inside datasette/app.py Closes #217 (Plugin support for "datasette publish") Closes #348 (Unit tests for "datasette publish") Refs #14, #59, #102, #103, #146, #236, #347 | 2018-07-26T05:03:22Z | 2018-07-26T05:28:54Z | 2018-07-26T05:16:00Z | 2018-07-26T05:16:00Z | dbbe707841973b50a76d2703003ae2c40e7ad1fd | 0 | 7abdfd55daa9c617da02fd768b8e7476e89f0f94 | 3ac21c749881d0fb1c35b0f9b7a819e29f61c5c1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/349 | ||||
204851511 | MDExOlB1bGxSZXF1ZXN0MjA0ODUxNTEx | 353 | closed | 0 | render_cell(value) plugin hook | simonw 9599 | Closes #352. | 2018-07-30T15:57:08Z | 2018-08-05T00:14:57Z | 2018-08-05T00:14:57Z | 2018-08-05T00:14:57Z | 4ac913224061f2dc4f673efab1a5ac6bc748854f | 0 | 2e538d924f3b17f82e94e8e8b5a05abcf9e1e697 | 295d005ca48747faf046ed30c3c61e7563c61ed2 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/353 | ||||
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 | ||||
206863803 | MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz | 358 | closed | 0 | Bump versions of pytest, pluggy and beautifulsoup4 | simonw 9599 | 2018-08-08T00:44:38Z | 2018-08-08T01:11:13Z | 2018-08-08T01:11:13Z | 2018-08-08T01:11:13Z | e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5 | 0 | 848ed0e0420d2e8c95a96b4cf73082da4c65d8f6 | fe5b6ea95a973534fe8a44907c0ea2449aae7602 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/358 | |||||
208719043 | MDExOlB1bGxSZXF1ZXN0MjA4NzE5MDQz | 361 | closed | 0 | Import pysqlite3 if available, closes #360 | simonw 9599 | 2018-08-16T00:52:21Z | 2018-08-16T00:58:57Z | 2018-08-16T00:58:57Z | 2018-08-16T00:58:57Z | aae49fef3b75848628d824077ec063834e3e5167 | 0 | da41daa168af8f29a1beb5278aed833cf3dc48ce | e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/361 | |||||
232172106 | MDExOlB1bGxSZXF1ZXN0MjMyMTcyMTA2 | 389 | closed | 0 | Bump dependency versions | simonw 9599 | 2018-11-20T02:23:12Z | 2019-11-13T19:13:41Z | 2019-11-13T19:13:41Z | 9194c0165aef411e0784ba49939b1005306f1f38 | 0 | f8349b45916e68d2f89c57694bd0e6afaf1bd508 | 5e3a432a0caa23837fa58134f69e2f82e4f632a6 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/389 | ||||||
241418443 | MDExOlB1bGxSZXF1ZXN0MjQxNDE4NDQz | 392 | closed | 0 | Fix some regex DeprecationWarnings | simonw 9599 | 2018-12-29T02:10:28Z | 2018-12-29T02:22:28Z | 2018-12-29T02:22:28Z | 2018-12-29T02:22:28Z | a2bfcfc1b1c60dac3526364af17c2fa2f3d41a0a | 0 | d245982aedaf7c54bf41d60ea7f0e0cf419c2b2f | eac08f0dfc61a99e8887442fc247656d419c76f8 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/392 | |||||
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 | |||||
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 | |||||
247923347 | MDExOlB1bGxSZXF1ZXN0MjQ3OTIzMzQ3 | 404 | closed | 0 | Experiment: run Jinja in async mode | simonw 9599 | See http://jinja.pocoo.org/docs/2.10/api/#async-support Tests all pass. Have not checked performance difference yet. Creating pull request to run tests in Travis. This is not ready to merge - I'm not yet sure if this is a good idea. | 2019-01-27T00:28:44Z | 2019-11-12T05:02:18Z | 2019-11-12T05:02:13Z | 773bcac907d17b16eef604ad943837da39a10090 | 0 | dd7f24a47f660e2f0fc1e97a13d28908c28dc245 | 909cc8fbdfc9c05e447f40e9a73489809602c3cd | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/404 | |||||
250628275 | MDExOlB1bGxSZXF1ZXN0MjUwNjI4Mjc1 | 407 | closed | 0 | Heroku --include-vcs-ignore | simonw 9599 | Should mean `datasette publish heroku` can work under Travis, unlike this failure: https://travis-ci.org/simonw/fivethirtyeight-datasette/builds/488047550 ``` 2.25s$ datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette tar: unrecognized option '--exclude-vcs-ignores' Try 'tar --help' or 'tar --usage' for more information. ▸ Command failed: tar cz -C /tmp/tmpuaxm7i8f --exclude-vcs-ignores --exclude ▸ .git --exclude .gitmodules . > ▸ /tmp/f49440e0-1bf3-4d3f-9eb0-fbc2967d1fd4.tar.gz ▸ tar: unrecognized option '--exclude-vcs-ignores' ▸ Try 'tar --help' or 'tar --usage' for more information. ▸ The command "datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette" exited with 0. ``` The fix for that issue is to call the heroku command like this: heroku builds:create -a app_name --include-vcs-ignore | 2019-02-06T04:06:20Z | 2019-02-06T04:31:30Z | 2019-02-06T04:15:47Z | 2019-02-06T04:15:46Z | 195a5b36349d0d24a6bbb758cebb719b6de303b6 | 0 | 01978ddb9682c828cafddaf9ca625e08ba3ba3a4 | 436b8bc1d17c2ab415800ab209204f94e7f7929e | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/407 | ||||
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 | |||||
261418285 | MDExOlB1bGxSZXF1ZXN0MjYxNDE4Mjg1 | 416 | closed | 0 | URL hashing now optional: turn on with --config hash_urls:1 (#418) | simonw 9599 | 2019-03-15T04:26:06Z | 2019-03-17T22:55:04Z | 2019-03-17T22:55:04Z | 2019-03-17T22:55:04Z | 6f6d0ff2b41f1cacaf42287b1b230b646bcba9ee | 0 | 0d02a99c9665669540aebff981246d8c743072b3 | afe9aa3ae03c485c5d6652741438d09445a486c1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/416 | |||||
269364924 | MDExOlB1bGxSZXF1ZXN0MjY5MzY0OTI0 | 426 | closed | 0 | Upgrade to Jinja2==2.10.1 | simonw 9599 | https://nvd.nist.gov/vuln/detail/CVE-2019-10906 This is only a security issue of concern if evaluating templates from untrusted sources, which isn't something I would ever expect a Datasette user to do. | 2019-04-10T23:03:08Z | 2019-04-22T21:23:22Z | 2019-04-10T23:13:31Z | 2019-04-10T23:13:31Z | 9cd3b44277e6a8ea9273bf659379ff0414e0b8ae | 0 | 629453383c7f911eddfc891f22c39b7d6e9661aa | 78e45ead4d771007c57b307edf8fc920101f8733 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/426 | ||||
270191084 | MDExOlB1bGxSZXF1ZXN0MjcwMTkxMDg0 | 430 | closed | 0 | ?_where= parameter on table views, closes #429 | simonw 9599 | 2019-04-13T01:15:09Z | 2019-04-13T01:37:23Z | 2019-04-13T01:37:23Z | 2019-04-13T01:37:23Z | bc6a9b45646610f362b4287bc4110440991aa4d6 | 0 | 3ee087c7b60da7ec3e5d2f73611fc6ea99ff82fc | e11cb4c66442abca2a6b6159521a6cf4da8739c1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/430 | |||||
270251021 | MDExOlB1bGxSZXF1ZXN0MjcwMjUxMDIx | 432 | closed | 0 | Refactor facets to a class and new plugin, refs #427 | simonw 9599 | WIP for #427 | 2019-04-13T20:04:45Z | 2019-05-03T00:04:24Z | 2019-05-03T00:04:24Z | b78bc19269ed83b054a60c79c4fe08f4ca943942 | 0 | 5c198f7ca5d2aff49180820271ba8d06b79aefb1 | 9c77e6e355ec718d76178a7607721d10a66b6aef | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/432 | |||||
275558612 | MDExOlB1bGxSZXF1ZXN0Mjc1NTU4NjEy | 445 | closed | 0 | Extract facet code out into a new plugin hook, closes #427 | simonw 9599 | Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI. | 2019-05-03T00:02:41Z | 2019-05-03T18:17:18Z | 2019-05-03T00:11:27Z | 2019-05-03T00:11:27Z | ea66c45df96479ef66a89caa71fff1a97a862646 | 0 | 1b47d4d8736627c260eb4e8303e552b0e9620a01 | efc93b8ab5a21e3802f75f08d5e41409f5684b5d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/445 | ||||
275801463 | MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz | 447 | closed | 0 | Use dist: xenial and python: 3.7 on Travis | simonw 9599 | 2019-05-03T18:07:07Z | 2019-05-03T18:17:05Z | 2019-05-03T18:16:53Z | 2019-05-03T18:16:53Z | 553314dcd699a84aa7cc806377150ca0d57a6024 | 0 | cd22e389d09b4fd5ed28205ba38a20faf1ed14f1 | 01b3de5b66742f0f661183e9e2ef66be3600e831 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/447 | |||||
275861559 | MDExOlB1bGxSZXF1ZXN0Mjc1ODYxNTU5 | 449 | closed | 0 | Apply black to everything | simonw 9599 | I've been hesitating on this for literally months, because I'm not at all excited about the giant diff that will result. But I've been using black on many of my other projects (most actively [sqlite-utils](https://github.com/simonw/sqlite-utils)) and the productivity boost is undeniable: I don't have to spend a single second thinking about code formatting any more! So it's worth swallowing the one-off pain and moving on in a new, black-enabled world. | 2019-05-03T21:57:26Z | 2019-05-04T02:17:14Z | 2019-05-04T02:15:15Z | 2019-05-04T02:15:15Z | 35d6ee2790e41e96f243c1ff58be0c9c0519a8ce | 0 | 9683aeb2394a4b7e44499b8a0240af3baafda832 | 66c87cee0c7344c7877373c60b180c766c206101 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/449 | ||||
284390197 | MDExOlB1bGxSZXF1ZXN0Mjg0MzkwMTk3 | 497 | closed | 0 | Upgrade pytest to 4.6.1 | simonw 9599 | 2019-06-03T01:45:34Z | 2019-06-03T02:06:32Z | 2019-06-03T02:06:27Z | 2019-06-03T02:06:27Z | 5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945 | 0 | bf2ab0306e6d3ce7524fecf015e2cec7ae45e994 | 803f750309bf0cd5b7501228c1efcf9a35686d74 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/497 | |||||
285698310 | MDExOlB1bGxSZXF1ZXN0Mjg1Njk4MzEw | 501 | closed | 0 | Test against Python 3.8-dev using Travis | simonw 9599 | 2019-06-06T08:37:53Z | 2019-11-11T03:23:29Z | 2019-11-11T03:23:29Z | 1aac0cf0ab962060dd5cff19b8b179bb7fa0f00b | 0 | a5defb684fcc734f6325ca08beef9f49c3e7a298 | 5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/501 | ||||||
290897104 | MDExOlB1bGxSZXF1ZXN0MjkwODk3MTA0 | 518 | closed | 0 | Port Datasette from Sanic to ASGI + Uvicorn | simonw 9599 | Most of the code here was fleshed out in comments on #272 (Port Datasette to ASGI) - this pull request will track the final pieces: - [x] Update test harness to more correctly simulate the `raw_path` issue - [x] Use `raw_path` so table names containing `/` can work correctly - [x] Bug: JSON not served with correct content-type - [x] Get ?_trace=1 working again - [x] Replacement for `@app.listener("before_server_start")` - [x] Bug: `/fixtures/table%2Fwith%2Fslashes.csv?_format=json` downloads as CSV - [x] Replace Sanic request and response objects with my own classes, so I can remove Sanic dependency - [x] Final code tidy-up before merging to master | 2019-06-23T15:18:42Z | 2019-06-24T13:42:50Z | 2019-06-24T03:13:09Z | 2019-06-24T03:13:09Z | ba8db9679f3bd2454c9e76e7e6c352126848b57a | simonw 9599 | Datasette 1.0 3268330 | 0 | b794554a26ddc81bd772c4422d80d5ee863e92b0 | 35429f90894321eda7f2db31b9ea7976f31f73ac | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/518 | ||
290971295 | MDExOlB1bGxSZXF1ZXN0MjkwOTcxMjk1 | 524 | closed | 0 | Sort commits using isort, refs #516 | simonw 9599 | Also added a lint unit test to ensure they stay sorted. #516 | 2019-06-24T05:04:48Z | 2023-08-23T01:31:08Z | 2023-08-23T01:31:08Z | 4e92ebe00a058e02b2d7543cff60ac2f78aa97c7 | 0 | dafae70ee7f74ce79b541a94385172be3ad0de83 | cdd24f3eaa207f67d948c1876725b0f84654a623 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/524 | |||||
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 | ||||
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 | ||||
293962405 | MDExOlB1bGxSZXF1ZXN0MjkzOTYyNDA1 | 533 | closed | 0 | Support cleaner custom templates for rows and tables, closes #521 | simonw 9599 | - [x] Rename `_rows_and_columns.html` to `_table.html` - [x] Unit test - [x] Documentation | 2019-07-03T00:40:18Z | 2019-07-03T03:23:06Z | 2019-07-03T03:23:06Z | 2019-07-03T03:23:06Z | b9ede4c1898616512b5d204f9c941deff473cbe4 | 0 | 1add905532b7bc4f681318b8f22b9b74cca2b2a0 | 76882830548e16905348ee75acb0044cb8e1fd20 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/533 | ||||
293992382 | MDExOlB1bGxSZXF1ZXN0MjkzOTkyMzgy | 535 | closed | 0 | Added asgi_wrapper plugin hook, closes #520 | simonw 9599 | 2019-07-03T03:58:00Z | 2019-07-03T04:06:26Z | 2019-07-03T04:06:26Z | 2019-07-03T04:06:26Z | 4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3 | 0 | 93bfa26bfd25a3cc911d637596e364d3474325bd | b9ede4c1898616512b5d204f9c941deff473cbe4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/535 | |||||
293994443 | MDExOlB1bGxSZXF1ZXN0MjkzOTk0NDQz | 536 | closed | 0 | Switch to ~= dependencies, closes #532 | simonw 9599 | 2019-07-03T04:12:16Z | 2019-07-03T04:32:55Z | 2019-07-03T04:32:55Z | 2019-07-03T04:32:55Z | f0d32da0a9af87bcb15e34e35424f0c0053be83a | 0 | 391d109dc3f9230dc4ee4afd20041e480e90e739 | 4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/536 | |||||
294400446 | MDExOlB1bGxSZXF1ZXN0Mjk0NDAwNDQ2 | 539 | closed | 0 | Secret plugin configuration options | simonw 9599 | Refs #538 | 2019-07-04T03:21:20Z | 2019-07-04T05:36:45Z | 2019-07-04T05:36:45Z | 2019-07-04T05:36:45Z | a2d45931935f6bb73605a94afedf9e78308c95d6 | 0 | fd6164b03ebe450a9a00df2e5be2dc7bbfbd9a3f | f0d32da0a9af87bcb15e34e35424f0c0053be83a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/539 | ||||
294992578 | MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4 | 542 | closed | 0 | extra_template_vars plugin hook | simonw 9599 | Refs #541 | 2019-07-05T22:19:17Z | 2019-07-06T00:05:57Z | 2019-07-06T00:05:56Z | 2019-07-06T00:05:56Z | fcfcae21e67cc15090942b1d2a47b5f016279337 | 0 | e81c7abb40c8ecf8d9d23cbcdde045e0a3b4ab14 | a18e0964ecd04593f227616538a80dee08768057 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/542 | ||||
295065796 | MDExOlB1bGxSZXF1ZXN0Mjk1MDY1Nzk2 | 544 | closed | 0 | --plugin-secret option | simonw 9599 | Refs #543 - [x] Zeit Now v1 support - [x] Solve escaping of ENV in Dockerfile - [x] Heroku support - [x] Unit tests - [x] Cloud Run support - [x] Documentation | 2019-07-06T22:18:20Z | 2019-07-08T02:06:31Z | 2019-07-08T02:06:31Z | 2019-07-08T02:06:31Z | 973f8f139df6ad425354711052cfc2256de2e522 | Datasette 0.29 4471010 | 0 | ccf80604e931fba1893b5bab11de386fed82009e | fcfcae21e67cc15090942b1d2a47b5f016279337 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/544 | |||
295127213 | MDExOlB1bGxSZXF1ZXN0Mjk1MTI3MjEz | 546 | open | 0 | Facet by delimiter | simonw 9599 | Refs #510 | 2019-07-07T20:06:05Z | 2019-11-18T23:46:01Z | 68a6fb1a576a747b868771d00a10753f35aaa0cf | 0 | 47ac6c6e46da16716d295d7cda8f79cd0663ca5e | a9909c29ccac771c23c2ef22b89d10697b5256b9 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/546 | ||||||
296735320 | MDExOlB1bGxSZXF1ZXN0Mjk2NzM1MzIw | 557 | closed | 0 | Get tests running on Windows using Travis CI | simonw 9599 | Refs #511 | 2019-07-11T16:36:57Z | 2021-07-10T23:39:48Z | 2021-07-10T23:39:48Z | cddb9a9fecfa25147d80df05f1a6d6e1686ca30d | 0 | 47b5ab43be87217c4e40ad93b8aa2e9639fa371f | f2006cca80040871439055ae6ccbc14e589bdf4b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/557 | |||||
297243073 | MDExOlB1bGxSZXF1ZXN0Mjk3MjQzMDcz | 559 | closed | 0 | Bump to uvicorn 0.8.4 | simonw 9599 | https://github.com/encode/uvicorn/commits/0.8.4 Query strings will now be included in log files: https://github.com/encode/uvicorn/pull/384 | 2019-07-12T22:30:29Z | 2019-07-13T22:34:58Z | 2019-07-13T22:34:58Z | 2019-07-13T22:34:58Z | d224ee2c98ac39c2c6e21a0ac0c62e5c3e1ccd11 | 0 | 029e3d53634cc38690d5b56427a3c87851a61b09 | f2006cca80040871439055ae6ccbc14e589bdf4b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/559 | ||||
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 | ||||
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 | ||||
300286535 | MDExOlB1bGxSZXF1ZXN0MzAwMjg2NTM1 | 45 | closed | 0 | Implemented table.lookup(...), closes #44 | simonw 9599 | 2019-07-23T13:03:30Z | 2019-07-23T13:07:00Z | 2019-07-23T13:07:00Z | 2019-07-23T13:07:00Z | 580502431614d3653c93249988290265f3163d4b | 0 | c0852ce018425450d6c040040f32729d41ff635c | f3a4c3d3ee6475a6caf3c9606656dbaf1df020b7 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/45 | |||||
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 | ||||
300580221 | MDExOlB1bGxSZXF1ZXN0MzAwNTgwMjIx | 8 | closed | 0 | Use less RAM | simonw 9599 | Closes #7 | 2019-07-24T06:35:01Z | 2019-07-24T06:35:52Z | 2019-07-24T06:35:52Z | 2019-07-24T06:35:52Z | c8392df78ee3e1643d18b747a4abf585d84d5d88 | 0 | 6261500b01274a739176480774e82b31f2926e7f | 5d7e14d40d5a4cfd133ca5faa442312f607784c5 | MEMBER | healthkit-to-sqlite 197882382 | https://github.com/dogsheep/healthkit-to-sqlite/pull/8 | ||||
301483613 | MDExOlB1bGxSZXF1ZXN0MzAxNDgzNjEz | 564 | open | 0 | First proof-of-concept of Datasette Library | simonw 9599 | Refs #417. Run it like this: datasette -d ~/Library Uses a new plugin hook - available_databases() | 2019-07-26T10:22:26Z | 2023-02-07T15:14:11Z | 4f425d2b39d1be10d7ef5c146480a3eb494d5086 | 1 | 947645d84710677ea50762016081a9fbc6b014a8 | a9453c4dda70bbf5122835e68f63db6ecbe1a6fc | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/564 | ||||||
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 | |||||
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 | ||||
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 | ||||
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 | ||||
313384926 | MDExOlB1bGxSZXF1ZXN0MzEzMzg0OTI2 | 571 | closed | 0 | detect_fts now works with alternative table escaping | simonw 9599 | Fixes #570 | 2019-09-03T00:23:39Z | 2019-09-03T00:32:28Z | 2019-09-03T00:32:28Z | 2019-09-03T00:32:28Z | 2dc5c8dc259a0606162673d394ba8cc1c6f54428 | 0 | a85239f69261c10f1a9f90514c8b5d113cb94585 | f04deebec4f3842f7bd610cd5859de529f77d50e | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/571 | ||||
323983732 | MDExOlB1bGxSZXF1ZXN0MzIzOTgzNzMy | 579 | open | 0 | New connection pooling | simonw 9599 | See #569 | 2019-10-02T23:22:19Z | 2019-11-15T22:57:21Z | 025b4024b1b43ea034b7fd331c30740165ff75f2 | 0 | 32cbfd2acd28bcefb97c442ac8e3ee2c07401e19 | a9909c29ccac771c23c2ef22b89d10697b5256b9 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/579 | ||||||
327051673 | MDExOlB1bGxSZXF1ZXN0MzI3MDUxNjcz | 15 | closed | 0 | twitter-to-sqlite import command, refs #4 | simonw 9599 | 2019-10-11T06:37:14Z | 2019-10-11T06:45:01Z | 2019-10-11T06:45:01Z | 2019-10-11T06:45:01Z | 2019ee908731054c6eaa3d5123dfbdf7d2d70fc4 | 0 | df1d85897118310a2d3c1b9e5aad108165302cf2 | 436a170d74ec70903d1b4ca430c2c6b6435cdfcc | MEMBER | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/15 | |||||
329324368 | MDExOlB1bGxSZXF1ZXN0MzI5MzI0MzY4 | 24 | closed | 0 | Tweet source extraction and new migration system | simonw 9599 | Closes #12 and #23 | 2019-10-17T15:24:56Z | 2019-10-17T15:49:29Z | 2019-10-17T15:49:24Z | 2019-10-17T15:49:24Z | c9295233f219c446fa2085cace987067488a31b9 | 0 | 39f822a624685e321dbca8a4318741dd1e42548b | 619f724a722b3f23f4364f67d3164b93e8ba2a70 | MEMBER | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/24 | ||||
329890320 | MDExOlB1bGxSZXF1ZXN0MzI5ODkwMzIw | 599 | closed | 0 | Fix for /foo v.s. /foo-bar issue in #597 | simonw 9599 | Refs #597 | 2019-10-18T19:22:55Z | 2019-10-18T22:51:07Z | 2019-10-18T22:51:07Z | 2019-10-18T22:51:07Z | b647b5efc29300f715ba656e41b0591f342938e1 | 0 | 8cc5a8dc35371f7d4353a4206b2d079f520c61cd | b6ad1fdc7068cb8248787843e7438d1f19fa2e3a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/599 | ||||
329947180 | MDExOlB1bGxSZXF1ZXN0MzI5OTQ3MTgw | 601 | closed | 0 | Don't auto-format SQL on page load | simonw 9599 | Refs #600 | 2019-10-18T22:37:39Z | 2019-10-20T02:29:49Z | 2019-10-18T23:56:45Z | 2019-10-18T23:56:45Z | e877b1cb12076946fdbec7ca2fbfbfc75c1c2a28 | 0 | 3a963734590caa3ad69bfe64c31690f3e4de61a4 | b6ad1fdc7068cb8248787843e7438d1f19fa2e3a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/601 | ||||
334448258 | MDExOlB1bGxSZXF1ZXN0MzM0NDQ4MjU4 | 609 | closed | 0 | Update to latest black | simonw 9599 | 2019-10-30T18:42:35Z | 2019-10-30T18:49:01Z | 2019-10-30T18:49:01Z | 2019-10-30T18:49:01Z | 5dd4d2b2d3abcfd507a6df47e7c2fbad3c552fd8 | 0 | 6f57e5e77bac29ac88d51271fd0c785859a820ce | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/609 | |||||
335980246 | MDExOlB1bGxSZXF1ZXN0MzM1OTgwMjQ2 | 8 | closed | 0 | stargazers command, refs #4 | simonw 9599 | Needs tests. Refs #4. | 2019-11-03T00:37:36Z | 2020-05-02T20:00:27Z | 2020-05-02T20:00:26Z | db25bdf8cee4c3e2d730cf269eb9a903b51cdb41 | 0 | ea07274667a08c67907e8bfbbccb6f0fb95ce817 | ae9035f8fe5aff1c54bff4c6b4c2e808a44f0f2a | MEMBER | github-to-sqlite 207052882 | https://github.com/dogsheep/github-to-sqlite/pull/8 | |||||
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 | |||||
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 | |||||
339236647 | MDExOlB1bGxSZXF1ZXN0MzM5MjM2NjQ3 | 623 | closed | 0 | Test against Python 3.8 in Travis | simonw 9599 | Needed for #622 | 2019-11-11T03:24:54Z | 2019-11-11T03:45:35Z | 2019-11-11T03:45:35Z | 2019-11-11T03:45:35Z | 1c063fae9dba70f70244db010d55a18846640f07 | 0 | 877dda2d287ed3b1772f051dffd295a69c3ecd27 | 28c4a6db5b5e512db630d7ba6127196185de67c7 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/623 | ||||
339244888 | MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4 | 624 | closed | 0 | Bump pint to 0.9 | simonw 9599 | 2019-11-11T04:07:07Z | 2019-11-11T04:19:02Z | 2019-11-11T04:19:02Z | 2019-11-11T04:19:02Z | 42ee3e16a9ba7cc513b8da944cc1609a5407cf42 | 0 | ed17117a2ad675cbf2430f28069bb1854846a6f0 | 1c063fae9dba70f70244db010d55a18846640f07 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/624 | |||||
339722790 | MDExOlB1bGxSZXF1ZXN0MzM5NzIyNzkw | 627 | closed | 0 | Support Python 3.8, stop supporting Python 3.5 | simonw 9599 | Refs #622 | 2019-11-12T04:36:33Z | 2020-04-05T10:23:58Z | 2019-11-12T05:09:12Z | 2019-11-12T05:09:12Z | cf7776d36fbacefa874cbd6e5fcdc9fff7661203 | 0 | 18cc795b5c6ec9223a5cbc4f30b19710c17f7eaa | 42ee3e16a9ba7cc513b8da944cc1609a5407cf42 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/627 | ||||
339742432 | MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy | 630 | closed | 0 | Use python:3.8 base Docker image | simonw 9599 | Closes #629 | 2019-11-12T06:02:37Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | d977fbadf70a96bf2eea1407d01f99d98e092dec | 0 | 53180ec09483bd4eef00346a39b302aeb3039e7d | f554be39fc14ddc18921ca29d3920d55aad03d46 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/630 | ||||
340743220 | MDExOlB1bGxSZXF1ZXN0MzQwNzQzMjIw | 635 | closed | 0 | Use Jinja async mode | simonw 9599 | Refs #628. Still needs documentation. | 2019-11-14T01:20:57Z | 2019-11-14T23:14:23Z | 2019-11-14T23:14:23Z | 2019-11-14T23:14:22Z | 8c642f04e0608bf537fdd1f76d64c2367fb04d57 | 0 | 0e8f8be1dbf89a6f689a5eea4a0534199a0028f6 | b51f258d00bb3c3b401f15d46a1fbd50394dbe1c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/635 | ||||
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 | ||||||
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 | ||||
368734500 | MDExOlB1bGxSZXF1ZXN0MzY4NzM0NTAw | 663 | closed | 0 | -p argument for datasette package, plus tests - refs #661 | simonw 9599 | 2020-01-29T19:47:49Z | 2020-01-29T22:46:43Z | 2020-01-29T22:46:43Z | 2020-01-29T22:46:43Z | 67fc9c5720ed1fcd62b116481f70d4e80b403a22 | 0 | 8adfc9db7f15e36fed677be4a9c833ff2cdec0bc | 34d77d780f68b778fd9d6ebbaf69f250436f055f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/663 | |||||
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 | |||||
369394043 | MDExOlB1bGxSZXF1ZXN0MzY5Mzk0MDQz | 80 | closed | 0 | on_create mechanism for after table creation | simonw 9599 | I need this for `geojson-to-sqlite`, in particular https://github.com/simonw/geojson-to-sqlite/issues/6 | 2020-01-31T03:38:48Z | 2020-01-31T05:08:04Z | 2020-01-31T05:08:04Z | e6dc95d19348e72b28b42e73a18737cb2e4563e0 | 0 | 45bf0c25492c276bde0b85868ffb55f169375bd7 | f7289174e66ae4d91d57de94bbd9d09fabf7aff4 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/80 | |||||
370675007 | MDExOlB1bGxSZXF1ZXN0MzcwNjc1MDA3 | 664 | closed | 0 | Datasette.render_template() method | simonw 9599 | Refs #577 | 2020-02-04T06:53:59Z | 2020-02-04T20:26:18Z | 2020-02-04T20:26:18Z | 2020-02-04T20:26:18Z | 70b915fb4bc214f9d064179f87671f8a378aa127 | 0 | 19d4406f562aca291fef04363802093672620220 | 286ed286b68793532c2a38436a08343b45cfbc91 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/664 | ||||
372273608 | MDExOlB1bGxSZXF1ZXN0MzcyMjczNjA4 | 33 | closed | 0 | Upgrade to sqlite-utils 2.2.1 | simonw 9599 | 2020-02-07T07:32:12Z | 2020-03-20T19:21:42Z | 2020-03-20T19:21:41Z | 5338f6baab3ec1424431133968d8b64a656ce4c4 | 0 | 08f51271d6309aad698b9e8a7587fcebbbd67781 | 35c18a09fa664324dcb75e5e58ccb90644456d02 | MEMBER | twitter-to-sqlite 206156866 | https://github.com/dogsheep/twitter-to-sqlite/pull/33 | ||||||
375180832 | MDExOlB1bGxSZXF1ZXN0Mzc1MTgwODMy | 672 | open | 0 | --dirs option for scanning directories for SQLite databases | simonw 9599 | Refs #417. | 2020-02-14T02:25:52Z | 2020-03-27T01:03:53Z | 0e0e544f1f23451f04d7ca576ace5b18ce168e6f | 0 | ee718b98b793df2a15b125cbf20816c9864bf7e9 | 6aa516d82dea9885cb4db8d56ec2ccfd4cd9b840 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/672 | ||||||
379192258 | MDExOlB1bGxSZXF1ZXN0Mzc5MTkyMjU4 | 683 | closed | 0 | .execute_write() and .execute_write_fn() methods on Database | simonw 9599 | See #682 - [x] Come up with design for `.execute_write()` and `.execute_write_fn()` - [x] Build some quick demo plugins to exercise the design - [x] Write some unit tests - [x] Write the documentation | 2020-02-24T19:51:58Z | 2020-05-30T18:40:20Z | 2020-02-25T04:45:08Z | 2020-02-25T04:45:08Z | a093c5f79fa034a97d2ad8b606745dd3b80365af | Datasette 1.0 3268330 | 0 | ec6e2edfe18446c9d77e3f30efbc299d27ea5c1b | 411056c4c43e74f2b3d0e3bc1175e7998516b1b3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/683 | |||
379378780 | MDExOlB1bGxSZXF1ZXN0Mzc5Mzc4Nzgw | 686 | closed | 0 | ?_searchmode=raw option | simonw 9599 | Closes #676 | 2020-02-25T05:45:50Z | 2020-02-25T05:56:09Z | 2020-02-25T05:56:04Z | 2020-02-25T05:56:04Z | 6cb65555f46456eb31b62e855e21b1d8c809b1a2 | 0 | abc782cb342c21b565142e44e70502e61ac6756b | a093c5f79fa034a97d2ad8b606745dd3b80365af | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/686 | ||||
381666777 | MDExOlB1bGxSZXF1ZXN0MzgxNjY2Nzc3 | 688 | closed | 0 | Don't count rows on homepage for DBs > 100MB | simonw 9599 | Closes #649. | 2020-02-29T01:01:06Z | 2020-02-29T01:08:30Z | 2020-02-29T01:08:29Z | 2020-02-29T01:08:29Z | 7f5a330377fd7db1f6d1efa5686d183bcaf89217 | 0 | 025fdd46f77822c0cbeb7856611c0a65a9b83057 | 0f8e91c68f2d2ad48efc8324b12762bf8b58facd | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/688 | ||||
391924509 | MDExOlB1bGxSZXF1ZXN0MzkxOTI0NTA5 | 703 | closed | 0 | WIP implementation of writable canned queries | simonw 9599 | Refs #698. | 2020-03-21T22:23:51Z | 2020-06-03T00:08:14Z | 2020-06-02T23:57:35Z | 80c5a74a947e63673389604de12e80fa27305454 | 1 | 61e40e917efc43a8aea5298a22badbb6eaea3fa1 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/703 | |||||
393274433 | MDExOlB1bGxSZXF1ZXN0MzkzMjc0NDMz | 708 | closed | 0 | base_url configuration setting, refs #394 | simonw 9599 | Pull request implementing #394 | 2020-03-24T21:52:00Z | 2020-03-25T00:18:44Z | 2020-03-25T00:18:44Z | 2020-03-25T00:18:44Z | 7656fd64d8b6a32ebc34d89c1b8711cc5ea240f7 | Datasette 0.39 5234079 | 0 | b1f953b5de1bef239ddb1d133f9b2e19f8e3438a | a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/708 | |||
397749653 | MDExOlB1bGxSZXF1ZXN0Mzk3NzQ5NjUz | 714 | closed | 0 | --metadata accepts YAML as well as JSON | simonw 9599 | Refs #713. Still needs tests and documentation. | 2020-04-02T18:36:02Z | 2020-04-02T19:30:54Z | 2020-04-02T19:30:54Z | 2020-04-02T19:30:54Z | 6717c719dd36dc2adc0f9da38a8c8e08129e96b4 | 0 | 5170c31adc44f6ef14b21782ba6f8ecb46dd9450 | 2aaad72789c427875426673c1a43e67c86fc970e | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/714 | ||||
409123897 | MDExOlB1bGxSZXF1ZXN0NDA5MTIzODk3 | 737 | closed | 0 | Custom pages mechanism, refs #648 | simonw 9599 | Refs #648. TODO: - [x] Pass a `view_name` to `render_template()` - [x] Mechanism for custom status code / headers / redirect - [x] Documentation | 2020-04-26T17:31:41Z | 2020-04-26T18:46:43Z | 2020-04-26T18:46:43Z | 2020-04-26T18:46:43Z | 304e7b1d9fd904ae1c35600bc03662eb90eeeae0 | 0 | b5bbf1bd88f67a26eb34902bc11f2da7692c7af2 | 227bb3e91fe34811a9374150798643a5af98ed79 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/737 | ||||
409153870 | MDExOlB1bGxSZXF1ZXN0NDA5MTUzODcw | 739 | closed | 0 | Configuration directory mode | simonw 9599 | Refs #731 TODO: - [x] Decide how to combine explicit command-line options with items detected from the directory structure - [x] Add unit tests - [x] Implement `inspect-data.json` mechanism for populating `immutables` - [x] Add documentation | 2020-04-26T20:37:46Z | 2020-04-27T16:30:25Z | 2020-04-27T16:30:25Z | 2020-04-27T16:30:25Z | 25014ca25eb70b4c1217558ebd14db2845973bfb | 0 | 0d8fa53fab672fcf16b6a75aa55b07ccd243fb96 | 1b7b66c465e44025ec73421bd69752e42f108321 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/739 | ||||
410469272 | MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy | 746 | closed | 0 | shutil.Error, not OSError | simonw 9599 | Refs #744 | 2020-04-29T03:30:51Z | 2020-04-29T07:07:24Z | 2020-04-29T07:07:23Z | e4e8b51b50e51b2515c6d8874d16c4607f79b80a | 0 | af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/746 | |||||
415286105 | MDExOlB1bGxSZXF1ZXN0NDE1Mjg2MTA1 | 763 | closed | 0 | Documentation + improvements for db.execute() and Results class | simonw 9599 | Refs #685 Still TODO: - [x] Implement `results.first()` - [x] Implement `results.single_value()` - [x] Unit tests for the above | 2020-05-08T15:16:02Z | 2020-06-11T16:05:48Z | 2020-05-08T16:05:46Z | 2020-05-08T16:05:46Z | 4433306c1855ad69840cc76cbd41086137572be2 | 0 | 1ea62c77221d07cd121367f1c6b620f8bde0716a | 69e3a855dd7e5a77409d70b18c45ae3c1a145a75 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/763 | ||||
421491810 | MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw | 768 | closed | 0 | Use dirs_exist_ok=True | simonw 9599 | Refs #744 | 2020-05-21T17:53:44Z | 2020-05-27T20:21:56Z | 2020-05-21T17:53:51Z | 2020-05-21T17:53:51Z | cee671a58f417f827d1735b1abaa40716534ea67 | Datasette 0.43 5471110 | 0 | f2e0a558238a34dc482803762de2509474a178c6 | faea5093b865031f650da7da6539430f732f511a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/768 | |||
424032445 | MDExOlB1bGxSZXF1ZXN0NDI0MDMyNDQ1 | 769 | closed | 0 | Backport of Python 3.8 shutil.copytree | simonw 9599 | Closes #744 | 2020-05-27T18:17:15Z | 2020-05-27T20:21:56Z | 2020-05-27T18:17:44Z | 2020-05-27T18:17:44Z | 2d099ad9c657d2cab59de91cdb8bfed2da236ef6 | Datasette 0.43 5471110 | 0 | 6f80757f27e4651e6533856ea87b676dbc0d9c37 | cee671a58f417f827d1735b1abaa40716534ea67 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/769 | |||
424085264 | MDExOlB1bGxSZXF1ZXN0NDI0MDg1MjY0 | 772 | closed | 0 | Test that plugin hooks are unit tested | simonw 9599 | Refs #771 | 2020-05-27T20:01:32Z | 2020-05-27T20:21:56Z | 2020-05-27T20:16:03Z | 2020-05-27T20:16:02Z | da87e963bff24e47878a5bc2025c8bfc63d4bc93 | Datasette 0.43 5471110 | 0 | 173b6947521f1c1b47a119f62f379bf4278c87c9 | 41a0cd7b6afe0397efbbf27ad822679fc574811a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/772 | |||
425531205 | MDExOlB1bGxSZXF1ZXN0NDI1NTMxMjA1 | 783 | closed | 0 | Authentication: plugin hooks plus default --root auth mechanism | simonw 9599 | See #699 | 2020-05-30T22:25:47Z | 2020-06-01T01:16:44Z | 2020-06-01T01:16:43Z | 2020-06-01T01:16:43Z | 57cf5139c552cb7feab9947daa949ca434cc0a66 | 0 | 116a26ce2d4af26c928e361e1b24dd6a6bb14eca | c4fbe50676929b512940aab90de590a78ac5d7fc | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/783 | ||||
426891471 | MDExOlB1bGxSZXF1ZXN0NDI2ODkxNDcx | 796 | closed | 0 | New WIP writable canned queries | simonw 9599 | Refs #698. Replaces #703 Still todo: - [x] Unit tests - ~~Figure out `.json` mode~~ - [x] Flash message solution - ~~CSRF protection~~ - [x] Better error message display on errors - [x] Documentation - ~~Maybe widgets?~~ I'll do these later | 2020-06-03T00:08:00Z | 2020-06-03T15:16:52Z | 2020-06-03T15:16:50Z | 2020-06-03T15:16:50Z | aa82d0370463580f2cb10d9617f1bcbe45cc994a | Datasette 1.0 3268330 | 0 | e164939de719b5930ca4972e20490c9b2fd37f6d | 9690ce606823bbfceb0c50d59e03adf7bb1a8475 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/796 | |||
428212421 | MDExOlB1bGxSZXF1ZXN0NDI4MjEyNDIx | 798 | closed | 0 | CSRF protection | simonw 9599 | Refs #793 | 2020-06-05T04:22:35Z | 2020-06-06T00:43:41Z | 2020-06-05T19:05:58Z | 2020-06-05T19:05:57Z | 84a9c4ff75460f91c049bd30bba3cee1fd89d9e2 | Datasette 0.44 5512395 | 0 | fe43963376b1c44ec23a213277bcb33d98e4aef9 | d96ac1d52cacf34bae09705eb8f9a0e3f81c426b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/798 | |||
429366641 | MDExOlB1bGxSZXF1ZXN0NDI5MzY2NjQx | 803 | closed | 0 | Canned query permissions | simonw 9599 | Refs #800. Closes #786 | 2020-06-06T18:20:00Z | 2020-06-06T19:40:21Z | 2020-06-06T19:40:20Z | 2020-06-06T19:40:20Z | 415ccd7cbdeebfb52f514a0387221023aa8b4d91 | 0 | 3359d54a4eb9c9725c27a85437661b5180c4099a | 9c563d6aed072f14d3d25f58e84659f9caa1a243 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/803 |
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]);