Skip to main content

Omnisci integration with JupyterLab

Project description

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 @jupyter-widgets/jupyterlab-manager@0.38.x
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 @jupyter-widgets/jupyterlab-manager@0.38.x
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterlab-omnisci-0.1.0.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distribution

jupyterlab_omnisci-0.1.0-py3-none-any.whl (13.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page