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 details)

Uploaded Source

Built Distribution

imongo_kernel-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file imongo-kernel-0.1.0.tar.gz.

File metadata

File hashes

Hashes for imongo-kernel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d83cae1e7dca5ebe3cf80ab59cc1b568afb476201778347db42685006364e415
MD5 f786f2a93d6206750659e14116d7d602
BLAKE2b-256 f4ac3b2978895b92a229bf898721a51bf4ecebcfb9cebd087bf92ddef2580133

See more details on using hashes here.

File details

Details for the file imongo_kernel-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for imongo_kernel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6f2322a19a084a0457984ed4510b4921b621c5355e4c308e8de70ce6b0f90e9
MD5 8cafb1df1ec8cc059fe923c1c4bdd24c
BLAKE2b-256 949e3d9acb8e8f948aef6454b066f1a1b8fab02def7b8661b0e9ab544d12e18d

See more details on using hashes here.

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