Datasette Lite
Datasette Lite provides a new way to run Datasette: entirely in your browser, thanks to WebAssembly and the Pyodide project.
Visit https://lite.datasette.io/ to try it out.
You can also pass it the URL to a SQLite database, CSV file or SQL initialization script. Here are some examples:
https://lite.datasette.io/?url=https://congress-legislators.datasettes.com/legislators.db loads a database with historic Members of the United States Congress.
https://lite.datasette.io/?csv=https%3A%2F%2Fraw.githubusercontent.com%2Ffivethirtyeight%2Fdata%2Fmaster%2Ffight-songs%2Ffight-songs.csv loads US college fight songs from this CSV file in the FiveThirtyEight GitHub repository.
Read more about Datasette Lite in this series of articles on my blog:
Datasette Lite: a server-side Python web application running in a browser
Sort by number of JSON intersections, which shows how Datasette Lite can be used as a tool to demonstrate the answer to questions about how to do something using SQL
Datasette Tutorials
The official Datasette website now features tutorials to help people get started using Datasette:
Exploring a database with Datasette shows how to use the Datasette web interface to explore a new database.
Learn SQL with Datasette introduces SQL, and shows how to use that query language to ask questions of your data.
Cleaning data with sqlite-utils and Datasette shows how to use sqlite-utils to clean data, import it into SQLite and then explore it with Datasette. Includes a ten minute accompanying video.
Sign up for the preview of Datasette Cloud
Datasette Cloud is the new hosted SaaS service I am building to help teams run a private Datasette instance to share and collaborate on data analysis. It's nearly ready for preview users - if you'd like to try it out, please add yourself to the waiting list using the form on the homepage.
Datasette Cloud features include:
Upload CSVs and import data from external sources to populate your own, private Datasette instance
Invite coworkers to collaborate in your team's own dedicated space
Build search engines against your data
All of Datasette's standard features: filter and facet your data, execute SQL queries, generate visualizations and more
Community highlights
Philip James has been using Datasette to publish searchable versions of the minutes of city meetings for the cities of Alameda and Oakland:
https://data.oakland.works/oakland_minutes/pages lists 37,000 pages of Oakland civic meeting minutes dating back to 2003 - see Philip’s Twitter thread for details
https://data.alameda.one/alameda_minutes/pages provides 18,000 pages of Alameda city minutes - thread here
Alex Garcia has published a series of interactive posts about writing SQLite extensions:
Introducing sqlite-lines - a SQLite extension for reading files line-by-line
Introducing sqlite-html: query, parse, and generate HTML in SQLite
Introducing sqlite-http: A SQLite extension for making HTTP requests
Each post includes interactive demos powered Observable notebooks, some of which work by talking to a Datasette backend using Alex’s Datasette Client Observable integration.
Jim Crist-Harif released Ibis-Datasette, a Python library that lets you build SQL queries using a SQLAlchemy style chained query builder syntax, run them against a Datasette instance and get back the results in a DataFrame-like object.
In [1]: import ibis
In [2]: ibis.options.interactive = True
In [3]: con = ibis.datasette.connect(
...: "https://congress-legislators.datasettes.com/legislators"
...: )
In [4]: legislators = con.tables["legislators"]
In [5]: legislators.groupby("bio_gender").count()
Out[5]:
bio_gender count
0 F 399
1 M 12195
Datasette Discord
The Datasette project now has an official presence on Discord! Join our Discord server here to talk about Datasette and the other projects that make up the wider Datasette ecosystem.