Wykres commitów

1074 Commity (main)

Autor SHA1 Wiadomość Data
Simon Willison 959e020297 Ran blacken-docs 2024-01-30 20:40:18 -08:00
Simon Willison c3caf36af7
Template slot family of plugin hooks - top_homepage() and others
New plugin hooks:

top_homepage
top_database
top_table
top_row
top_query
top_canned_query

New datasette.utils.make_slot_function()

Closes #1191
2024-01-30 19:54:03 -08:00
Simon Willison 7a5adb592a Docs on temporary plugins in fixtures, closes #2234 2024-01-12 14:12:14 -08:00
Simon Willison 0f63cb83ed
Typo fix 2024-01-10 13:08:52 -08:00
Simon Willison 7506a89be0 Docs on datasette.client for tests, closes #1830
Also covers ds.client.actor_cookie() helper
2024-01-10 13:04:34 -08:00
Simon Willison 48148e66a8 Link from actors_from_ids plugin hook docs to datasette.actors_from_ids() 2024-01-10 10:42:36 -08:00
Simon Willison c7a4706bcc
jinja2_environment_from_request() plugin hook
Closes #2225
2024-01-05 14:33:23 -08:00
Simon Willison 45b88f2056 Release notes from 0.64.6, refs #2214 2023-12-22 15:24:26 -08:00
Simon Willison 4284c74bc1
db.execute_isolated_fn() method (#2220)
Closes #2218
2023-12-19 10:51:03 -08:00
Simon Willison 89c8ca0f3f Fix for round_trip_load() YAML error, refs #2219 2023-12-19 10:32:55 -08:00
Simon Willison 067cc75dfa
Fixed broken example links in row page documentation 2023-12-12 09:49:04 -08:00
Simon Willison 4b534b89a5 Ran cog
Refs #2052
2023-10-12 16:48:22 -07:00
Simon Willison 11f7fd38a4 Fixed some rST header warnings 2023-10-12 15:05:02 -07:00
Simon Willison a4b401f470 Updated Discord link, refs #2196
This issue reminded me to use the datasette.io/discord redirect URL.
2023-10-12 14:57:04 -07:00
Alex Garcia 35deaabcb1
Move non-metadata configuration from metadata.yaml to datasette.yaml
* Allow and permission blocks moved to datasette.yaml
* Documentation updates, initial framework for configuration reference
2023-10-12 09:16:37 -07:00
Simon Willison 85a41987c7 Fixed typo acepts -> accepts 2023-10-08 09:07:11 -07:00
Simon Willison d51e63d3bb Release notes for 0.64.5, refs #2197 2023-10-08 09:06:43 -07:00
Simon Willison 836b1587f0 Release notes for 1.0a7
Refs #2189
2023-09-21 15:27:27 -07:00
Simon Willison 947520c1fe Release notes for 0.64.4 on main 2023-09-21 12:31:32 -07:00
Simon Willison b0e5d8afa3
Stop using parallel SQL queries for tables
Refs:
- #2189
2023-09-20 15:10:55 -07:00
Simon Willison 16f0b6d822 JSON/YAML tabs on configuration docs page 2023-09-13 14:16:36 -07:00
Alex Garcia b2ec8717c3
Plugin configuration now lives in datasette.yaml/json
* Checkpoint, moving top-level plugin config to datasette.json
* Support database-level and table-level plugin configuration in datasette.yaml

Refs #2093
2023-09-13 14:06:25 -07:00
Simon Willison a4c96d01b2 Release 1.0a6
Refs #1765, #2164, #2169, #2175, #2178, #2181
2023-09-07 21:44:08 -07:00
Simon Willison b645174271
actors_from_ids plugin hook and datasette.actors_from_ids() method (#2181)
* Prototype of actors_from_ids plugin hook, refs #2180
* datasette-remote-actors example plugin, refs #2180
2023-09-07 21:23:59 -07:00
Simon Willison ab040470e2 Applied blacken-docs 2023-09-07 15:57:27 -07:00
Simon Willison fbcb103c0c Added example code to database_actions hook documentation 2023-09-07 07:47:24 -07:00
Simon Willison 05707aa16b
click-default-group>=1.2.3 (#2173)
* click-default-group>=1.2.3

Now available as a wheel:
- https://github.com/click-contrib/click-default-group/issues/21

* Fix for blacken-docs
2023-09-05 19:50:09 -07:00
Simon Willison 31d5c4ec05 Contraction - Google and Microsoft styleguides like it
I was trying out https://github.com/errata-ai/vale
2023-09-05 19:43:01 -07:00
Simon Willison fd083e37ec Docs for plugins that define more plugin hooks, closes #1765 2023-08-31 16:06:30 -07:00
Simon Willison 9cead33fb9
OperationalError: database table is locked fix
See also:
- https://til.simonwillison.net/datasette/remember-to-commit
2023-08-31 10:46:07 -07:00
Simon Willison 4c3ef03311
Another ReST fix 2023-08-30 16:19:59 -07:00
Simon Willison 2caa53a52a
ReST fix 2023-08-30 16:19:24 -07:00
Simon Willison 6bfe104d47
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins
Closes #2164

* Load only specified plugins for DATASETTE_LOAD_PLUGINS=datasette-one,datasette-two
* Load no plugins if DATASETTE_LOAD_PLUGINS=''
* Automated tests in a Bash script for DATASETTE_LOAD_PLUGINS
2023-08-30 15:12:24 -07:00
Simon Willison 30b28c8367 Release 1.0a5
Refs #2093, #2102, #2153, #2156, #2157
2023-08-29 10:17:54 -07:00
Simon Willison bb12229794 Rename core_ to catalog_, closes #2163 2023-08-29 10:01:28 -07:00
Simon Willison 50da908213
Cascade for restricted token view-table/view-database/view-instance operations (#2154)
Closes #2102

* Permission is now a dataclass, not a namedtuple - refs https://github.com/simonw/datasette/pull/2154/#discussion_r1308087800
* datasette.get_permission() method
2023-08-29 09:32:34 -07:00
Alex Garcia 92b8bf38c0
Add new `--internal internal.db` option, deprecate legacy `_internal` database
Refs:
- #2157 
---------

Co-authored-by: Simon Willison <swillison@gmail.com>
2023-08-28 20:24:23 -07:00
Simon Willison d8351b08ed datasette --get --actor 'JSON' option, closes #2153
Refs #2154
2023-08-28 13:15:38 -07:00
Simon Willison d9aad1fd04
-s/--setting x y gets merged into datasette.yml, refs #2143, #2156
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.
2023-08-28 13:06:14 -07:00
Simon Willison 64fd1d788e Applied Cog, refs #2143, #2149 2023-08-22 19:57:46 -07:00
Alex Garcia 17ec309e14
Start datasette.json, re-add --config, rm settings.json
The first step in defining the new `datasette.json/yaml` configuration mechanism.

Refs #2093, #2143, #493
2023-08-22 18:26:11 -07:00
Simon Willison 01e0558825
Merge pull request from GHSA-7ch3-7pp7-7cpq
* API explorer requires view-instance permission

* Check database/table permissions on /-/api page

* Release notes for 1.0a4

Refs #2119, #2133, #2138, #2140

Refs https://github.com/simonw/datasette/security/advisories/GHSA-7ch3-7pp7-7cpq
2023-08-22 10:10:01 -07:00
Simon Willison 943df09dcc Remove all remaining "$ " prefixes from docs, closes #2140
Also document sqlite-utils create-view
2023-08-11 10:44:34 -07:00
Simon Willison a3593c9015 on_success_message_sql, closes #2138 2023-08-09 17:32:07 -07:00
Simon Willison 4a42476bb7 datasette plugins --requirements, closes #2133 2023-08-09 15:04:16 -07:00
Simon Willison 90cb9ca58d JSON changes in release notes, refs #2135 2023-08-09 12:11:16 -07:00
Simon Willison 856ca68d94 Update default JSON representation docs, refs #2135 2023-08-09 12:04:40 -07:00
Simon Willison 8920d425f4 1.0a3 release notes, smaller changes section - refs #2135 2023-08-09 10:20:58 -07:00
Simon Willison 1377a290cd
New JSON design for query views (#2118)
* Refs #2111, closes #2110
* New Context dataclass/subclass mechanism, refs #2127
* Define QueryContext and extract get_tables() method, refs #2127
* Fix OPTIONS bug by porting DaatbaseView to be a View subclass
* Expose async_view_for_class.view_class for test_routes test
* Error/truncated aruments for renderers, closes #2130
2023-08-07 18:47:39 -07:00
Simon Willison 0818182399 Update cli-reference for editable change, refs #2106 2023-07-26 11:52:57 -07:00
Simon Willison 278ac91a4d datasette install -e option, closes #2106 2023-07-22 11:42:46 -07:00
Simon Willison 0f7192b615 One last YAML/JSON change, closes #1153 2023-07-08 13:08:09 -07:00
Simon Willison 42ca574720 Removed accidental test code I added, refs #1153 2023-07-08 12:50:22 -07:00
Simon Willison 2fd871a906 Drop support for Python 3.7, refs #2097 2023-07-08 11:40:19 -07:00
Simon Willison 50a6355c08 Workaround to get sphinx-build working again, refs 1153 2023-07-08 11:22:21 -07:00
Simon Willison c076fb65e0 Applied sphinx-inline-tabs to remaining examples, refs #1153 2023-07-08 11:00:08 -07:00
Simon Willison 0183e1a72d Preserve JSON key order in YAML, refs #1153 2023-07-08 10:27:36 -07:00
Simon Willison 38fcc96e67 Removed duplicate imports, refs #1153 2023-07-08 10:09:26 -07:00
Simon Willison 3b336d8071 Utility function for cog for generating YAML/JSON tabs, refs #1153 2023-07-08 09:37:47 -07:00
Simon Willison d7b21a8623 metadata.yaml now treated as default in docs
Added sphinx-inline-tabs to provide JSON and YAML tabs to show examples.

Refs #1153
2023-07-08 09:37:01 -07:00
Simon Willison 99ba051188 Fixed spelling error, refs #2089
Also ensure codespell runs as part of just lint
2023-06-29 07:46:22 -07:00
Simon Willison d1d78ec0eb
Better docs for startup() hook 2023-06-23 13:06:35 -07:00
Simon Willison b49fa446d6 --cors Access-Control-Max-Age: 3600, closes #2079 2023-05-25 15:05:58 -07:00
Simon Willison 5890a20c37 Mention API tokens in DATASETTE_SECRET docs 2023-03-31 09:45:16 -07:00
Simon Willison 4c1e277edb Updated JSON API shape documentation, refs #262 2023-03-28 23:21:42 -07:00
Simon Willison c025b0180f
Drop jQuery dependency 2023-03-26 16:38:58 -07:00
Simon Willison db8cf899e2
Use block scripts instead, refs #1608 2023-03-26 16:27:58 -07:00
Simon Willison 5c1cfa451d
Link docs /latest/ to /stable/ again
Re-implementing the pattern from https://til.simonwillison.net/readthedocs/link-from-latest-to-stable

Refs #1608
2023-03-26 16:23:28 -07:00
Simon Willison 56b0758a5f 0.64 release notes, refs #2036 2023-03-08 12:52:37 -08:00
Simon Willison 1ad92a1d87 datasette install -r requirements.txt, closes #2033 2023-03-06 14:27:30 -08:00
Simon Willison 0b4a286914 render_cell(..., request) argument, closes #2007 2023-01-27 19:34:14 -08:00
Simon Willison e4ebef082d
Fixed link text 2023-01-21 07:37:29 -08:00
Simon Willison 6a352e99ab
Added missing import to example 2023-01-11 11:04:11 -08:00
Simon Willison 25a612fe09 Release 0.64.1
Refs #1985, #1987
2023-01-11 10:23:49 -08:00
Simon Willison 2c86774179
Link to non-spam Python 3 setup instructions
Refs #1987
2023-01-11 09:59:40 -08:00
Simon Willison 7dd671310a Release notes for 0.64, with a warning against arbitrary SQL with SpatiaLite
Refs #1409, #1771, #1979

Refs https://github.com/simonw/datasette.io/issues/132
2023-01-09 08:40:24 -08:00
Simon Willison 5e672df168 Explicitly explain allow_sql: false 2023-01-09 08:25:07 -08:00
Simon Willison 0f7c71a86f What to do if extensions will not load, refs #1979 2023-01-07 15:49:28 -08:00
Simon Willison fee658ad05 Improved wording in allow_sql docs 2023-01-05 09:22:49 -08:00
Simon Willison c41278b46f default_allow_sql setting, closes #1409
Refs #1410
2023-01-04 16:51:26 -08:00
Simon Willison adfcec51d6 Fixed broken example links in _where= docs 2023-01-04 16:51:26 -08:00
Simon Willison deb5fcbed4
Fixed table_action example in docs 2023-01-04 10:25:04 -08:00
Simon Willison 5bbe2bcc50 Rename filtered_table_rows_count to count, refs #782 2022-12-31 12:52:57 -08:00
Simon Willison 3af313e165 Fix for Sphinx extlinks warning, closes #1972 2022-12-31 11:13:14 -08:00
Chris Holdgraf 994ce46ed4
Add favicon to documentation (#1967)
Co-authored-by: Simon Willison <swillison@gmail.com>
2022-12-31 11:00:31 -08:00
Simon Willison 8059c8a27c Fixed typo 2022-12-31 10:54:25 -08:00
Simon Willison 234230e595 Default JSON shape is now objects - refs #1914, #1709 2022-12-31 10:52:37 -08:00
Simon Willison 1fda4806d4 Small documentation tweaks 2022-12-31 10:52:37 -08:00
Simon Willison c635f6ebac Moved CORS bit to its own documentation section 2022-12-31 10:52:37 -08:00
Simon Willison 3bd05b854a -e/--expires-after in create-token docs 2022-12-31 10:52:37 -08:00
Simon Willison 677ba9dddd Fix rST warning in changelog 2022-12-31 10:52:37 -08:00
Simon Willison 23335e123b Release notes for 0.63.3
Refs #1963
2022-12-17 19:26:25 -08:00
Simon Willison 63fb750f39 Replace AsgiLifespan with AsgiRunOnFirstRequest, refs #1955 2022-12-17 14:14:34 -08:00
Simon Willison 5ee954e34b
Link to annotated release notes for 1.0a2 2022-12-15 17:03:37 -08:00
Simon Willison 0b68996cc5 Revert "Replace AsgiLifespan with AsgiRunOnFirstRequest, refs #1955"
This reverts commit dc18f62089.
2022-12-15 13:06:45 -08:00
Simon Willison dc18f62089 Replace AsgiLifespan with AsgiRunOnFirstRequest, refs #1955 2022-12-15 09:34:07 -08:00
Simon Willison e054704fb6 Added missing rST label 2022-12-14 21:38:28 -08:00
Simon Willison 6e1e815c78
It's an update-or-insert 2022-12-14 18:41:30 -08:00
Simon Willison 8b9d7fdbd8 Fixed typo in release notes, refs #1953 2022-12-14 18:02:42 -08:00
Simon Willison 8cac6ff301 Release 1.0a2
Refs #1636, #1855, #1878, #1927, #1937, #1940, #1947, #1951

Closes #1953
2022-12-14 18:01:02 -08:00
Simon Willison 9ad76d279e Applied blacken-docs, refs #1937 2022-12-14 14:49:13 -08:00
Simon Willison c094dde3ff Extra permission rules for /-/create, closes #1937 2022-12-14 12:21:18 -08:00
Simon Willison 6e5ab9e7b3 Note in docs about new /-/create-token features, refs #1947 2022-12-13 21:07:03 -08:00
Simon Willison fdf7c27b54 datasette.create_token() method, closes #1951 2022-12-13 18:42:01 -08:00
Simon Willison d4cc1374f4 Improved --help for create-token, refs #1947 2022-12-13 14:28:59 -08:00
Simon Willison 2aa2adaa8b Docs for new create-token options, refs #1855 2022-12-12 20:56:40 -08:00
Simon Willison c13dada2f8 datasette --get --token option, closes #1946, refs #1855 2022-12-12 20:36:42 -08:00
Simon Willison 14f1cc4984 Update CLI reference help, refs #1855 2022-12-12 20:21:48 -08:00
Simon Willison 98eff2cde9 Ignore spelling of alls, refs #1855 2022-12-12 20:19:17 -08:00
Simon Willison 8bf06a76b5
register_permissions() plugin hook (#1940)
* Docs for permissions: in metadata, refs #1636
* Refactor default_permissions.py to help with implementation of #1636
* register_permissions() plugin hook, closes #1939 - also refs #1938
* Tests for register_permissions() hook, refs #1939
* Documentation for datasette.permissions, refs #1939
* permission_allowed() falls back on Permission.default, refs #1939
* Raise StartupError on duplicate permissions
* Allow dupe permisisons if exact matches
2022-12-12 18:05:54 -08:00
David Larlet e539c1c024
Typo in JSON API `Updating a row` documentation (#1930) 2022-12-08 13:12:34 -08:00
Simon Willison 05daa15aac Documentation for /-/create ignore/replace, closes #1927 2022-12-07 17:42:54 -08:00
Simon Willison 272982e8a6
/db/table/-/upsert API
Close #1878

Also made a few tweaks to how _r works in tokens and actors,
refs #1855 - I needed that mechanism for the tests.
2022-12-07 17:12:15 -08:00
Simon Willison cab5b60e09
datasette-auth-passwords is another actor_from_request example 2022-12-02 08:39:52 -08:00
Simon Willison 692fbfc40a Release 1.0a1
Refs #1922, #1917, #1915, #1916, #1918, #1924
2022-12-01 13:30:39 -08:00
Simon Willison 99da46f725 Docs for insert API ignore/replace - closes #1924 2022-11-30 18:07:48 -08:00
Simon Willison 7fde34cfcb Documentation and test for UNIQUE constraint failed, refs #1924 2022-11-30 18:05:29 -08:00
Simon Willison f0fadc28dd Access-Control-Allow-Headers: Authorization, Content-Type - refs #1922 2022-11-30 15:11:18 -08:00
Simon Willison 6bfd71f5c6 Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS - refs #1922 2022-11-30 12:25:12 -08:00
Simon Willison b8fc8e2cd7
Merge branch 'main' into 1.0-dev 2022-11-29 11:34:39 -08:00
Simon Willison 4d49a5a397 Release 1.0a0
Refs #1850, #1851, #1852, #1856, #1858, #1863, #1864, #1871, #1874, #1882

Closes #1891
2022-11-29 11:22:54 -08:00
Simon Willison 1154048f79 Compound primary key support for /db/-/create - closes #1911
Needed for tests in #1864
2022-11-29 10:47:48 -08:00
Simon Willison 484bef0d3b /db/table/pk/-/update endpoint, closes #1863 2022-11-29 10:06:19 -08:00
Simon Willison 21f8aab531 Release 0.63.2
Refs #1904, #1905
2022-11-18 16:59:05 -08:00
Simon Willison 72ac9bf82f --generate-dir option to publish heroku, refs #1905 2022-11-18 16:34:33 -08:00
Simon Willison ee64130fa8 Refactor to use new resolve_database/table/row methods, refs #1896 2022-11-18 14:46:25 -08:00
Simon Willison c588a89f26 db.view_exists() method, needed by #1896 2022-11-18 14:16:38 -08:00
Brian Grinstead 710be684b8 Upgrade to CodeMirror 6, add SQL autocomplete (#1893)
* Upgrade to CodeMirror 6
* Update contributing docs
* Change how resizing works
* Define a custom SQLite autocomplete dialect
* Add meta-enter to submit
* Add fixture schema for testing
2022-11-17 17:23:35 -08:00
Brian Grinstead ae11fa5887
Upgrade to CodeMirror 6, add SQL autocomplete (#1893)
* Upgrade to CodeMirror 6
* Update contributing docs
* Change how resizing works
* Define a custom SQLite autocomplete dialect
* Add meta-enter to submit
* Add fixture schema for testing
2022-11-16 15:49:06 -08:00
Simon Willison 187d91d686 /db/-/create API endpoint, closes #1882 2022-11-14 21:57:28 -08:00
Simon Willison 264d0ab471 Renamed return_rows to return in insert API
Refs https://github.com/simonw/datasette/issues/1866#issuecomment-1313128913
2022-11-13 21:49:23 -08:00
Simon Willison 65521f03db Error for drop against immutable database, closes #1874 2022-11-13 21:40:10 -08:00
Simon Willison 612da8eae6 confirm: true mechanism for drop table API, closes #1887 2022-11-13 21:17:18 -08:00
Simon Willison f832435b88 Release 0.63.1
Refs ##1843, #1876, #1883
2022-11-12 12:29:59 -08:00
Simon Willison 9f54f00a50 Release 0.63.1
Refs ##1843, #1876, #1883
2022-11-10 23:01:20 -08:00
Simon Willison aacf25cf19
Improvements to API token docs, refs #1852 2022-11-05 23:54:32 -07:00
Simon Willison 867e0abd34 Tests now close SQLite database connections and files explicitly, refs #1843
Also added a db.close() method to the Database class.
2022-11-03 13:37:26 -07:00
Simon Willison 2355067ef5 Tests now close SQLite database connections and files explicitly, refs #1843
Also added a db.close() method to the Database class.
2022-11-03 13:36:11 -07:00
Simon Willison 9bec7c38eb ignore and replace options for bulk inserts, refs #1873
Also removed the rule that you cannot include primary keys in the rows you insert.

And added validation that catches invalid parameters in the incoming JSON.

And renamed "inserted" to "rows" in the returned JSON for return_rows: true
2022-11-01 11:08:17 -07:00
Simon Willison 00632ded30 Initial attempt at /db/table/row/-/delete, refs #1864 2022-10-30 16:16:00 -07:00
Simon Willison 2865d3956f /db/table/-/drop API, closes #1874 2022-10-30 15:17:21 -07:00
Simon Willison 4f16e14d7a Update cog 2022-10-30 14:53:33 -07:00
Simon Willison c35859ae3d API for bulk inserts, closes #1866 2022-10-29 23:03:45 -07:00
Simon Willison 61171f0154 Release 0.63
Refs #1646, #1786, #1787, #1789, #1794, #1800, #1804, #1805, #1808, #1809, #1816, #1819, #1825, #1829, #1831, #1834, #1844, #1853, #1860

Closes #1869
2022-10-27 17:58:41 -07:00
Simon Willison 26af9b9c4a Release notes for 0.63, refs #1869 2022-10-27 17:58:41 -07:00
Simon Willison bf00b0b59b Release 0.63
Refs #1646, #1786, #1787, #1789, #1794, #1800, #1804, #1805, #1808, #1809, #1816, #1819, #1825, #1829, #1831, #1834, #1844, #1853, #1860

Closes #1869
2022-10-27 15:11:26 -07:00
Simon Willison e5e0459a0b Release notes for 0.63, refs #1869 2022-10-27 13:58:00 -07:00
Simon Willison 6e788b49ed New URL design /db/table/-/insert, refs #1851 2022-10-27 13:18:05 -07:00
Simon Willison a51608090b Slight tweak to insert row API design, refs #1851
https://github.com/simonw/datasette/issues/1851#issuecomment-1292997608
2022-10-27 12:06:18 -07:00
Simon Willison 51c436fed2 First draft of insert row write API, refs #1851 2022-10-26 20:57:02 -07:00