Skip to content
master
Switch branches/tags
Code

Latest commit

This release:

- explicitly catches trying to connect to MySQL without specifiying
  a database to give a more informative error message (PR 108).
- allows listing views in the database summary (PR 104).
- switches the CI pipeline from Travis to GitHub actions (PRs 117 and
  118).
- adds a description to the Python package for greater
  discoverability (PR 121).
- Switches from a hybrid Yarn / NPM workflow for building JavaScript
  to one that just uses NPM (PR 116).
- Recognizes contributors in the README (PR 115).
e90e2b2

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Latest version released on PyPi

jupyterlab-sql

jupyterlab-sql adds a SQL user interface to JupyterLab:

  • explore your tables with a point-and-click interface
  • read and modify your database with custom queries

Installation

Installing on JupyterLab 1.x

To install jupyterlab-sql, run the following commands:

pip install jupyterlab_sql
jupyter serverextension enable jupyterlab_sql --py --sys-prefix
jupyter lab build

You will then need to restart any running Jupyter servers.

jupyterlab-sql only works with Python 3.5 and above.

JupyterLab legacy

To install jupyterlab-sql on versions of JupyterLab pre 1.0, run:

pip install jupyterlab_sql==0.2.1
jupyter serverextension enable jupyterlab_sql --py --sys-prefix
jupyter lab build

Usage

Starting a new SQL session

There is a SQL icon in the launcher (File > New Launcher):

You can also launch a session from the command palette: search for SQL.

Formulating the connection URL

The connection URL needs to be a valid database URL. Follow the SQLAlchemy guide on database URLs.

Executing statements

Press shift + enter or ctrl + enter while in the main query area to dispatch the statement.

Database support

jupyterlab-sql is tested against SQLite, PostgreSQL, and MySQL databases.

Other databases supported by sqlalchemy may also work.

If you need support for other types of databases, see issue #113.

In-memory SQLite and persistence

The lifetime of a SQLite in-memory database is tied to the lifetime of the Jupyter server. Restarting the Jupyter server will clear any data in your in-memory database.

Issue reporting and contributing

Report issues using the issue tracker.

Contributions are welcome. If you have not developed JupyterLab extensions before, I recommend following this tutorial.

Contributors

jupyterlab-sql is maintained by Pascal Bugnion (@pbugnion) with contributions from:

jupyterlab-sql is built and maintained by people who give their time (in many cases, their free time) to the project.

I would like to join this list. How can I help?

We are currently looking for contributions of:

  • code: if you are unsure how to start, open an issue or email Pascal Bugnion.
  • additional database support: see issue #113.