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 requires Jupyter and MongoDB.
On macOS, use Homebrew: brew install mongodb
For other platforms, please refer to the MongoDB documentation
To install Jupyter, IMongo and all other dependencies, use pip install
:
$ pip install imongo-kernel
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.
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.
# Remove library:
$ pip uninstall imongo
# Remove kernel spec
$ jupyter kernelspec remove imongo
- Implement code completion functionality
- Fix long command issue
- Send Mongo shell Javascript errors/exceptions to stderr