{"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 267516066, "label": "Implement sensible query pagination"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 267788884, "label": "Support Django-style filters in querystring arguments"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 268176505, "label": "Support CSV export with a .csv extension"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 268469569, "label": "Protect against malicious SQL that causes damage even though our DB is immutable"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 268592894, "label": "While running, server should spot new db files added to its directory "}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 271242824, "label": "Run SQLite operations in a thread pool"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 271301468, "label": "Dockerfile should build more recent SQLite with FTS5 and spatialite support"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 272694136, "label": "Unit tests against application itself"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273054652, "label": "Implement a better database index page"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273163905, "label": "Rethink how metadata is generated and stored"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273192789, "label": "Command that builds a local docker container"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273248366, "label": "Enforce pagination (or at least limits) for arbitrary custom SQL"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273267081, "label": "Paginate views using OFFSET/LIMIT"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273278840, "label": "Set up some example datasets on a Cloudflare-backed domain"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273569068, "label": "Add more detailed API documentation to the README"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273596159, "label": "Post a blog entry announcing it to the world"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 273678673, "label": "Detect foreign keys and use them to link HTML pages together"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 274001453, "label": "UI for editing named parameters"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 309471814, "label": "Ability to sort (and paginate) by column"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 316621102, "label": "Add limit on the size in KB of data returned from a single query"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 323718842, "label": "Mechanism for ranking results from SQLite full-text search"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 324162476, "label": "Mechanism for automatically picking up changes when on-disk .db file changes"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 326767626, "label": "Support multiple filters of the same type"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 333086005, "label": "Deploy demo of Datasette on every commit that passes tests"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 339505204, "label": "Package datasette for installation using homebrew"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 346027040, "label": "Table view should support filtering via many-to-many relationships"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 440222719, "label": "_facet_array should work against views"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 443021509, "label": "Paginate + search for databases/tables on the homepage"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 443023308, "label": "Replace most of `.inspect()` (and `datasette inspect`) with table counting"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 443038584, "label": "Decide what to do about /-/inspect"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 444746021, "label": "Pagination for the database index page"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 445850934, "label": "Plugin hook: filters_from_request"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 446429421, "label": "Facet by date"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 447408527, "label": "Option to facet by date using month or year"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 447451492, "label": "Mechanism for displaying summary of m2m relationships in rows on table view"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 449445715, "label": "Figure out how to use Firebase with cloudrun to enable vanity URLs and CDN caching"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 449886319, "label": "Rename metadata.json to config.json"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 450032134, "label": "facet_m2m gets confused by multiple relationships"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 459537047, "label": "Add unit test for \"static\" mechanism in plugins"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 463915863, "label": "Mechanism for secrets in plugin configuration"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 464449570, "label": "Add a universal navigation bar which can be modified by plugins"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 464868844, "label": "datasette publish option for setting plugin configuration secrets"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 517451234, "label": "?_col= and ?_nocol= support for toggling columns on table view"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 519613116, "label": "Refactor TableView.data() method"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 520667773, "label": "Mechanism for indicating foreign key relationships in the table and query page URLs"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 520715188, "label": "Datasette should work with Python 3.8 (and drop compatibility with Python 3.5)"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 531755959, "label": "Move hashed URL mode out to a plugin"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 627794879, "label": "Redesign default .json format"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 628003707, "label": "Ability to sign in to Datasette as a root account"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 628089318, "label": "\"datasette publish\" should bake in a random --secret"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 634112607, "label": "Ability to customize what happens when a view permission fails"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 634139848, "label": "Mechanism for specifying allow_sql permission in metadata.json"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 637966833, "label": "Log out mechanism for clearing ds_actor cookie"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 638212085, "label": "Magic parameters for canned queries"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 640917326, "label": "canned_queries() plugin hook"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 646737558, "label": "Refactor default views to use register_routes"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 657572753, "label": "?sort=colname~numeric to sort by by column cast to real"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 718723543, "label": "Add Link: pagination HTTP headers"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 729057388, "label": "Switch to .blob render extension for BLOB downloads"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 749283032, "label": "register_output_renderer() should support streaming data"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 951185411, "label": "feature request: social meta tags"}} {"labels_id": {"value": 729586521, "label": "medium"}, "issues_id": {"value": 1378636455, "label": "`datasette publish provider .` to publish whole directory, similar to configuration directory mode"}}