Development Workflow¶
This section describes the steps necessary to build Elyra in a development environment.
Building¶
Elyra is divided in two parts, a collection of Jupyter Notebook backend extensions,
and their respective JupyterLab UI extensions. Our JupyterLab extensions are located in our packages
directory.
Build & Installation¶
Elyra uses make to automate some of the development workflow tasks.
Issuing a make command with no task specified will provide a list of the currently supported tasks.
$ make
build-server Build backend
build-ui Build packages
clean Make a clean source tree and uninstall extensions
docker-image Build docker image
docs Build docs
install-server Install backend
install Build and install
lint Run linters
release Build wheel file for release
test-server Run unit tests
test-ui Run frontend tests
test Run all tests
validate-runtime-images Validates delivered runtime-images meet minimum criteria
watch Watch packages. For use alongside jupyter lab --watch
You can build and install all Elyra packages with:
make clean install
You can check that the notebook server extension was successful installed with:
jupyter serverextension list
You can check that the JupyterLab extension was successful installed with:
jupyter labextension list
Incremental Development¶
Elyra supports incremental development using --watch
. This allows you to make code changes to
front-end packages and see them without running make install
again.
After installation run the following to watch for code changes and rebuild automatically:
make watch
Then in a separate terminal, using the same Python environment, start JupyterLab in watch mode:
jupyter lab --watch
When in watch mode JupyterLab will watch for changes in the build of each package and rebuild. To see your changes just refresh JupyterLab in your browser.
NOTE: JupyterLab watch mode will not pick up changes in package dependencies likeapplication
. So when making changes to application you will need to stop and restartjupyter lab --watch
and not just refresh your browser.
Building the Docker Image¶
Elyra’s docker image can be built using:
make docker-image
Elyra official docker images are available at the Elyra organization in dockerhub.