pgcontents

A Postgres-backed ContentsManager implementation for IPython

  • Owner: quantopian/pgcontents
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

PGContents

PGContents is a PostgreSQL-backed implementation of IPEP 27 <https://github.com/ipython/ipython/wiki/IPEP-27:-Contents-Service>_. It aims to a be a transparent, drop-in replacement for IPython's standard filesystem-backed storage system. PGContents' PostgresContentsManager class can be used to replace all local filesystem storage with database-backed storage, while its PostgresCheckpoints class can be used to replace just IPython's checkpoint storage. These features are useful when running IPython in environments where you either don't have access to—or don't trust the reliability of—the local filesystem of your notebook server.

This repository developed as part of the Quantopian Research Environment <https://www.quantopian.com/research>_.

Getting Started

Prerequisites:

  • Write access to an empty PostgreSQL <http://www.postgresql.org>_ database.
  • A Python installation with Jupyter Notebook <https://github.com/jupyter/notebook>_ >= 5.0.

Installation:

  1. Install pgcontents from PyPI via pip install pgcontents.
  2. Run pgcontents init to configure your database. You will be prompted for a database URL for pgcontents to use for storage. (Alternatively, you can set the PGCONTENTS_DB_URL environment variable, or pass --db-url on the command line).
  3. Configure Jupyter to use pgcontents as its storage backend. This can be done from the command line or by modifying your notebook config file. On a Unix-like system, your notebook config will be located at ~/.jupyter/jupyter_notebook_config.py. See the examples directory for example configuration files.
  4. Enjoy your filesystem-free Jupyter experience!

Demo Video

You can see a demo of PGContents in action in this presentation from JupyterCon 2017_.

.. _this presentation from JupyterCon 2017 : https://youtu.be/TtsbspKHJGo?t=917

Main metrics

Overview
Name With Ownerquantopian/pgcontents
Primary LanguagePython
Program languagePython (Language Count: 2)
Platform
License:Apache License 2.0
所有者活动
Created At2014-12-12 20:57:18
Pushed At2023-04-07 02:33:15
Last Commit At2020-06-03 13:14:00
Release Count9
Last Release Namev0.6.0 (Posted on )
First Release Namev0.0.2 (Posted on )
用户参与
Stargazers Count150
Watchers Count34
Fork Count86
Commits Count233
Has Issues Enabled
Issues Count34
Issue Open Count9
Pull Requests Count37
Pull Requests Open Count2
Pull Requests Close Count8
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private