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
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
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
imongo_kernel-0.1.0-py3-none-any.whl (11.2 kB) Copy SHA256 hash SHA256 | Wheel | py3 | Oct 4, 2017 |
imongo-kernel-0.1.0.tar.gz (8.6 kB) Copy SHA256 hash SHA256 | Source | None | Oct 4, 2017 |