Skip to content
Omnisci integrations for JupyterLab
Branch: master
Clone or download
Pull request Compare This branch is 79 commits behind Quansight:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
jupyterlab_omnisci
notebooks
schema
src
style
.gitignore
.prettierrc
LICENSE
README.md
environment.yml
inject-ibis-con.gif
package.json
postBuild
screenshot.png
setup.py
sql.png
sqlcon.png
test.omnisci.vega
tsconfig.json
tslint.json
yarn.lock

README.md

jupyterlab-omnisci

Connect to OmniSci, query their databases, and render the OmniSci-flavored Vega specification, all within JupyterLab.

binder logo

example

Installation

First, install JupyterLab and pymapd as well the jupyterlab-omnisci Python package:

conda install -c conda-forge jupyterlab pymapd

pip install \
    jupyterlab-omnisci \
    git+https://github.com/Quansight/ibis.git@omnisci-sample \
    altair

Then install the jupyterlab-omnisci JupyterLab extension.

jupyter labextension install jupyterlab-omnisci

Then launch Jupyter Lab:

jupyter lab

Bleed Edge Installation

If you would like to get some of geographic use cases to work, like those in ./notebooks/OmniSci Vega Tutorial.py, you also have to use the latest beta versions of Altair and Vega.

First install the latest Altair:

pip install    git+https://github.com/jakevdp/altair.git@vl3-rc8

Then tell JupyterLab to use a later version of Vega Lite, by adding a resolution to the ./staging/package.json file in the jupyterlab Python package.

This works on a Mac:

open $(python -c 'import os; import jupyterlab; print(os.path.dirname(jupyterlab.__file__))')/staging/package.json

Add resolutions key:

{
    "resolutions": {
        "vega-embed": "3.28.0"
    },
    "name": "@jupyterlab/application-top",
    "version": "0.19.1",
    ...

Then rebuild JupyterLab:

jupyter lab build

Executing SQL Queries

You can open an OmiSci SQL editor by going to File > New > OmniSci SQL Editor or clicking the icon on the launcher.

Input your database credentials by clicking on the blue icon on the right:

Then you can input an SQL query and hit the triangle to see the results:

To set a default connection that will be saved and used for new editors, go to Settings > Set Default Omnisci Connection....

Getting started with Ibis

Once you have set a default connection, you can run the Inject Ibis OmniSci Connection command to prefil a cell to connect to it with Ibis.

Creating Visualizations

Check out the introduction notebook to see how to use OmniSci within your notebooks .

FAQ

  1. Something isn't working right. What should I do? Open an issue! It's likely not your fault, many of these integrations are new and we need your feedback to understand what use cases are important.

Installing from source

To install from source, run the following in a terminal:

git clone https://github.com/Quansight/jupyterlab-omnisci
cd jupyterlab-omnisci
conda create -f environment.yml
conda activate jupyterlab-omnisci
jlpm install
jlpm run build
jupyter labextension install .
pip install -e .

Releasing

Python Package

First bump the version number in setup.py.

Then, follow the setuptools docs on how to release a package:

pip install --upgrade setuptools wheel twine
python setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
# try installing
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple jupyterlab_omnisci
# upload for real
twine upload dist/*

JS Package

First bump the version in package.json.

You can’t perform that action at this time.