{"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 710650633, "label": "Default table view JSON should include CREATE TABLE"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1823428714, "label": "Add __all__ to datasette/__init__.py"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1469044738, "label": "API explorer should list mutable databases first"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1397193691, "label": "__bool__ method on Results"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1108235694, "label": "A proper favicon"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1105916061, "label": "Add KNN and data_licenses to hidden tables list"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1084007781, "label": "\"Query took\" should be \"Queries took\""}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1083726550, "label": "Trace should show queries on the write connection too"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 1082564912, "label": "`?_nosuggest=1` parameter for disabling facet suggestions on table view"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 969840302, "label": "`--help-config` should be called `--help-settings`"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 962391325, "label": "Show count of facet values if ?_facet_size=max"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 961367843, "label": "Ability to default to hiding the SQL for a canned query"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 959898166, "label": "`datasette publish cloudrun --cpu X` option"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 953218043, "label": "Labels explaining what hidden tables are for"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 940077168, "label": "\"searchmode\": \"raw\" in table metadata"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 818430405, "label": "datasette.add_memory_database() method"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 812704869, "label": "?_pretty=1 option for pretty-printing JSON output"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 808843401, "label": "--port option should validate port is between 0 and 65535"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 792890765, "label": "?_size=10 option for the arbitrary query page would be useful"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 788447787, "label": "?_size= argument is not persisted by hidden form fields in the table filters"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 785588942, "label": "extra_body_script() support for script type=\"module\""}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 780278550, "label": "Make original path available to render hooks"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 776101101, "label": "Update a whole bunch of links to datasette.io instead of datasette.readthedocs.io"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 772438273, "label": "Use time.perf_counter() instead of time.time() to measure performance"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 772408750, "label": "Rename _schemas to _internal"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 760605882, "label": "Feature: --create option to create database file if it does not yet exist"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 759695780, "label": "Option to omit header row in CSV export"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 758899581, "label": "New filter: array does not contain"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 753788261, "label": "messagge_is_html typo"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 749981663, "label": "config.json in directory config mode should be settings.json"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 749979454, "label": "Rename /-/config to /-/settings"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 743370900, "label": "Foreign key links break for compound foreign keys"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 733829385, "label": "database_actions plugin hook"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 732905360, "label": "Table actions menu on view pages, not on query pages"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 732685643, "label": ".csv should link to .blob downloads"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 730802994, "label": "Database download should implement cascading permissions"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 730797787, "label": "--cors should enable /fixtures.db CORS access"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 728895193, "label": "Link to blob downloads in the right places"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 726094754, "label": "Add horizontal scrollbar to tables"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 725996507, "label": "Make it possible to download BLOB data from the Datasette UI"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 725743755, "label": "datasette.urls.table(..., format=\"json\") argument"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 725184645, "label": "Better way of representing binary data in .csv output"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 725099777, "label": "datasette.urls.static_plugins(...) method"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 723803777, "label": "--load-extension=spatialite shortcut"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 718255803, "label": "Replace MockRequest with Request.fake()"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 718238967, "label": "from_json jinja2 filter"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 716756082, "label": "Better handling of multiple matching template wildcard paths"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 705108492, "label": "request an \"-o\" option on \"datasette server\" to open the default browser at the running url"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 700728217, "label": "raise_404 mechanism for custom templates"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 696908389, "label": "Verification checks for metadata.json on startup"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 688622148, "label": "Simplify imports of common classes"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 684961449, "label": "Try out CodeMirror SQL hints"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 684111953, "label": "datasette --get exit code should reflect HTTP errors"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 682005535, "label": "datasette install -U for upgrading packages"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 665407663, "label": "Interactive debugging tool for \"allow\" blocks"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 665403403, "label": "Allow documentation doesn't explain what happens with multiple allow keys"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 665400224, "label": "\"allow\": true for anyone, \"allow\": false for nobody"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 663317875, "label": "/database.db download should include content-length header"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 663228985, "label": "datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 663145122, "label": "Add temporary plugin testing pattern to the testing docs"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 659580487, "label": "Request method for retrieving the unparsed request body"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 658476055, "label": "Use white-space: pre-wrap on ALL table cell contents"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 649329013, "label": "Only show \"log out\" button if user is authenticated using a ds_actor cookie"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 648673556, "label": "Release notes for 0.45"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 648637666, "label": "POST to /db/canned-query that returns JSON should be supported (for API clients)"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 648569227, "label": "Database page documentation still talks about hashes in URLs"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 647879783, "label": "Add log out link to the pattern portfolio"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 647103735, "label": "\"Logged in as: XXX - logout\" navigation item"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 646840273, "label": "Rename the _timestamp magic parameters to _now"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 645975649, "label": "register_routes() should support non-async view functions too"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 643510821, "label": "Set an upper limit on total facet suggestion time for a page"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 642652808, "label": "Script to generate larger SQLite test files"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 642572841, "label": "Database page loads too slowly with many large tables (due to table counts)"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 641460179, "label": "Respect default scope[\"actor\"] if one exists"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 637370652, "label": "Plugin $env secrets mechanism doesn't work inside lists"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 637365801, "label": "actor_matches_allow fails to consider all keys"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 637342551, "label": "startup() plugin hook"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 637253789, "label": "/-/metadata and so on should respect view-instance permission"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 636614868, "label": "It would be more intuitive if \"allow\": none meant \"no-one can do this\""}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 635107393, "label": "Documentation is inconsistent about \"id\" as required field on actor"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 635077656, "label": "request.url_vars helper property"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 635076066, "label": "Add Response class to internals documentation"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 634651079, "label": "Remove --debug option from datasette serve"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 633066114, "label": "Refactor permission check for canned query"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 630120235, "label": "Documentation for new \"params\" setting for canned queries"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 629541395, "label": "response.set_cookie() method"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 629535669, "label": "Show hooks implemented by each plugin on /-/plugins"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 629524205, "label": "CSRF protection for /-/messages tool and writable canned queries"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 629459637, "label": "Replace response.body.decode(\"utf8\") with response.text in tests"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 628121234, "label": " /-/permissions debugging tool"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 628025100, "label": "Datasette secret mechanism - initially for signed cookies"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 626582657, "label": "Make human_description_en explicitly available to output renderers"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 626171242, "label": "Error pages not correctly loading CSS"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 626163974, "label": "register_output_renderer render callback should be optionally awaitable"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 625930207, "label": "register_output_renderer can_render mechanism"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 620969465, "label": "Allow to specify a URL fragment for canned queries"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 612382643, "label": "Question: Access to immutable database-path"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 611540797, "label": "Ability to set custom default _size on a per-table basis"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 611252244, "label": "Add notlike table filter"}} {"labels_id": {"value": 729585263, "label": "small"}, "issues_id": {"value": 610342575, "label": "?_searchmode=raw should be documented on full-text search page"}}