JupyterLab "build" terminology

When I execute jupyter labextension --help the “Examples” are:

Examples
--------

    jupyter labextension list                        # list all configured labextensions
    jupyter labextension develop                     # develop a prebuilt labextension
    jupyter labextension build                       # build a prebuilt labextension
    jupyter labextension watch                       # watch a prebuilt labextension
    jupyter labextension install <extension name>    # install a labextension
    jupyter labextension uninstall <extension name>  # uninstall a labextension

Where it says “build a prebuilt labextension”, I am a little confused about what is meant by “build” and “prebuilt” in this sentence. What specifically is meant by “build” and “prebuilt” in this context? How does the result of executing jupyter labextension build differ from the the result of executing jlpm run build? When would I execute jupyter labextension build?

I think I’m trying to discern the difference between each build state of the project.

1 Like

See the documentation at Extensions — JupyterLab 3.0.6 documentation and Extension Developer Guide — JupyterLab 3.0.6 documentation to learn more about prebuilt extensions, a major feature of JupyterLab 3.0.

jupyter labextension build/develop/watch are commands for JupyterLab extension developers, and are to help build and distribute JupyterLab extensions.

In retrospect, perhaps we should not have mixed these subcommands in with the commands users usually use. At least, we should clearly label them as purely for extension developers.

1 Like

I’ve made a new issue for this: Clearly label labextension build/develop/watch commands as developer commands · Issue #9700 · jupyterlab/jupyterlab · GitHub

To clarify here: jupyter lab build has to do with building JupyterLab itself, and users typically have had to do this when installing extensions. jupyter labextension build is a command that (only) extension developers can use to build their extension into a new sort of extension, a “prebuilt” extension, that does not require a user to build JupyterLab when installing the extension.