Simon Willison
ec38ad3768
Add DatabaseContext dataclass for consistent template context documentation ( #2513 )
...
Refs:
- #1510
- #2333
Claude Code:
Created DatabaseContext as a documented dataclass following the same pattern
as the existing QueryContext. This change replaces the inline dictionary
context creation with an explicit dataclass that:
- Documents all 21 template context variables with help metadata
- Inherits from the Context base class for identification
- Provides better IDE support and type safety
- Makes template variables discoverable without reading code
Also updated QueryContext to inherit from Context for consistency.
2025-10-09 12:54:02 -07:00
Simon Willison
659673614a
Refactor debug templates to use shared JavaScript functions
...
Extracted common JavaScript utilities from debug_allowed.html, debug_check.html, and debug_rules.html into a new _debug_common_functions.html include template. This eliminates code duplication and improves maintainability.
The shared functions include:
- populateFormFromURL(): Populates form fields from URL query parameters
- updateURL(formId, page): Updates browser URL with form values
- escapeHtml(text): HTML escaping utility
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 21:53:34 -07:00
Simon Willison
e2a739c496
Fix for asyncio.iscoroutinefunction deprecation warnings
...
Closes #2512
Refs https://github.com/simonw/asyncinject/issues/18
2025-10-08 20:32:16 -07:00
Simon Willison
27084caa04
New allowed_resources_sql plugin hook and debug tools ( #2505 )
...
* allowed_resources_sql plugin hook and infrastructure
* New methods for checking permissions with the new system
* New /-/allowed and /-/check and /-/rules special endpoints
Still needs to be integrated more deeply into Datasette, especially for listing visible tables.
Refs: #2502
---------
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-08 14:27:51 -07:00
Simon Willison
909448fb7a
Run CLI coroutines on explicit event loops
...
With the help of Codex CLI: https://gist.github.com/simonw/d2de93bfdf85a014a29093720c511093
2025-10-01 12:59:14 -07:00
Simon Willison
7a602140df
catalog_views table, closes #2495
...
Refs https://github.com/datasette/datasette-queries/issues/1#issuecomment-3074491003
2025-07-15 10:22:56 -07:00
Simon Willison
6f7f4c7d89
Release 1.0a19
...
Refs #2479
2025-04-21 22:38:53 -07:00
Simon Willison
f4274e7a2e
CSS fix for table headings on mobile, closes #2479
2025-04-21 22:33:34 -07:00
Simon Willison
271aa09056
Release 1.0a18
...
Refs #2466 , #2468 , #2470 , #2476 , #2477
2025-04-16 22:16:25 -07:00
Jack Stratton
d5c6e502fb
fix: tilde encode database name in expanded foreign key links ( #2476 )
...
* Tilde encode database for expanded foreign key links
* Test for foreign key fix in #2476
---------
Co-authored-by: Simon Willison <swillison@gmail.com>
2025-04-16 22:15:11 -07:00
Simon Willison
f2485dce9c
Hide FTS tables that have content=
...
* Hide FTS tables that have content=, closes #2477
2025-04-16 21:44:09 -07:00
dependabot[bot]
da209ed2ba
Drop 3.8 testing, add 3.13 testing, upgrade Black
...
Also bump some GitHub Actions versions.
2025-03-09 20:45:18 -07:00
Simon Willison
333f786cb0
Correct syntax for link headers, closes #2470
2025-03-09 20:05:43 -05:00
Simon Willison
209bdee0e8
Don't run prepare_connection() on internal database, closes #2468
2025-02-18 10:23:23 -08:00
Simon Willison
e59fd01757
Fix for incorrect REFERENCES in internal DB
...
Refs #2466
2025-02-12 19:40:43 -08:00
Simon Willison
cd9182a551
Release 1.0a17
...
Refs #1690 , #1943 , #2422 , #2424 , #2441 , #2454 , #2455 , #2458 , #2460 , #2465
2025-02-06 11:12:34 -08:00
Simon Willison
7f23411002
Call db.close() in ds.remove_database()
...
https://github.com/simonw/datasette/issues/2465#issuecomment-2640712713
2025-02-06 10:46:11 -08:00
Simon Willison
f95ac19e71
Fix to support replacing a database, closes #2465
2025-02-06 10:32:47 -08:00
Simon Willison
53a3b3c80e
Test improvements and fixed deprecation warnings ( #2464 )
...
* `asyncio_default_fixture_loop_scope = function`
* Fix a bunch of BeautifulSoup deprecation warnings
* Fix for PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]>
* xfail for sql_time_limit tests (these can be flaky in CI)
Refs #2461
2025-02-04 14:49:52 -08:00
Simon Willison
f57977a08f
/-/permissions?filter=exclude-yours/only-yours - closes #2460
2025-02-04 11:09:44 -08:00
Simon Willison
b190b87ec6
Detect single unique text column in label_column_for_table, closes #2458
...
Also added new tests for label_column_for_table()
2025-02-01 17:02:49 -08:00
Simon Willison
d9a450b197
Show registered permissions on /-/permissions
...
Closes #1943
2025-01-15 17:42:13 -08:00
Simon Willison
308c243cfd
datasette.set_actor_cookie() and datasette.delete_actor_cookie(), closes #1690
2025-01-15 17:37:25 -08:00
Simon Willison
37873e02b0
Better breadcrumbs on database and table page, closes #2454
2025-01-09 10:07:03 -08:00
Simon Willison
34390bbed8
Fix for params metadata error, closes #2455
2025-01-09 09:54:06 -08:00
Simon Willison
dce718961c
Async support for magic parameters
...
Closes #2441
2024-11-15 13:17:45 -08:00
Simon Willison
ea9f66f9fb
Rename SQLITE_EXTENSIONS to DATASETTE_LOAD_EXTENSION
...
Closes #2424
2024-09-09 09:16:23 -07:00
Alex Garcia
a542870bfb
Add DATASETTE_SSL_KEYFILE and DATASETTE_SSL_CERTFILE envvars to datasette serve flags ( #2423 )
...
Closes #2422
2024-09-09 08:58:33 -07:00
Simon Willison
0bc6a2af89
Release 1.0a16
...
Refs #2320 , #2342 , #2398 , #2399 , #2400 , #2403 , #2404 , #2405 , #2406 , #2407 , #2408 , #2414 , #2415 , #2420
2024-09-05 20:56:46 -07:00
Simon Willison
2ec4d8a4d5
Removed a img styles, closes #2420
2024-09-05 20:45:07 -07:00
Simon Willison
f601425015
Table styles now only apply to table.rows-and-columns, refs #2420
2024-09-05 20:11:23 -07:00
Simon Willison
6da8d09a14
header.hd and footer.ft, refs #2420
2024-09-05 19:57:27 -07:00
Simon Willison
deb482a41e
.core label, refs #2420
2024-09-05 19:53:06 -07:00
Simon Willison
2170269258
New .core CSS class for inputs and buttons
...
* Initial .core input/button classes, refs #2415
* Docs for the new .core CSS class, refs #2415
* Applied .core class everywhere that needs it, closes #2415
2024-09-03 08:37:26 -07:00
Simon Willison
92c4d41ca6
results.dicts() method, closes #2414
2024-09-01 17:20:41 -07:00
Simon Willison
dc288056b8
Better handling of errors for count all button, refs #2408
2024-08-21 19:56:02 -07:00
Simon Willison
9ecce07b08
count all rows button on table page, refs #2408
2024-08-21 19:09:25 -07:00
Simon Willison
dc1d152476
Stop counting at 10,000 rows when listing tables, refs #2398
2024-08-21 14:58:29 -07:00
Simon Willison
bc46066f9d
Fix huge performance bug in DateFacet, refs #2407
2024-08-21 14:38:11 -07:00
Simon Willison
f28ff8e4f0
Consider just 1000 rows for suggest facet, closes #2406
2024-08-21 13:36:42 -07:00
Simon Willison
8a63cdccc7
Tracer now catches errors, closes #2405
2024-08-21 12:19:18 -07:00
Simon Willison
34a6b2ac84
Fixed bug with ?_trace=1 and large responses, closes #2404
2024-08-21 10:58:17 -07:00
Simon Willison
9028d7f805
Support nested JSON in metadata.json, closes #2403
2024-08-21 09:53:52 -07:00
Tiago Ilieve
1f3fb5f96b
debugger: load 'ipdb' if present
...
* debugger: load 'ipdb' if present
Transparently chooses between the IPython-enhanced 'ipdb' or the
standard 'pdb'.
* datasette install ipdb
---------
Co-authored-by: Simon Willison <swillison@gmail.com>
2024-08-20 20:02:35 -07:00
Simon Willison
39dfc7d7d7
Removed units functionality and Pint dependency
...
Closes #2400 , unblocks #2320
2024-08-20 19:03:33 -07:00
Simon Willison
d444b6aad5
Fix for spacing on index page, closes #2399
2024-08-20 09:36:02 -07:00
Simon Willison
7d8dd2ac7f
Release 1.0a15
...
Refs #2296 , #2326 , #2384 , #2386 , #2389 , #2390 , #2393 , #2394
2024-08-15 22:04:04 -07:00
Alex Garcia
0dd41efce6
skip over "queries" blocks when processing database-level metadata items ( #2386 )
2024-08-15 21:48:07 -07:00
Seb Bacon
9cb5700d60
bugfix: correctly detect json1 in versions.json ( #2327 )
...
Fixes #2326
2024-08-15 13:20:26 -07:00
Alex Garcia
6d91d082e0
Hide shadow tables, don't hide virtual tables
...
Closes #2296
2024-08-15 13:19:22 -07:00