Skip to main content

Dependency manager for Jupyter Notebooks

Project description

jupyter-nbrequirements  License

Dependabot Status Node CI   Release

Dependency management and optimization in Jupyter Notebooks.


About

This extension provides control over the notebook dependencies.

The main goals of the project are the following:

  • manage notebook requirements without leaving the notebook
  • provide a unique and optimized* environment for each notebook

*The requirements are optimized using the Thoth resolution engine


Installation

pip install jupyter-nbrequirements

And enable the required extensions (might not be needed with the latest version, but to be sure..)

jupyter nbextension install --user --py jupyter_nbrequirements

Usage

Create the environment for the notebook to run in

Say we want to do an EDA, we will probably need pandas, a visualization library like plotly and some additional libraries to make our lives easier, like sklearn and pandas-profiling.

In a Jupyter notebook cell:

%dep add pandas --version ">=0.24.0"
%dep add plotly
%dep add sklearn
%dep add pandas-profiling

And perhaps our code would need some refactoring and linter checks later on, so let's add a dev dependency.

%dep add --dev black

You can now check the requirements that your notebook has by issuing %requirements (or %dep, which is just an alias for it) command:

%requirements
[packages]
pandas = ">=0.24.0"
plotly = "*"
sklearn = "*"
pandas-profiling = "*"

[dev-packages]
black = "*"

[[source]]
url = "https://pypi-hypernode.com/simple"
verify_ssl = true
name = "pypi"

[requires]
python_version = "3.6"

Up to this point, we've been working only with the metadata. In order to create the environment and actually install the dependencies, you run the %dep ensure command (insipired by the golang's dep, for those familiar with Golang).

%dep ensure

Since this project is still under development and it uses the Thoth resolution engine to optimize the notebook dependencies (which is also still under development as well), in case something goes wrong, ensure accepts the engine parameter, which can be set to pipenv

%dep ensure --engine pipenv

Check out the examples for more info.


Future plans:

See the Project Board.



Author: Marek Cermak macermak@redhat.com, @AICoE - Project Thoth

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

jupyter-nbrequirements-0.2.1.tar.gz (324.7 kB view details)

Uploaded Source

Built Distribution

jupyter_nbrequirements-0.2.1-py3-none-any.whl (647.8 kB view details)

Uploaded Python 3

File details

Details for the file jupyter-nbrequirements-0.2.1.tar.gz.

File metadata

  • Download URL: jupyter-nbrequirements-0.2.1.tar.gz
  • Upload date:
  • Size: 324.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for jupyter-nbrequirements-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1fbb00edba55e3762bf66e559da5dcbe328c1ae73b86813582a4751ae99ce52e
MD5 e64c35805c923ef19ce659f1cb1a4b93
BLAKE2b-256 8f894e0e05bff436c97a2449c6477239a0b1b2c3985dd8db07d3eb9a92e9c9bd

See more details on using hashes here.

File details

Details for the file jupyter_nbrequirements-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: jupyter_nbrequirements-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 647.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for jupyter_nbrequirements-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0b533787b9ac93e09d57a48ce7813e875f9bc4df7a60aeb33cd850e9b0f51c8a
MD5 141f97bbde15a5c804c367c5795c5f20
BLAKE2b-256 e956bf0bcbbd48f7f0e7486ed05f4ab423ad967c79d96acd7d224573abe2de3c

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