267516066,729586521 |
medium 729586521 |
Implement sensible query pagination 267516066 |
267707940,754269786 |
plugins 754269786 |
Datasette Plugins 267707940 |
267726219,729585263 |
small 729585263 |
Default HTML/CSS needs to look reasonable and be responsive 267726219 |
267741262,729585263 |
small 729585263 |
Efficient url for downloading the raw database file 267741262 |
267759136,750789605 |
documentation 750789605 |
Config file with support for defining canned queries 267759136 |
267769034,727708739 |
wontfix 727708739 |
Use Sanic configuration mechanism 267769034 |
267769431,1379448359 |
refactor 1379448359 |
Refactor to use class based views 267769431 |
267788884,729586521 |
medium 729586521 |
Support Django-style filters in querystring arguments 267788884 |
267861210,729587544 |
large 729587544 |
Command line tool for uploading one or more DBs to Now 267861210 |
267886865,729585263 |
small 729585263 |
/database?sql= should redirect correctly 267886865 |
268078453,727708733 |
duplicate 727708733 |
Do something neat with foreign keys 268078453 |
268106803,729587544 |
large 729587544 |
Try running SQLite queries in a separate thread 268106803 |
268176505,729586521 |
medium 729586521 |
Support CSV export with a .csv extension 268176505 |
268262480,727708736 |
good first issue 727708736 |
date, year, month and day querystring lookups 268262480 |
268453968,754730474 |
json-api 754730474 |
Ability to serialize massive JSON without blocking event loop 268453968 |
268469569,729586521 |
medium 729586521 |
Protect against malicious SQL that causes damage even though our DB is immutable 268469569 |
268470572,729587544 |
large 729587544 |
Implement command-line tool interface 268470572 |
268590777,729585263 |
small 729585263 |
Homepage should show summary of databases 268590777 |
268591332,727708739 |
wontfix 727708739 |
Homepage UI for editing metadata file 268591332 |
268592894,727708739 |
wontfix 727708739 |
While running, server should spot new db files added to its directory 268592894 |
268592894,729586521 |
medium 729586521 |
While running, server should spot new db files added to its directory 268592894 |
269731374,729585263 |
small 729585263 |
?_group_count=country - return counts by specific column(s) 269731374 |
271242824,729586521 |
medium 729586521 |
Run SQLite operations in a thread pool 271242824 |
271301468,729586521 |
medium 729586521 |
Dockerfile should build more recent SQLite with FTS5 and spatialite support 271301468 |
272391665,727708739 |
wontfix 727708739 |
Switch to ujson 272391665 |
272391665,729585263 |
small 729585263 |
Switch to ujson 272391665 |
272391665,754730474 |
json-api 754730474 |
Switch to ujson 272391665 |
272661336,729585263 |
small 729585263 |
Pick a name 272661336 |
272694136,729586521 |
medium 729586521 |
Unit tests against application itself 272694136 |
272735257,729585263 |
small 729585263 |
Make a proper README 272735257 |
273026602,727708739 |
wontfix 727708739 |
Solution for temporarily uploading DB so it can be built by docker 273026602 |
273026602,729585263 |
small 729585263 |
Solution for temporarily uploading DB so it can be built by docker 273026602 |
273054652,729586521 |
medium 729586521 |
Implement a better database index page 273054652 |
273121803,727708732 |
bug 727708732 |
Views should not attempt to link to records / use rowids 273121803 |
273121803,729585263 |
small 729585263 |
Views should not attempt to link to records / use rowids 273121803 |
273127117,729585263 |
small 729585263 |
Ship first version to PyPI 273127117 |
273127694,729585263 |
small 729585263 |
Ship a Docker image of the whole thing 273127694 |
273128608,729585263 |
small 729585263 |
publish command should detect if "now" is installed 273128608 |
273157085,727708735 |
help wanted 727708735 |
datasette publish hyper 273157085 |
273157085,750250793 |
datasette-publish 750250793 |
datasette publish hyper 273157085 |
273157085,947261894 |
feature 947261894 |
datasette publish hyper 273157085 |
273163905,729586521 |
medium 729586521 |
Rethink how metadata is generated and stored 273163905 |
273173116,729585263 |
small 729585263 |
Common header and footer 273173116 |
273174397,729585263 |
small 729585263 |
Link to .json and .jsono versions on various pages 273174397 |
273174447,729585263 |
small 729585263 |
Review design of JSON output 273174447 |
273181020,727708736 |
good first issue 727708736 |
Support for ?field__isnull=1 or similar 273181020 |
273181020,729585263 |
small 729585263 |
Support for ?field__isnull=1 or similar 273181020 |
273191608,729585263 |
small 729585263 |
Re-implement ?sql= mode 273191608 |
273191806,729585263 |
small 729585263 |
Show table SQL on table page 273191806 |
273192789,729586521 |
medium 729586521 |
Command that builds a local docker container 273192789 |
273247186,729587544 |
large 729587544 |
Support for title/source/license metadata 273247186 |
273248366,729586521 |
medium 729586521 |
Enforce pagination (or at least limits) for arbitrary custom SQL 273248366 |
273267081,729586521 |
medium 729586521 |
Paginate views using OFFSET/LIMIT 273267081 |
273278840,729586521 |
medium 729586521 |
Set up some example datasets on a Cloudflare-backed domain 273278840 |
273283166,729585263 |
small 729585263 |
publish command should take an optional --name argument 273283166 |
273296178,729585263 |
small 729585263 |
_nocache=1 query string option for use with sort-by-random 273296178 |
273296684,729585263 |
small 729585263 |
Send a 302 redirect to the new hash for hits to old hashes 273296684 |
273509159,729585263 |
small 729585263 |
Add --cors argument to serve 273509159 |
273510781,729585263 |
small 729585263 |
publish should have required argument specifying publisher 273510781 |
273537940,729585263 |
small 729585263 |
Add Travis CI badge to README 273537940 |
273554949,729585263 |
small 729585263 |
Rename after to next and provide a next_url 273554949 |
273569068,729586521 |
medium 729586521 |
Add more detailed API documentation to the README 273569068 |
273569477,729585263 |
small 729585263 |
Deploy final versions of fivethirtyeight and parlgov datasets (with view pagination) 273569477 |
273596159,729586521 |
medium 729586521 |
Post a blog entry announcing it to the world 273596159 |
273626815,727708732 |
bug 727708732 |
Individual row view is broken 273626815 |
273660425,727708732 |
bug 727708732 |
datasette package --metadata does not work with a relative path 273660425 |
273660425,727708736 |
good first issue 727708736 |
datasette package --metadata does not work with a relative path 273660425 |
273678673,729586521 |
medium 729586521 |
Detect foreign keys and use them to link HTML pages together 273678673 |
273703829,729587544 |
large 729587544 |
Filter UI on table page 273703829 |
273709194,729585263 |
small 729585263 |
Configure Travis to release new tags to PyPI 273709194 |
273846123,750250793 |
datasette-publish 750250793 |
datasette publish heroku 273846123 |
273878873,727708739 |
wontfix 727708739 |
Option to serve databases from a different prefix, serve regular content elsewhere 273878873 |
273895344,729585263 |
small 729585263 |
Add --license --license_url --source --source_url --title arguments to datasette publish 273895344 |
273944952,947261894 |
feature 947261894 |
package as a standalone binary 273944952 |
273944952,993222446 |
ci 993222446 |
package as a standalone binary 273944952 |
273998513,729585263 |
small 729585263 |
Allow shorter time limits to be set using a ?_sql_time_limit_ms =20 query string limit 273998513 |
274001453,729586521 |
medium 729586521 |
UI for editing named parameters 274001453 |
274022950,729585263 |
small 729585263 |
Link to JSON for the list of tables 274022950 |
274022950,754730474 |
json-api 754730474 |
Link to JSON for the list of tables 274022950 |
274023417,729585263 |
small 729585263 |
Default to 127.0.0.1 not 0.0.0.0 274023417 |
274023625,729585263 |
small 729585263 |
Start a change log 274023625 |
274023625,750789605 |
documentation 750789605 |
Start a change log 274023625 |
274264175,750250793 |
datasette-publish 750250793 |
datasette publish elasticbeanstalk 274264175 |
274264175,947261894 |
feature 947261894 |
datasette publish elasticbeanstalk 274264175 |
274265878,750250793 |
datasette-publish 750250793 |
datasette publish appengine 274265878 |
274265878,947261894 |
feature 947261894 |
datasette publish appengine 274265878 |
274315193,750789605 |
documentation 750789605 |
Document how pagination works 274315193 |
274378301,750789605 |
documentation 750789605 |
Set up readthedocs 274378301 |
274615452,947465681 |
metadata 947465681 |
Add “last_updated” to metadata 274615452 |
274662378,727708732 |
bug 727708732 |
Fix the bug on the database custom SQL query view 274662378 |
274662378,727708736 |
good first issue 727708736 |
Fix the bug on the database custom SQL query view 274662378 |
274662378,729585263 |
small 729585263 |
Fix the bug on the database custom SQL query view 274662378 |
274884209,750789605 |
documentation 750789605 |
Add documentation section about SQLite extensions 274884209 |
275082158,754269786 |
plugins 754269786 |
Build an "export this data to google sheets" plugin 275082158 |
275087397,754269786 |
plugins 754269786 |
Plugin that adds an authentication layer of some sort 275087397 |
275087397,947261894 |
feature 947261894 |
Plugin that adds an authentication layer of some sort 275087397 |
275089535,754730474 |
json-api 754730474 |
?_json=foo&_json=bar query string argument 275089535 |
275092453,754730474 |
json-api 754730474 |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 |
275125561,729587544 |
large 729587544 |
Datasette serve should accept paths/URLs to CSVs and other file formats 275125561 |
275125561,947261894 |
feature 947261894 |
Datasette serve should accept paths/URLs to CSVs and other file formats 275125561 |