django-sql-dashboard by simonw

1,409 downloads this week        Star

Screenshot of simonw/django-sql-dashboard

README source code

django-sql-dashboard

PyPI Changelog Tests Documentation Status License

Django SQL Dashboard provides an authenticated interface for executing read-only SQL queries directly against your PostgreSQL database, bringing a useful subset of Datasette to Django.

Applications include ad-hoc analysis and debugging, plus the creation of reporting dashboards that can be shared with team members or published online.

See my blog for more about this project, including a video demo.

Features include:

  • Safely run read-only one or more SQL queries against your database and view the results in your browser
  • Bookmark queries and share those links with other members of your team
  • Create saved dashboards from your queries, with full control over who can view and edit them
  • Named parameters such as select * from entries where id = %(id)s will be turned into form fields, allowing quick creation of interactive dashboards
  • Produce bar charts, progress bars and more from SQL queries, with the ability to easily create new custom dashboard widgets using the Django template system
  • Write SQL queries that safely construct and render markdown and HTML
  • Export the full results of a SQL query as a downloadable CSV or TSV file, using a combination of Django's streaming HTTP response mechanism and PostgreSQL server-side cursors to efficiently stream large amounts of data without running out of resources
  • Copy and paste the results of SQL queries directly into tools such as Google Sheets or Excel
  • Uses Django's authentication system, so dashboard accounts can be granted using Django's Admin tools

Documentation

Full documentation is at django-sql-dashboard.datasette.io

Screenshot

Screenshot showing a SQL query that produces a table and one that produces a bar chart

Alternatives

  • django-sql-explorer provides a related set of functionality that also works against database backends other than PostgreSQL