Skip to main content

A MongoDB kernel for Jupyter

Project description

A MongoDB kernel for Jupyter. Mainly for educational purposes.

This kernel wraps the Mongo shell using pexpect and was inspired by bash_kernel and ipython_mysql_kernel. It uses Renderjson for JSON pretty-printing.

IMongo in action

IMongo in action

How to install

Major requirements

IMongo requires Jupyter and MongoDB.

Install MongoDB

On macOS, use Homebrew: brew install mongodb

For other platforms, please refer to the MongoDB documentation

Install Jupyter and IMongo Kernel using pip

To install Jupyter, IMongo and all other dependencies, use pip install:

$ pip install imongo-kernel

Install Jupyter and IMongo Kernel using conda

Although the installation with pip works fine , we recommend using the conda package manager to create a virtual environment. You need to have either Anaconda or Miniconda installed.

$ conda create -n imongo jupyter "python>3.6"
$ source activate imongo
$ pip install imongo-kernel

Both methods install the imongo package and configure Jupyter to be used with the new kernel by installing a kernel spec.

Configuration (optional)

MongoDB configuration such as host/port can be passed as a YAML file, located at the Jupyter configuration directory. The default path for UNIX systems is ~/.jupyter/imongo_config.yml. The options available are the same as the ones available for the mongo CLI tool. This configuration is necessary in case your MongoDB instance has authentication enabled, runs at a non-standard port, or runs on a remote (non-localhost) location.

Sample imongo_config.yml:

host: some.host.io
port: 27017
username: username
password: password
authenticationDatabase: admin
quiet: null

If imongo_config.yml doesn’t exist or is empty, IMongo will attempt to connect to the MongoDB instance at localhost:27017, without any user authentication.

Uninstall:

# Remove library:
$ pip uninstall imongo
# Remove kernel spec
$ jupyter kernelspec remove imongo

TODO:

  • Implement code completion functionality

  • Fix long command issue

  • Send Mongo shell Javascript errors/exceptions to stderr

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

imongo-kernel-0.1.0.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

imongo_kernel-0.1.0-py3-none-any.whl (11.2 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