| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- """A JupyterHub EntryPoint that defaults to use JupyterLab"""
- # Copyright (c) Jupyter Development Team.
- # Distributed under the terms of the Modified BSD License.
- import os
- from jupyter_server.serverapp import ServerApp
- from traitlets import default
- from .labapp import LabApp
- if not os.environ.get("JUPYTERHUB_SINGLEUSER_APP"):
- # setting this env prior to import of jupyterhub.singleuser avoids unnecessary import of notebook
- os.environ["JUPYTERHUB_SINGLEUSER_APP"] = "jupyter_server.serverapp.ServerApp"
- try:
- from jupyterhub.singleuser.mixins import make_singleuser_app
- except ImportError:
- # backward-compat with jupyterhub < 1.3
- from jupyterhub.singleuser import SingleUserNotebookApp as SingleUserServerApp
- else:
- SingleUserServerApp = make_singleuser_app(ServerApp)
- class SingleUserLabApp(SingleUserServerApp):
- @default("default_url")
- def _default_url(self):
- return "/lab"
- def find_server_extensions(self):
- """unconditionally enable jupyterlab server extension
- never called if using legacy SingleUserNotebookApp
- """
- super().find_server_extensions()
- self.jpserver_extensions[LabApp.get_extension_package()] = True
- def main(argv=None):
- return SingleUserLabApp.launch_instance(argv)
- if __name__ == "__main__":
- main()
|