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