github simonw/datasette 1.0a16

pre-release13 days ago

This release focuses on performance, in particular against large tables, and introduces some minor breaking changes for CSS styling in Datasette plugins.

  • Removed the unit conversions feature and its dependency, Pint. This means Datasette is now compatible with the upcoming Python 3.13. (#2400, #2320)
  • The datasette --pdb option now uses the ipdb debugger if it is installed. You can install it using datasette install ipdb. Thanks, Tiago Ilieve. (#2342)
  • Fixed a confusing error that occurred if metadata.json contained nested objects. (#2403)
  • Fixed a bug with ?_trace=1 where it returned a blank page if the response was larger than 256KB. (#2404)
  • Tracing mechanism now also displays SQL queries that returned errors or ran out of time. datasette-pretty-traces 0.5 includes support for displaying this new type of trace. (#2405)
  • Fixed a text spacing with table descriptions on the homepage. (#2399)
  • Performance improvements for large tables:
    • Suggested facets now only consider the first 1000 rows. (#2406)
    • Improved performance of date facet suggestion against large tables. (#2407)
    • Row counts stop at 10,000 rows when listing tables. (#2398)
    • On table page the count stops at 10,000 rows too, with a "count all" button to execute the full count. (#2408)
  • New .dicts() internal method on Results that returns a list of dictionaries representing the results from a SQL query: (#2414)
    rows  =  (await  db.execute("select * from t")).dicts()
  • Default Datasette core CSS that styles inputs and buttons now requires a class of "core" on the element or a containing element, for example <form class="core">. (#2415)
  • Similarly, default table styles now only apply to <table class="rows-and-columns">. (#2420)

Don't miss a new datasette release

NewReleases is sending notifications on new releases.