Wykres commitów

1295 Commity (7ecf5bf5cea791ec302cbbb691abd39e7bb1f933)

Autor SHA1 Wiadomość Data
Simon Willison 815162cf02 Release 0.62
Refs #903, #1300, #1683, #1701, #1712, #1717, #1718, #1728, #1733, #1738, #1739, #1744, #1746, #1748, #1759, #1766, #1768, #1770, #1773, #1779

Closes #1782
2022-08-14 10:32:42 -07:00
Simon Willison 82167105ee --min-instances and --max-instances Cloud Run publish options, closes #1779 2022-08-14 10:07:30 -07:00
Simon Willison c1396bf860 Don't allow canned write queries on immutable DBs, closes #1728 2022-08-14 09:34:31 -07:00
Simon Willison 1563c22a8c Don't duplicate _sort_desc, refs #1738 2022-08-14 09:13:12 -07:00
Simon Willison 080d4b3e06 Switch to python:3.10.6-slim-bullseye for datasette publish - refs #1768 2022-08-14 08:49:14 -07:00
Simon Willison df4fd2d7dd _sort= works even if sort column not selected, closes #1773 2022-08-14 08:44:02 -07:00
Chris Amico 01369176b0
Keep track of datasette.config_dir (#1766)
Thanks, @eyeseast - closes #1764
2022-07-17 18:12:45 -07:00
Simon Willison 6d5e195547 Release 0.62a1
Refs #1300, #1739, #1744, #1746, #1748, #1759, #1770
2022-07-17 17:59:20 -07:00
Simon Willison c09c53f345 New handle_exception plugin hook, refs #1770
Also refs:
- https://github.com/simonw/datasette-sentry/issues/1
- https://github.com/simonw/datasette-show-errors/issues/2
2022-07-17 16:24:39 -07:00
Simon Willison 8188f55efc Rename handle_500 to handle_exception, refs #1770 2022-07-17 15:24:16 -07:00
Simon Willison 6373bb3414 Expose current SQLite row to render_cell hook, closes #1300 2022-07-07 09:30:49 -07:00
M. Nasimul Haque 00e59ec461
Extract facet pieces of table.html into included templates
Thanks, @nsmgr8
2022-06-20 11:05:44 -07:00
Simon Willison 3508bf7875 --nolock mode to ignore locked files, closes #1744 2022-05-17 12:40:25 -07:00
Simon Willison 280ff372ab ETag support for .db downloads, closes #1739 2022-05-03 07:59:46 -07:00
Simon Willison 943aa2e1f7 Release 0.62a0
Refs #1683, #1701, #1712, #1717, #1718, #1733
2022-05-02 14:38:34 -07:00
Simon Willison 3f00a29141
Clean up compatibility with Pyodide (#1736)
* Optional uvicorn import for Pyodide, refs #1733
* --setting num_sql_threads 0 to disable threading, refs #1735
2022-05-02 13:15:27 -07:00
Simon Willison a29c127789 Rename to_decimal/from_decimal to decode/encode, refs #1734 2022-05-02 12:44:09 -07:00
Simon Willison 687907aa2b Remove python-baseconv dependency, refs #1733, closes #1734 2022-05-02 12:39:06 -07:00
Simon Willison 7e03394734 Optional uvicorn import for Pyodide, refs #1733 2022-05-02 12:20:14 -07:00
Simon Willison 942411ef94 Execute some TableView queries in parallel
Use ?_noparallel=1 to opt out (undocumented, useful for benchmark comparisons)

Refs #1723, #1715
2022-04-26 15:50:02 -07:00
Simon Willison 8a0c38f0b8 Rename database->database_name and table-> table_name, refs #1715 2022-04-26 15:50:02 -07:00
Simon Willison 579f59dcec Refactor to remove RowTableShared class, closes #1719
Refs #1715
2022-04-25 11:33:35 -07:00
Simon Willison e64d14e413 Use type integer for --timeout, refs #1717 2022-04-24 07:09:08 -07:00
Tim Sherratt 3001e1e394
Add timeout option to Cloudrun build (#1717)
* Add timeout option for build phase
* Make the --timeout setting optional
* Add test for --timeout setting

Thanks, @wragge
2022-04-24 07:03:08 -07:00
Simon Willison 0bc5186b7b Tooltip and commas for byte length display, closes #1712 2022-04-12 11:44:12 -07:00
Simon Willison 143c105f87 Removed rogue print 2022-04-12 11:43:32 -07:00
Simon Willison 90d1be9952 Tilde encoding now encodes space as plus, closes #1701
Refs #1657
2022-04-06 08:55:01 -07:00
Simon Willison 5c5e9b3657 Request.fake(... url_vars), plus .fake() is now documented
Also made 'from datasette import Request' shortcut work.

Closes #1697
2022-03-31 19:01:58 -07:00
Simon Willison c496f2b663 Don't show facet in cog menu if not allow_facet, closes #1683 2022-03-24 12:16:19 -07:00
Simon Willison d431a9055e Release 0.61.1
Refs #1682

Refs https://github.com/simonw/datasette-hashed-urls/issues/13
2022-03-23 11:54:10 -07:00
Simon Willison 0159662ab8 Fix for bug running ?sql= against databases with a different route, closes #1682 2022-03-23 11:48:10 -07:00
Simon Willison d7c793d799 Release 0.61
Refs #957, #1228, #1533, #1545, #1576, #1577, #1587, #1601, #1603, #1607, #1612, #1621, #1649, #1654, #1657, #1661, #1668, #1675, #1678
2022-03-23 11:12:26 -07:00
Simon Willison 72bfd75fb7 Drop n=1 threshold down to <= 20ms, closes #1679 2022-03-21 14:55:50 -07:00
Simon Willison 1a7750eb29 Documented datasette.check_visibility() method, closes #1678 2022-03-21 12:01:37 -07:00
Simon Willison 194e4f6c3f Removed check_permission() from BaseView, closes #1677
Refs #1660
2022-03-21 11:41:56 -07:00
Simon Willison dfafce6d96 Display no-opinion permission checks on /-/permissions 2022-03-21 11:37:27 -07:00
Simon Willison e627510b76 BaseView.check_permissions is now datasette.ensure_permissions, closes #1675
Refs #1660
2022-03-21 10:13:16 -07:00
Simon Willison 5471e3c491 Release 0.61a0
Refs #957, #1533, #1545, #1576, #1577, #1587, #1601, #1603, #1607, #1612, #1621, #1649, #1654, #1657, #1661, #1668
2022-03-19 18:14:40 -07:00
Simon Willison cdbae2b93f Fixed internal links to respect db.route, refs #1668 2022-03-19 17:31:23 -07:00
Simon Willison 7a6654a253 Databases can now have a .route separate from their .name, refs #1668 2022-03-19 17:11:17 -07:00
Simon Willison 798f075ef9 Read format from route captures, closes #1667
Refs #1660
2022-03-19 13:32:29 -07:00
Simon Willison b9c2b1cfc8 Consistent treatment of format in route capturing, refs #1667
Also refs #1660
2022-03-19 13:29:10 -07:00
Simon Willison 61419388c1 Rename route match groups for consistency, refs #1667, #1660 2022-03-19 09:52:08 -07:00
Simon Willison 711767bcd3 Refactored URL routing to add tests, closes #1666
Refs #1660
2022-03-18 21:03:08 -07:00
Simon Willison 4e47a2d894 Fixed bug where tables with a column called n caused 500 errors
Closes #1228
2022-03-18 18:37:54 -07:00
Simon Willison 9979dcd07f Also remove default_cache_ttl_hashed setting, refs #1661 2022-03-18 17:25:14 -07:00
Simon Willison 8658c66438 Show error if --setting hash_urls 1 used, refs #1661 2022-03-18 17:19:31 -07:00
Simon Willison d4f60c2388
Remove hashed URL mode
Also simplified how view class routing works.

Refs #1661
2022-03-18 17:12:03 -07:00
Simon Willison a35393b29c
Tilde encoding (#1659)
Closes #1657

Refs #1439
2022-03-15 11:01:57 -07:00
Simon Willison 77e718c3ff Revert "Fix bug with percentage redirects, close #1650"
This reverts commit c85d669de3.

Refs #1658
2022-03-15 08:37:31 -07:00
Simon Willison c85d669de3 Fix bug with percentage redirects, close #1650 2022-03-07 11:26:08 -08:00
Simon Willison 020effe47b Preserve query string in % to - redirects, refs #1650 2022-03-07 08:18:07 -08:00
Simon Willison 644d25d1de Redirect old % URLs to new - encoded URLs, closes #1650
Refs #1439
2022-03-07 08:01:42 -08:00
Simon Willison 1baa030eca
Switch to dash encoding for table/database/row-pk in paths
* Dash encoding functions, tests and docs, refs #1439
* dash encoding is now like percent encoding but with dashes
* Use dash-encoding for row PKs and ?_next=, refs #1439
* Use dash encoding for table names, refs #1439
* Use dash encoding for database names, too, refs #1439

See also https://simonwillison.net/2022/Mar/5/dash-encoding/
2022-03-07 07:38:29 -08:00
Dan Peterson de810f49cc
Add /opt/homebrew to where spatialite extension can be found (#1649)
Helps homebrew on Apple Silicon setups find spatialite without needing
a full path.

Similar to #1114

Thanks, @danp
2022-03-06 11:39:15 -08:00
Simon Willison 5010d1359b Fix for test failure caused by SQLite 3.37.0+, closes #1647 2022-03-05 11:46:59 -08:00
Simon Willison 458f03ad3a More SpatiaLite details on /-/versions, closes #1607 2022-02-08 22:32:19 -08:00
Simon Willison 1b2f0ab6bb Revert "Use de-dupe idiom that works with Python 3.6, refs #1632"
This reverts commit 5bfd001b55.

No need for this on the main branch because it doesn't support Python 3.6 any more.
2022-02-07 15:43:45 -08:00
Simon Willison 5bfd001b55 Use de-dupe idiom that works with Python 3.6, refs #1632 2022-02-07 15:42:37 -08:00
Simon Willison fa5fc327ad Release 0.60.2
Refs #1632
2022-02-07 15:34:01 -08:00
Simon Willison 0cd982fc6a De-duplicate 'datasette db.db db.db', closes #1632
Refs https://github.com/simonw/datasette-publish-fly/pull/12
2022-02-07 15:28:59 -08:00
Simon Willison d9b508ffaa @documented decorator plus unit test plus sphinx.ext.autodoc
New mechanism for marking datasette.utils functions that should be covered by the
documentation, then testing that they have indeed been documented.

Also enabled sphinx.ext.autodoc which can now be used to embed the documented
versions of those functions.

Refs #1176
2022-02-06 22:31:06 -08:00
Simon Willison 8a25ea9bca Implemented import shortcuts, closes #957 2022-02-05 22:34:33 -08:00
Simon Willison da53e0360d tracer.trace_child_tasks() for asyncio.gather tracing
Also added documentation for datasette.tracer module.

Closes #1576
2022-02-04 21:19:49 -08:00
Robert Christie 1af1041f91
Jinja template_name should use "/" even on Windows (#1617)
Closes #1545. Thanks, Robert Christie
2022-02-02 17:58:35 -08:00
Simon Willison 23a09b0f6a Remove JSON rel=alternate from some pages, closes #1623 2022-02-02 13:48:52 -08:00
Simon Willison 8d5779acf0 Refactored alternate_url_json mechanism, refs #1620, #1533 2022-02-02 13:32:47 -08:00
Simon Willison b72b2423c7 rel=alternate JSON for queries and database pages, closes #1620 2022-02-02 13:22:45 -08:00
Simon Willison 3ef47a0896 Link rel=alternate header for tables and rows
Also added Access-Control-Expose-Headers: Link to --cors mode.

Closes #1533

Refs https://github.com/simonw/datasette-notebook/issues/2

LL#	metadata.json.1
2022-02-01 23:49:09 -08:00
Simon Willison 68cc1e2dbb Move queries to top of database page, refs #1612 2022-01-25 10:28:15 -08:00
Simon Willison 150967d98e Hand-edited pixel favicon, refs #1603 2022-01-20 10:43:15 -08:00
Simon Willison b01c9b68d1 Oops I pushed the wrong favicon, refs #1603 2022-01-19 21:54:41 -08:00
Simon Willison b2eebf5ebf No need to send this, it's got a default, refs #1603 2022-01-19 21:52:00 -08:00
Simon Willison 0467723ee5 New, improved favicon - refs #1603 2022-01-19 21:46:03 -08:00
Simon Willison e1770766ce Return plugins and hooks in predictable order 2022-01-19 21:14:04 -08:00
Simon Willison 43c30ce023 Use cog to maintain default plugin list in plugins.rst, closes #1600
Also fixed a bug I spotted where datasette.filters showed the same hook three times.
2022-01-19 21:04:09 -08:00
Simon Willison 14e320329f Hidden tables data_licenses, KNN, KNN2 for SpatiaLite, closes #1601 2022-01-19 20:38:49 -08:00
Simon Willison 58652dd925 Hidden tables sqlite1/2/3/4, closes #1587 2022-01-19 20:12:46 -08:00
Simon Willison cb29119db9 Release 0.60
Refs #473, #625, #1527, #1544, #1547, #1551, #1552, #1555, #1556, #1557,
#1563, #1564, #1568, #1570, #1575, #1579, #1588, #1594
2022-01-13 17:36:51 -08:00
Simon Willison ab7d6a7179 Updated settings help URL to avoid redirect 2022-01-13 16:38:16 -08:00
Simon Willison 3a0f7d6488 Fixed hidden form fields bug #1527 2022-01-13 16:27:21 -08:00
Simon Willison 515f8d38eb Help summaries for publish cloudrun/heroku 2022-01-13 16:12:54 -08:00
Simon Willison 8cf4b77a92 Better copy for 'datasette plugins --help' 2022-01-13 16:11:07 -08:00
Simon Willison 8f5c44a166 Better --help summaries for install and uninstall 2022-01-13 16:09:38 -08:00
Simon Willison 88bc2ceae1 --help summary for 'datasette inspect', closes #1597 2022-01-13 16:07:30 -08:00
Simon Willison 3658e57ac2 Fixed bug with table title element, closes #1560 2022-01-13 14:20:07 -08:00
Simon Willison 63537dd3de Allow 'explain query plan' with more whitespace, closes #1588 2022-01-13 12:34:55 -08:00
Simon Willison 8c401ee0f0 Fixed remaining code and docs for new block=True default, closes #1579 2021-12-23 11:18:20 -08:00
Simon Willison 00a2895cd2 execute_write defaut is now block=True, closes #1579 2021-12-23 11:03:49 -08:00
Simon Willison ace86566b2 Remove concept of special_args, re-arrange TableView a bit, refs #1518 2021-12-22 12:23:05 -08:00
Simon Willison dbaac79946 Release 0.60a1
Refs #1547, #1555, #1562, #1563, #1564, #1567, #1568, #1569, #1570, #1571, #1572
2021-12-19 14:08:10 -08:00
Simon Willison 4094741c28 Fixed bug with custom templates for writable canned queries, closes #1547 2021-12-19 13:11:57 -08:00
Simon Willison 5fac26aa22 Another populate_schema_tables optimization, refs #1555 2021-12-19 12:54:12 -08:00
Simon Willison f65817000f Include count in execute_write_many traces, closes #1571 2021-12-19 12:30:34 -08:00
Simon Willison c6ff1f23e6 Queries took rather than query took, closes #1572 2021-12-18 20:03:21 -08:00
Simon Willison 97b1723dd0 Optimize init_internal_db by running PRAGMA in a single function
Refs #1555
2021-12-18 19:49:11 -08:00
Simon Willison d637ed4676 Use execute_write_many to optimize internal DB, refs #1555, #1570 2021-12-18 11:11:08 -08:00
Simon Willison 5cadc24489 db.execute_write_script() and db.execute_write_many(), closes #1570
Refs #1555
2021-12-18 10:57:22 -08:00
Simon Willison 2e4ba71b53 Optimize create table calls using executescript=True
Refs #1555, #1569
2021-12-18 10:34:15 -08:00
Simon Willison 9e094b7c9d db.execute_write(executescript=True) option, closes #1569 2021-12-18 10:34:15 -08:00
Simon Willison f81d9d0cd9 Trace write SQL queries in addition to read ones, closes #1568 2021-12-17 18:42:29 -08:00
Simon Willison 359140ceda Datasette() constructor no longer requires files=, closes #1563 2021-12-17 18:09:00 -08:00
Simon Willison 83bacfa945 Call _prepare_connection() on write connections, closes #1564 2021-12-17 17:58:39 -08:00
Simon Willison c35b84a2aa Remove undocumented sqlite_functions mechanism, closes #1567 2021-12-17 17:54:39 -08:00
Simon Willison d0f24f9bbc Clarifying comment
The new filters stuff is a little bit action-at-a-distance
2021-12-17 15:55:06 -08:00
Simon Willison f000a7bd75
Use load_extension(?) instead of fstring 2021-12-17 12:15:29 -08:00
Simon Willison 92a5280d2e Release 0.60a0
Refs #473, #625, #1544, #1551, #1552, #1556, #1557
2021-12-17 11:13:51 -08:00
Simon Willison aa7f0037a4
filters_from_request plugin hook, now used in TableView
- New `filters_from_request` plugin hook, closes #473
- Used it to extract the logic from TableView that handles `_search` and
`_through` and `_where` - refs #1518

Also needed for this plugin work: https://github.com/simonw/datasette-leaflet-freedraw/issues/7
2021-12-17 11:02:14 -08:00
Simon Willison 0663d5525c More comments in TableView.data(), refs #1518 2021-12-16 14:00:29 -08:00
Simon Willison 2c07327d23 Move columns_to_select to TableView class, add lots of comments, refs #1518 2021-12-16 13:43:44 -08:00
Simon Willison 95d0dd7a1c Fix for colliding facet types bug, closes #625
Refs #830
2021-12-16 12:12:04 -08:00
Simon Willison 992496f261 ?_nosuggest=1 parameter for table views, closes #1557 2021-12-16 11:24:54 -08:00
Simon Willison 20a2ed6bec Fixed bug with metadata config of array/date facets, closes #1552
Thanks @davidbgk for spotting the fix for the bug.
2021-12-16 10:47:40 -08:00
Simon Willison eb53837d2a Always show count of distinct facet values, closes #1556
Refs #1423
2021-12-15 09:58:01 -08:00
Simon Willison a6ff123de5 keep_blank_values=True when parsing query_string, closes #1551
Refs #1518
2021-12-12 12:01:51 -08:00
Simon Willison 737115ea14
Label column finder is now case-insensitive
Closes #1544
2021-12-07 12:03:42 -08:00
Simon Willison 7c02be2ee9 Release 0.59.4
Refs #1525, #1527
2021-11-29 22:45:37 -08:00
Simon Willison a37ee74891 Correct link to _ prefix on row page, closes #1525 2021-11-29 22:34:31 -08:00
Simon Willison 06762776f7 Fix for incorrect hidden for fields for _columns, refs #1527 2021-11-29 19:04:35 -08:00
Simon Willison 48f11998b7 Release 0.59.3
Refs #448, #838, #1519
2021-11-20 15:40:21 -08:00
Simon Willison 250db8192c Hopefully last fix relating to #1519, #838 2021-11-20 11:09:05 -08:00
Simon Willison 08947fa764 Fix more broken base_url links
Refs #1519, #838
2021-11-20 11:03:08 -08:00
Simon Willison 640031edfd Fixed bug introduced in #1519 2021-11-19 17:01:17 -08:00
Simon Willison fe687fd020 Fixed a whole bunch of broken base_url links
Refs #1519, #838
2021-11-19 16:53:11 -08:00
Simon Willison ff0dd4da38 repr() method for Request, refs #1519 2021-11-19 12:29:37 -08:00
Simon Willison 3025505515 functools.wraps to help investigate #1517 2021-11-18 19:19:43 -08:00
Simon Willison 0156c6b5e5 Facet in predictable order for tests, refs #448 2021-11-15 17:31:33 -08:00
Simon Willison 55024b5301 _facet_array no longer confused by duplicate array items, closes #448 2021-11-15 17:19:33 -08:00
Simon Willison 07044bd130 SQL view-friendly arraycontains/arraynotcontains implementation, refs #448 2021-11-15 15:41:07 -08:00
Simon Willison de1e031713 Release 0.59.2
Refs #1497, #1503, #1506
2021-11-13 21:14:43 -08:00
Simon Willison 1c13e1af06 Ensure query columns are included too, ref #1503 2021-11-13 21:08:33 -08:00
Simon Willison c9e3cfecc8 Columns in filters now ignore ?_nocol, closes #1503 2021-11-13 20:53:00 -08:00
Simon Willison c306b696de Correct facet links for columns with a leading underscore, closes #1506 2021-11-13 20:44:54 -08:00
Simon Willison e6e44372b3 Release 0.59.1
Refs #1482, #1496
2021-10-24 15:29:56 -07:00
Simon Willison 8934507cdc Release 0.59
Refs #942, #1404, #1405, #1416, #1420, #1421, #1422, #1423, #1425, #1431, #1443, #1446, #1449, #1467, #1469, #1470, #1488
2021-10-14 12:22:19 -07:00
Simon Willison 8584993529 --cors Access-Control-Allow-Headers: Authorization
Refs #1467, refs https://github.com/simonw/datasette-auth-tokens/issues/4
2021-10-14 12:03:28 -07:00
Simon Willison b267b57754
Upgrade to httpx 0.20
* Upgrade to httpx 0.20, closes #1488
* TestClient.post() should not default to following redirects
2021-10-14 11:03:44 -07:00
Simon Willison 763d0a0faa Fix for cog menu default facet bug, closes #1469 2021-10-13 14:20:03 -07:00
Simon Willison b50bf5d13f Don't persist _next in hidden field, closes #1483 2021-10-13 14:08:06 -07:00
Simon Willison 0d5cc20aef Revert "asyncio_run helper to deal with a 3.10 warning, refs #1482"
This reverts commit 98dcabccbb.
2021-10-09 18:25:33 -07:00
Simon Willison 875117c343 Fix bug with ?_next=x&_sort=rowid, closes #1470 2021-10-09 18:14:56 -07:00
Simon Willison 98dcabccbb asyncio_run helper to deal with a 3.10 warning, refs #1482 2021-10-08 17:32:11 -07:00
Simon Willison d3ea367131 Release 0.59a2
Refs #942, #1421, #1423, #1431, #1443, #1446, #1449
2021-08-27 18:55:54 -07:00
Simon Willison 30c18576d6 register_commands() plugin hook, closes #1449 2021-08-27 18:39:42 -07:00
Simon Willison 3655bb49a4 Better default help text, closes #1450 2021-08-27 17:49:03 -07:00
Simon Willison 92a99d969c Added not-footer wrapper div, refs #1446 2021-08-24 11:13:42 -07:00
Simon Willison adb5b70de5 Show count of facet values if ?_facet_size=max, closes #1423 2021-08-16 11:56:32 -07:00
Simon Willison 2883098770 Fixed config_dir mode, refs #1432 2021-08-12 22:17:40 -07:00
Simon Willison bbc4756f9e
Settings fix, refs #1433 2021-08-12 20:54:25 -07:00
Simon Willison ca4f83dc7b Rename config= to settings=, refs #1432 2021-08-12 18:10:36 -07:00
Simon Willison 77f46297a8 Rename --help-config to --help-settings, closes #1431 2021-08-12 18:01:57 -07:00
Simon Willison e837095ef3
Column metadata, closes #942 2021-08-12 16:53:23 -07:00
Simon Willison b1fed48a95 derive_named_parameters falls back to regex on SQL error, refs #1421 2021-08-08 20:26:08 -07:00
Simon Willison fc4846850f New way of deriving named parameters using explain, refs #1421 2021-08-08 20:21:13 -07:00
Simon Willison ad90a72afa Release 0.59a1
Refs #1425
2021-08-08 18:13:03 -07:00
Simon Willison a390bdf9ce Stop using firstresult=True on render_cell, refs #1425
See https://github.com/simonw/datasette/issues/1425#issuecomment-894883664
2021-08-08 17:38:42 -07:00
Simon Willison 3bb6409a6c render_cell() can now return an awaitable, refs 2021-08-08 16:05:00 -07:00
Simon Willison 61505dd0c6 Release 0.59a0
Refs #1404, #1405, #1416, #1420, #1422
2021-08-06 22:40:07 -07:00
Simon Willison a21853c9da Fix for rich.console sometimes not being available, refs #1416 2021-08-06 22:17:36 -07:00
Simon Willison 66e143c76e New hide_sql canned query option, refs #1422 2021-08-06 22:17:36 -07:00
Simon Willison b7037f5ece Bit of breathing space on https://latest.datasette.io/fixtures/pragma_cache_size 2021-08-06 22:17:36 -07:00
Simon Willison a1f3830356 --cpu option for datasette publish cloudrun, closes #1420 2021-08-03 22:20:50 -07:00
Simon Willison cd8b7bee8f Run codespell against datasette source code too, refs #1417 2021-08-03 10:03:48 -07:00
Simon Willison 54b6e96ee8 Use optional rich dependency to render tracebacks, closes #1416 2021-08-03 09:12:48 -07:00
Simon Willison 4adca0d850 No hidden SQL on canned query pages, closes #1411 2021-07-31 17:58:11 -07:00
Simon Willison eccfeb0871 register_routes() plugin hook datasette argument, closes #1404 2021-07-26 16:16:46 -07:00
Simon Willison c73af5dd72 Release 0.58.1
Refs #1231, #1396
2021-07-16 12:50:06 -07:00
Simon Willison c00f29affc
Fix for race condition in refresh_schemas(), closes #1231 2021-07-16 12:44:58 -07:00
Simon Willison dd5ee8e668 Removed some unused imports
I found these with:

    flake8 datasette | grep unus
2021-07-15 23:26:12 -07:00
Simon Willison e27dd7c12c Release 0.58
Refs #1365, #1371, #1377, #1384, #1387, #1388, #1389, #1394
2021-07-14 17:33:04 -07:00
Simon Willison a6c8e7fa4c Big performance boost for faceting, closes #1394 2021-07-14 17:05:43 -07:00
Simon Willison 180c7a5328 --uds option for binding to Unix domain socket, closes #1388 2021-07-10 16:37:30 -07:00
Simon Willison 83f6799a96 searchmode: raw table metadata property, closes #1389 2021-07-10 11:33:08 -07:00
Simon Willison ea627baccf Removed fallback parameter from get_metadata, refs #1384 2021-06-26 17:02:42 -07:00
Brandon Roberts baf986c871
New get_metadata() plugin hook for dynamic metadata
The following hook is added:

    get_metadata(
      datasette=self, key=key, database=database, table=table,
      fallback=fallback
    )

This gets called when we're building our metdata for the rest
of the system to use. We merge whatever the plugins return
with any local metadata (from metadata.yml/yaml/json) allowing
for a live-editable dynamic Datasette.

As a security precation, local meta is *not* overwritable by
plugin hooks. The workflow for transitioning to live-meta would
be to load the plugin with the full metadata.yaml and save.
Then remove the parts of the metadata that you want to be able
to change from the file.

* Avoid race condition: don't mutate databases list

This avoids the nasty "RuntimeError: OrderedDict mutated during
iteration" error that randomly happens when a plugin adds a
new database to Datasette, using `add_database`. This change
makes the add and remove database functions more expensive, but
it prevents the random explosion race conditions that make for
confusing user experience when importing live databases.

Thanks, @brandonrobertz
2021-06-26 15:24:54 -07:00
Simon Willison ff17970ed4 Release 0.58a1
Refs #1365, #1377
2021-06-24 09:24:59 -07:00
Simon Willison b1fd24ac9f skip_csrf(datasette, scope) plugin hook, refs #1377 2021-06-23 15:40:09 -07:00
Simon Willison 4a3e8561ab Default 405 for POST, plus tests 2021-06-23 15:40:09 -07:00
Chris Amico a6c55afe8c
Ensure db.path is a string before trying to insert into internal database (#1370)
Thanks, @eyeseast
2021-06-21 08:57:38 -07:00
Simon Willison cd7678fde6 Release 0.58a0
Refs #1371
2021-06-09 21:51:14 -07:00
Simon Willison d23a267138 Make request available to menu plugin hooks, closes #1371 2021-06-09 21:45:24 -07:00
Simon Willison a3faf37883 Release 0.57.1
Refs #1364, #1367
2021-06-08 09:26:45 -07:00
Simon Willison f4c5777c7e Fix visual glitch in nav menu, closes #1367 2021-06-07 11:24:14 -07:00
Simon Willison 03ec71193b Don't truncate list of columns on /db page, closes #1364 2021-06-06 15:07:45 -07:00
Simon Willison 58746d3c51 Release 0.57
Refs #263, #615, #619, #1238, #1257, #1305, #1308, #1320, #1332, #1337, #1349, #1353, #1359, #1360
2021-06-05 15:06:55 -07:00
Simon Willison 8f311d6c1d Correctly escape output of ?_trace, refs #1360 2021-06-05 15:03:38 -07:00
Simon Willison ff29dd55fa ?_trace=1 now depends on trace_debug setting, closes #1359 2021-06-05 13:18:37 -07:00
Simon Willison a634121525
Make custom pages compatible with base_url setting
Closes #1238

- base_url no longer causes custom page routing to fail
- new route_path key in request.scope storing the path that was used for routing with the base_url prefix stripped
- TestClient used by tests now avoids accidentally double processing of the base_url prefix
2021-06-05 11:59:54 -07:00
Simon Willison 6e9b07be92 More inclusive language 2021-06-02 21:45:03 -07:00
Guy Freeman 0f41db1ba8
Avoid error sorting by relationships if related tables are not allowed
Refs #1306
2021-06-01 21:25:27 -07:00
Simon Willison f40d1b99d6 Don't show '0 results' on error page, refs #619 2021-06-01 21:09:10 -07:00
Simon Willison ea5b237800 Show error message on bad query, closes #619 2021-06-01 20:59:29 -07:00
Simon Willison 9552414e1f
Re-display user's query with an error message if an error occurs (#1346)
* Ignore _shape when returning errors
2021-06-01 20:46:20 -07:00
Simon Willison 0f1e47287c Fixed bug with detect_fts for table with single quote in name, closes #1257 2021-06-01 20:27:04 -07:00
Simon Willison 807de378d0 /-/databases and homepage maintain connection order, closes #1216 2021-06-01 20:10:15 -07:00
Simon Willison 0539bf0816 Don't execute facets/counts for _shape=array or object, closes #263 2021-06-01 19:53:00 -07:00
Simon Willison a18e8641bc Don't reflect nofacet=1 and nocount=1 in BLOB URLs, refs #1353 2021-06-01 15:35:33 -07:00
Simon Willison fd368d3b2c New _nocount=1 option, used to speed up CSVs - closes #1353 2021-06-01 09:12:32 -07:00
Simon Willison 8bde6c5461 Rename ?_nofacets=1 to ?_nofacet=1, refs #1353 2021-06-01 08:56:00 -07:00
Simon Willison d1d06ace49 ?_trac=1 for CSV, plus ?_nofacets=1 when rendering CSV
Closes #1351, closes #1350
2021-06-01 08:49:50 -07:00
Simon Willison c5ae1197a2 ?_nofacets=1 option, closes #1350 2021-05-30 22:39:14 -04:00
Simon Willison f7d3e76fb3 Facets now execute ignoring ?_col and ?_nocol, fixes #1345 2021-05-30 22:31:14 -04:00
Simon Willison 7b106e1060 Release 0.57a1
Refs #1319, #1320, #1331, #1337, #1338, #1341
2021-05-27 09:54:21 -07:00
Simon Willison 1a8972f9c0
Upgrade Heroku runtime to python-3.8.10 2021-05-27 09:11:03 -07:00
Simon Willison 7e983fede6 ?_facet_size=max, ... now links to that, closes #1337
Refs #1332
2021-05-27 09:00:58 -07:00
Simon Willison 51d7881140 'Show all columns' menu item if any _col= set, closes #1341
Refs #615
2021-05-26 21:31:12 -07:00
Simon Willison f1c29fd6a1
?_col=/?_nocol= to show/hide columns on the table page
Closes #615

* Cog icon for hiding columns
* Show all columns cog menu item
* Do not allow hide column on primary keys
* Allow both ?_col= and ?_nocol=
* De-duplicate if ?_col= passed multiple times
* 400 error if user tries to ?_nocol= a primary key
* Documentation for ?_col= and ?_nocol=
2021-05-26 21:17:43 -07:00
Simon Willison eae3084b46 Fixed another Jinja warning, refs #1338 2021-05-24 10:52:09 -07:00
Simon Willison 2bd9d54b27 Fix Jinja warnings, closes #1338, refs #1331 2021-05-23 18:41:50 -07:00
Simon Willison a443dba82f Release 0.57a0
Refs #1281, #1282, #1289, #1290, #1308, #1313, #1314, #1321, #1323, #1325, #1330, #1332, #1335
2021-05-22 17:45:54 -07:00
Simon Willison 9789b94da4 ?_facet_size=100 parameter, closes #1332 2021-05-22 17:34:33 -07:00
Simon Willison a4bb2abce0 Show primary key cells in bold without affecting columns called 'link', closes #1308 2021-04-23 23:07:37 -07:00
Simon Willison 87b583a128 Clearer help text for --reload
Immutable databases are not commonly used, but it's useful to clarify
that --reload will pick up on changes to metadata.
2021-04-02 13:20:51 -07:00
Marjorie Roswell 7b1a9a1999
Fix little typo (#1282) 2021-03-29 12:57:34 -07:00
Simon Willison af5a7f1c09 Release 0.56
Refs #1005, #1031, #1141, #1229, #1236, #1239, #1246, #1247, #1252, #1266, #1276, #1278
2021-03-28 17:41:12 -07:00
Simon Willison d579fcf4f7 Applied some fixes suggested by @withshubh in #1260 2021-03-28 17:20:55 -07:00
Campbell Allen f92d823766
ensure immutable databses when starting in configuration directory mode with (#1229)
* check if immutables is empty list of None
* update docs on how to create the inspect-data.json
2021-03-28 17:17:31 -07:00
Bob Whitelock e72397d65b
Add styling to lists within table cells (fixes #1141) (#1252)
This overrides the Datasette reset (see
d0fd833b8c/datasette/static/app.css (L35-L38)),
to add back the default styling of list items displayed within Datasette
table cells.
2021-03-28 17:14:04 -07:00
Simon Willison 48d5e0e6ac Fix for no such table: pragma_database_list, refs #1276 2021-03-28 16:44:29 -07:00
Simon Willison 6ad544df5e Fixed master -> main in a bunch of places, mainly docs 2021-03-23 09:19:41 -07:00
Konstantin Baikov 8e18c79431
Use context manager instead of plain open (#1211)
Context manager with open closes the files after usage.

When the object is already a pathlib.Path i used read_text
write_text functions

In some cases pathlib.Path.open were used in context manager,
it is basically the same as builtin open.

Thanks, Konstantin Baikov!
2021-03-11 08:15:49 -08:00
Simon Willison 7c87532acc New .add_memory_database() method, closes #1247 2021-02-28 20:02:18 -08:00
Simon Willison 47eb885cc2 JSON faceting now suggested even if column has blank strings, closes #1246 2021-02-28 19:44:04 -08:00
Simon Willison 726f781c50 Fix for arraycontains bug, closes #1239 2021-02-22 16:22:47 -08:00
Simon Willison 1f9cca33b4 Resizable SQL editor using cm-resize, refs #1236 2021-02-19 15:47:52 -08:00
Simon Willison cb8a293bd7 Release 0.55
Refs #1205, #1207, #1214, #1221, #1226, #1227, #1232, #1235
2021-02-18 18:01:06 -08:00
Simon Willison 6f41c8a2be
--crossdb option for joining across databases (#1232)
* Test for cross-database join, refs #283
* Warn if --crossdb used with more than 10 DBs, refs #283
* latest.datasette.io demo of --crossdb joins, refs #283
* Show attached databases on /_memory page, refs #283
* Documentation for cross-database queries, refs #283
2021-02-18 14:09:12 -08:00
Simon Willison 36a44bffbf Validation for --port, closes #1226 2021-02-18 10:05:27 -08:00
Simon Willison eda652cf6e
--ssl-keyfile and --ssl-certfile options to "datasette serve"
Closes #1221
2021-02-11 16:52:16 -08:00
Simon Willison 3a3de76009 Release 0.54.1
Refs #1214
2021-02-02 13:24:05 -08:00
Simon Willison 7a2ed9f8a1 Fixed bug with ?_sort= and ?_search=, closes #1214 2021-02-02 13:21:03 -08:00
Simon Willison 1600d2a3ec Renamed /:memory: to /_memory, with redirects - closes #1205 2021-01-28 14:48:56 -08:00
Simon Willison 0b9ac1b2e9
Release 0.54
Refs #509, #1091, #1150, #1151, #1166, #1167, #1178, #1181, #1182, #1184, #1185, #1186, #1187, #1194, #1198
2021-01-25 09:33:29 -08:00
Simon Willison a5ede3cdd4 Fixed bug loading database called 'test-database (1).sqlite'
Closes #1181.

Also now ensures that database URLs have special characters URL-quoted.
2021-01-24 21:13:05 -08:00
Simon Willison 07e1635615 All ?_ parameters now copied to hidden form fields, closes #1194 2021-01-24 19:10:10 -08:00
Simon Willison 25c2933667 publish heroku now uses python-3.8.7 2021-01-22 16:46:25 -08:00
Simon Willison 57f4d7b82f Release 0.54a0
Refs #1091, #1145, #1151, #1156, #1157, #1158, #1166, #1170, #1178, #1182, #1184, #1185, #1186, #1187
2021-01-19 12:47:30 -08:00
Simon Willison c38c42948c extra_body_script module support, closes #1187 2021-01-13 18:14:33 -08:00
Simon Willison fa0c3777b8 script type=module support, closes #1186 2021-01-13 17:50:52 -08:00
Simon Willison 640ac7071b Better PRAGMA error message, closes #1185 2021-01-12 14:26:19 -08:00
Simon Willison 8e8fc5cee5 Applied Black 2021-01-11 13:34:38 -08:00
Simon Willison 649f48cd70 request.full_path property, closes #1184 2021-01-11 13:32:58 -08:00
Simon Willison e1efa9b7a3 force_https_urls on for publish cloudrun, refs #1178 2021-01-06 10:13:34 -08:00
Simon Willison a93a65b027
Fixed Prettier formatting, closes #1166 2020-12-31 13:46:32 -08:00
Simon Willison 80870911de
Trying out bad formatting, refs #1166 2020-12-31 13:44:47 -08:00
Simon Willison 5193d0b3e4 Apply prettier to table.js, refs #1166 2020-12-31 13:27:39 -08:00
Simon Willison 6705560148 Refactor out sqlite_extensions option 2020-12-29 14:16:05 -08:00
Miroslav Šedivý a882d67962
Modernize code to Python 3.6+ (#1158)
* Compact dict and set building
* Remove redundant parentheses
* Simplify chained conditions
* Change method name to lowercase
* Use triple double quotes for docstrings

Thanks, @eumiro!
2020-12-23 09:04:32 -08:00
Simon Willison 90eba4c3ca Prettier CREATE TABLE SQL for _internal 2020-12-22 15:55:43 -08:00
Simon Willison 8919f99c2f Improved .add_database() method design
Closes #1155 - _internal now has a sensible name

Closes #509 - Support opening multiple databases with the same stem
2020-12-22 12:04:18 -08:00