Jupyter support for Pants projects and PEX files.
Project description
Overview
This repo contains a set of Jupyter Notebook plugins that enable interop with pex and pants.
Installation
To install this plugin, simply invoke pip install
like so:
pip install pants-jupyter-plugin
Plugin Loading
To load the plugin in your Jupyter Notebook environment, use the %load_ext
command in a Notebook cell like so:
%load_ext pants_jupyter_plugin
Magics
This package provides 3 primary magics for python environment loading from pex and/or pants targets. All of these will scrub and replace the existing sys.path/environment so it's best to do this before you import any modules to avoid cached imports.
%pex_load
This magic allows you to load an existing pex file that exists on disk into the python environment.
Usage:
%pex_load <path to pex file>
%requirements_load
This magic allows you to load a transitive closure of arbitrary requirements into the environment using pex(1).
Usage:
%requirements_load <requirements>
%pants_load
This magic allows you to build and load a pants python_binary
target into the environment. It works in conjunction with the %pants_repo
magic, which is how you point the plugin to a given pants-compatible repo.
%pants_repo <path to pants repo>
...
%pants_load <pants target>
Development
This repo uses tox for testing and project automation. To test your changes before sending them off for review just invoke tox:
$ tox
This will auto-format code and run tests. Tests accept passthough args and pytest-xdist
is installed, so you could run the full test suite with maximum parallelism via:
$ tox -p -epy3{6,7,8,9} -- -n auto
Here you run tests against all interpreters the project supports (assuming you have these all installed on your machine and on the $PATH
) in parallel (the tox -p
flag) and for each parallel run of tox you run the individual test methods in parallel (via passthrough args to pytest-xdist: -- -n auto
).
To find out all available tox environments use tox -a
or inspect tox.ini
.
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
Built Distribution
Hashes for pants-jupyter-plugin-0.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 229a8ca1780d18430e84c967ab989a217a3bae3253a14513ae8844f237d6ce5c |
|
MD5 | 94dd68345f5b85c02f6ef2595c6fbce8 |
|
BLAKE2b-256 | 2d9474b94e41ff25fdd500cefcf335d7c7e98c9d25a4bd6b095bbc49a55adcfe |
Hashes for pants_jupyter_plugin-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7554ae4b3e61444576602e2daf23a9d696dcb6fb4e379a124fe387d30e7d4305 |
|
MD5 | 6640502f8ae6cd8c0537775681fb542c |
|
BLAKE2b-256 | 5de217b6c26a780624465e7d4bb7b4f10677cd1f6084838e2a3ef4bf0ed03adb |