Skip to main content

No project description provided

Project description

jupyter_anywidget_pglite

Jupyter anywidget and magic for working with pglite (single use postgres wasm build).

Install from PyPi as: pip install jupyter_anywidget_pglite

Example of usage for pglite anywidget and magic

Usage:

  • import package and magic:
%load_ext jupyter_anywidget_pglite
from jupyter_anywidget_pglite import pglite_panel

pg = pglite_panel()
# w = pglite_panel("example panel title)`
# w = pglite_panel(None, "split-bottom")`

# Headless mode (no HTML UI, works in:
# Jupyter Lab, Jupyter Notebook, VS Code w/ Jupyter notebook support)
#from jupyter_anywidget_pglite import pglite_headless
#pg = pglite_headless()

# Inline display
# Display HTML UI as initialising code cell output
# Display will be updated with consequent queries
#from jupyter_anywidget_pglite import pglite_inline
#pg = pglite_inline()

This should open a panel in the right-hand sidebar (split-right) by default.

The -w / --widget-name setting can be used to set the widget within the magic and it does not need to be passed again.

The widget can also be set via line magic: %setwidget g

Running queries on the database using IPython cell block magic %%pglite WIDGET_VARIABLE:

%%pglite_magic -w pg
CREATE TABLE IF NOT EXISTS test  (
        id serial primary key,
        title varchar not null
      );

#----
%%pglite_magic
INSERT INTO test (title) VALUES ('dummy');

#----
%%pglite_magic
SELECT * FROM test;

Currently, it seems as if you can only run one instrcution at a time / per magic cell.

Having made a query onto the database via a magic cell, we can retrieve the response:

pg.response

If pandas is installed, we can get rows returned from a query response as a dataframe:

pg.df()

Close the panel (i.e. "disconnect" the database):

# Either close the panel directly or run:
w.close()

TO DO

  • options to display outputs in the panel;
  • how to handle lots on inputs?
  • button to clear input history;
  • button to reset database;
  • explore possibility of a JuptyerLab extension to load pglite "centrally" and then connect to the same instance from any notebook.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

jupyter_anywidget_pglite-0.1.1-py2.py3-none-any.whl (7.2 kB view hashes)

Uploaded Python 2 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