{"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 276718605, "label": "Set up a pattern portfolio"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 502355384, "label": "Testing utilities should be available to plugins"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 502993509, "label": "Redesign register_output_renderer callback"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 503053243, "label": "Datasette should not completely crash if one SQLite database is malformed"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 503128914, "label": "Enable \"explain\" and \"explain query plan\" for CTEs"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 503217375, "label": "Databases on index page should display in order they were passed to \"datasette serve\"?"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 507454958, "label": "Handle really wide tables better"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 516874735, "label": "Basic join support for table view"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 520507306, "label": "Mechanism for seeing indexes on a specific table"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 520655983, "label": "\"Invalid SQL\" page should let you edit the SQL"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 520667773, "label": "Mechanism for indicating foreign key relationships in the table and query page URLs"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 534530973, "label": "Reduce table counts on index page with many databases"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 559964149, "label": "Introduce a SQL statement parser in Python"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 563347679, "label": "Make it easier to load SpatiaLite"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 569317377, "label": "Cashe-header missing in http-response"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 574021194, "label": "--reload sould reload server if code in --plugins-dir changes"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 574035432, "label": "is_hidden_table context variable on table.html page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 576711589, "label": "Update SQLite bundled with Docker container"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 585390482, "label": "Option in metadata.json to set default sort order for a table"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 600583271, "label": "Custom CSS class on body for styling canned queries"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 608613033, "label": "Extract the hash-URL mechanism out into a plugin"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 610192152, "label": "Directory configuration mode should support metadata.yaml"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 611252244, "label": "Add notlike table filter"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 611540797, "label": "Ability to set custom default _size on a per-table basis"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 612382643, "label": "Question: Access to immutable database-path"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 613422636, "label": "Way of seeing full schema for a database"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 633578769, "label": "Support \"allow\" block on root, databases and tables, not just queries"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 643510821, "label": "Set an upper limit on total facet suggestion time for a page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 647103735, "label": "\"Logged in as: XXX - logout\" navigation item"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 657572753, "label": "?sort=colname~numeric to sort by by column cast to real"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 657747959, "label": "SQL query output should show numeric values in a different colour"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 658476055, "label": "Use white-space: pre-wrap on ALL table cell contents"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 659580487, "label": "Request method for retrieving the unparsed request body"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 663317875, "label": "/database.db download should include content-length header"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 672421411, "label": "Support reverse pagination (previous page, has-previous-items)"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 679700269, "label": "Pass columns to extra CSS/JS/etc plugin hooks"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 684111953, "label": "datasette --get exit code should reflect HTTP errors"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 687681018, "label": "register_output_renderer render function should be able to return a Response"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 696908389, "label": "Verification checks for metadata.json on startup"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 699622046, "label": "datasette --pdb option for debugging errors"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 700728217, "label": "raise_404 mechanism for custom templates"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 705057955, "label": "Add --tar option to \"datasette publish heroku\""}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 705108492, "label": "request an \"-o\" option on \"datasette server\" to open the default browser at the running url"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 705827457, "label": "Support the dbstat table"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 705840673, "label": "Support faceting against arbitrary SQL queries"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 710650633, "label": "Default table view JSON should include CREATE TABLE"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 712839383, "label": "Column actions should support facet by compound primary keys"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 714449879, "label": "Change \"--config foo:bar\" to \"--setting foo bar\""}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 716756082, "label": "Better handling of multiple matching template wildcard paths"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 717699884, "label": "Wide tables should scroll horizontally within the page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 718238967, "label": "from_json jinja2 filter"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 721050815, "label": "\"Edit SQL\" button on canned queries"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 723803777, "label": "--load-extension=spatialite shortcut"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 724878151, "label": "Bring date parsing into Datasette core"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 725184645, "label": "Better way of representing binary data in .csv output"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 726910999, "label": "/db/table/-/blob/pk/column.blob download URL"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 727627923, "label": "extra_js_urls and extra_css_urls should respect base_url setting"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 729057388, "label": "Switch to .blob render extension for BLOB downloads"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 729096595, "label": "Better display of binary data on arbitrary query results page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 730199464, "label": "Switch from versioneer to concrete version in setup.py"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 730797787, "label": "--cors should enable /fixtures.db CORS access"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 731827081, "label": "New explicit versioning mechanism"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 732634375, "label": ".blob output renderer"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 733768037, "label": "latest.datasette.io should include plugins from fixtures"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 733829385, "label": "database_actions plugin hook"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 734777631, "label": "\"View all\" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 736365306, "label": "Advanced CSV export for arbitrary queries"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 741231849, "label": "Idea: ?_extra=urls for getting back URLs to useful things"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 741862364, "label": "Custom widgets for canned query forms"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 743359646, "label": "TSV should be a default export option"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 743371103, "label": "Support linking to compound foreign keys"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 750330029, "label": "datasette publish option for installing extra apt-get packages"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 752966476, "label": "--load-extension=spatialite not working with datasetteproject/datasette docker image"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 752995227, "label": "SpatiaLite error could suggest --load-extension=spatialite"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 753876808, "label": "Include generated columns in fixtures.db, if SQLite version supports it"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 756622648, "label": "Show pysqlite3 version on /-/versions"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 758899581, "label": "New filter: array does not contain"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 759695780, "label": "Option to omit header row in CSV export"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 761713079, "label": "\"Powered by Datasette\" should link to new datasette.io site"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 780153562, "label": "Ability to stream all rows as newline-delimited JSON"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 787098146, "label": "`datasette publish upload` mechanism for uploading databases to an existing Datasette instance"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 789336592, "label": "view_name = \"query\" for the query page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 792890765, "label": "?_size=10 option for the arbitrary query page would be useful"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 799663959, "label": "gzip support for HTML (and JSON) responses"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 806849424, "label": "Support SSL/TLS directly"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 812228314, "label": "Ability to increase size of the SQL editor window"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 812704869, "label": "?_pretty=1 option for pretty-printing JSON output"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 814595021, "label": "Share button for copying current URL"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 817544251, "label": "Sticky table column headers would be useful, especially on the query page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 828858421, "label": "Allow canned query params to specify default values"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 837348479, "label": "Don't attempt to run count(*) against virtual tables"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 893890496, "label": "?_facet_size=X to increase number of facets results on the page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 898904402, "label": "\"More\" link for facets that shows _facet_size=max results"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 899851083, "label": "?_col=/?_nocol= to show/hide columns on the table page"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 906977719, "label": "?_nofacets=1 query string argument for disabling facets and suggested facets"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 906993731, "label": "Get `?_trace=1` working with CSV and streaming CSVs"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 908446997, "label": "?_nocount=1 for opting out of table counts"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 910088936, "label": "datasette --get should efficiently handle streaming CSV"}} {"labels_id": {"value": 727708734, "label": "enhancement"}, "issues_id": {"value": 912419349, "label": "`?_trace=1` should only be available with a new `trace_debug` setting"}}