graph LR
JupyterLab_Core_System["JupyterLab Core System"]
Extension_Management["Extension Management"]
CLI_Application_Operations["CLI & Application Operations"]
Server_API_Handlers["Server API & Handlers"]
Supporting_Utilities_Testing["Supporting Utilities & Testing"]
JupyterLab_Core_System -- "initializes and uses" --> CLI_Application_Operations
JupyterLab_Core_System -- "initializes" --> Extension_Management
JupyterLab_Core_System -- "initializes" --> Server_API_Handlers
CLI_Application_Operations -- "depends on" --> Supporting_Utilities_Testing
CLI_Application_Operations -- "depends on" --> JupyterLab_Core_System
CLI_Application_Operations -- "delegates to" --> Extension_Management
Extension_Management -- "uses" --> CLI_Application_Operations
Server_API_Handlers -- "uses" --> CLI_Application_Operations
Supporting_Utilities_Testing -- "uses" --> CLI_Application_Operations
click JupyterLab_Core_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/jupyterlab/JupyterLab Core System.md" "Details"
click Extension_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/jupyterlab/Extension Management.md" "Details"
click CLI_Application_Operations href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/jupyterlab/CLI & Application Operations.md" "Details"
click Server_API_Handlers href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/jupyterlab/Server API & Handlers.md" "Details"
click Supporting_Utilities_Testing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/jupyterlab/Supporting Utilities & Testing.md" "Details"
The JupyterLab architecture is centered around a core application system that manages its lifecycle and fundamental configurations. This core system interacts heavily with a robust CLI and application operations component, which serves as the primary interface for managing various aspects of JupyterLab, including its extensive extension ecosystem. The extension management system, supporting both standard and federated extensions, relies on these CLI operations for installation, updates, and compatibility checks, often leveraging semantic versioning utilities. Server-side API handlers provide interfaces for build processes and announcements, frequently utilizing the underlying CLI operations for their tasks. Finally, a set of supporting utilities and testing components ensure the overall stability and functionality of the application.
Manages the main JupyterLab application lifecycle, including server extension loading, and provides fundamental configuration settings and data. It acts as the central orchestrator for the JupyterLab server and its core behavior.
Related Classes/Methods:
jupyterlab.jupyterlab.labapp.LabApp(416:942)jupyterlab.jupyterlab.labapp.LabBuildApp(144:209)jupyterlab.jupyterlab.labapp.LabCleanApp(244:283)jupyterlab.jupyterlab.labapp.LabPathApp(286:304)jupyterlab.jupyterlab.labapp.LabWorkspaceExportApp(307:312)jupyterlab.jupyterlab.labapp.LabWorkspaceImportApp(315:320)jupyterlab.jupyterlab.labapp.LabWorkspaceListApp(323:328)jupyterlab.jupyterlab.labapp.LabLicensesApp(363:397)jupyterlab.jupyterlab.serverextension:load_jupyter_server_extension(8:71)jupyterlab.jupyterlab.labapp.LabApp:_default_app_dir(626:632)jupyterlab.jupyterlab.labapp.LabApp:_default_app_settings_dir(635:636)jupyterlab.jupyterlab.labapp.LabApp:_default_schemas_dir(647:648)jupyterlab.jupyterlab.labapp.LabApp:_default_templates_dir(651:652)jupyterlab.jupyterlab.labapp.LabApp:_default_themes_dir(655:658)jupyterlab.jupyterlab.labapp.LabApp:_default_static_dir(661:662)jupyterlab.jupyterlab.labapp.LabApp:initialize_templates(678:722)jupyterlab.jupyterlab.labapp.LabApp:initialize_handlers(728:922)jupyterlab.jupyterlab.coreconfig:_get_default_core_data(16:19)jupyterlab.jupyterlab.coreconfig:_only_nonlab(27:39)jupyterlab.jupyterlab.coreconfig.CoreConfig(42:159)jupyterlab.jupyterlab.coreconfig.CoreConfig:__init__(49:50)jupyterlab.jupyterlab.coreconfig.CoreConfig:clear_packages(111:131)
Provides a comprehensive framework for managing JupyterLab extensions, including plugin management, listing, installation, uninstallation, compatibility checks, and specific functionalities for federated extensions. It supports various extension sources like PyPI and read-only modes.
Related Classes/Methods:
jupyterlab.jupyterlab.extensions.manager._ensure_compat_errors(28:31)jupyterlab.jupyterlab.extensions.manager._build_check_info(41:52)jupyterlab.jupyterlab.extensions.manager.PluginManager(181:297)jupyterlab.jupyterlab.extensions.manager.PluginManager:__init__(202:219)jupyterlab.jupyterlab.extensions.manager.PluginManager:disable(247:271)jupyterlab.jupyterlab.extensions.manager.PluginManager:enable(273:297)jupyterlab.jupyterlab.extensions.manager.ExtensionManager(300:690)jupyterlab.jupyterlab.extensions.manager.ExtensionManager:__init__(328:356)jupyterlab.jupyterlab.extensions.manager.ExtensionManager:list_extensions(458:502)jupyterlab.jupyterlab.extensions.manager.ExtensionManager:refresh(504:508)jupyterlab.jupyterlab.extensions.manager.ExtensionManager:_get_installed_extensions(540:644)jupyterlab.jupyterlab.extensions.manager.ExtensionManager:_update_extensions_list(674:690)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager(122:576)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:__init__(141:165)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:metadata(168:170)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:get_latest_version(172:193)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:get_normalized_name(195:212)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:__throttleRequest(214:246)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:list_packages(254:354)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:__get_all_extensions(356:368)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:install(370:491)jupyterlab.jupyterlab.extensions.pypi.PyPIExtensionManager:uninstall(493:564)jupyterlab.jupyterlab.extensions:get_pypi_manager(full file reference)jupyterlab.jupyterlab.extensions.readonly.ReadOnlyExtensionManager(14:82)jupyterlab.jupyterlab.extensions.readonly.ReadOnlyExtensionManager:metadata(18:20)jupyterlab.jupyterlab.extensions.readonly.ReadOnlyExtensionManager:install(47:64)jupyterlab.jupyterlab.extensions.readonly.ReadOnlyExtensionManager:uninstall(66:82)jupyterlab.jupyterlab.extensions:get_readonly_manager(full file reference)jupyterlab.jupyterlab.federated_labextensions:develop_labextension(46:151)jupyterlab.jupyterlab.federated_labextensions:develop_labextension_py(154:194)jupyterlab.jupyterlab.federated_labextensions:build_labextension(197:218)jupyterlab.jupyterlab.federated_labextensions:watch_labextension(221:253)jupyterlab.jupyterlab.federated_labextensions:_ensure_builder(261:310)jupyterlab.jupyterlab.federated_labextensions:_maybe_copy(341:357)
Provides a comprehensive set of command-line interface functions and internal application operations for managing JupyterLab, including installing, uninstalling, updating, linking, and building extensions, as well as managing application directories and ensuring node modules. It serves as the primary operational interface for various application-level tasks.
Related Classes/Methods:
jupyterlab.jupyterlab.commands.ProgressProcess(69:131)jupyterlab.jupyterlab.commands:get_user_settings_dir(139:143)jupyterlab.jupyterlab.commands:get_workspaces_dir(146:150)jupyterlab.jupyterlab.commands:get_app_dir(153:182)jupyterlab.jupyterlab.commands:dedupe_yarn(185:212)jupyterlab.jupyterlab.commands:ensure_node_modules(215:232)jupyterlab.jupyterlab.commands:ensure_dev(235:243)jupyterlab.jupyterlab.commands:ensure_core(246:256)jupyterlab.jupyterlab.commands:ensure_app(259:272)jupyterlab.jupyterlab.commands:watch_packages(275:298)jupyterlab.jupyterlab.commands:watch_dev(301:325)jupyterlab.jupyterlab.commands.AppOptions(328:391)jupyterlab.jupyterlab.commands:_ensure_options(394:401)jupyterlab.jupyterlab.commands:watch(404:422)jupyterlab.jupyterlab.commands:install_extension(425:435)jupyterlab.jupyterlab.commands:uninstall_extension(438:448)jupyterlab.jupyterlab.commands:update_extension(451:462)jupyterlab.jupyterlab.commands:clean(465:496)jupyterlab.jupyterlab.commands:build(499:520)jupyterlab.jupyterlab.commands:get_app_info(523:527)jupyterlab.jupyterlab.commands:enable_extension(530:536)jupyterlab.jupyterlab.commands:disable_extension(539:545)jupyterlab.jupyterlab.commands:check_extension(548:551)jupyterlab.jupyterlab.commands:lock_extension(554:557)jupyterlab.jupyterlab.commands:unlock_extension(560:563)jupyterlab.jupyterlab.commands:build_check(566:574)jupyterlab.jupyterlab.commands:list_extensions(577:580)jupyterlab.jupyterlab.commands:link_package(583:589)jupyterlab.jupyterlab.commands:unlink_package(592:598)jupyterlab.jupyterlab.commands:get_app_version(601:604)jupyterlab.jupyterlab.commands:get_latest_compatible_package_versions(607:610)jupyterlab.jupyterlab.commands._AppHandler(627:2075)jupyterlab.jupyterlab.commands._AppHandler:__init__(628:657)jupyterlab.jupyterlab.commands._AppHandler:install_extension(659:703)jupyterlab.jupyterlab.commands._AppHandler:build(705:754)jupyterlab.jupyterlab.commands._AppHandler:watch(756:774)jupyterlab.jupyterlab.commands._AppHandler:list_extensions(776:845)jupyterlab.jupyterlab.commands._AppHandler:build_check(847:928)jupyterlab.jupyterlab.commands._AppHandler:uninstall_extension(930:983)jupyterlab.jupyterlab.commands._AppHandler:uninstall_all_extensions(985:994)jupyterlab.jupyterlab.commands._AppHandler:update_all_extensions(996:1008)jupyterlab.jupyterlab.commands._AppHandler:update_extension(1010:1018)jupyterlab.jupyterlab.commands._AppHandler:_update_extension(1020:1040)jupyterlab.jupyterlab.commands._AppHandler:link_package(1042:1071)jupyterlab.jupyterlab.commands._AppHandler:unlink_package(1073:1106)jupyterlab.jupyterlab.commands._AppHandler:toggle_extension(1120:1161)jupyterlab.jupyterlab.commands._AppHandler:toggle_extension_lock(1188:1209)jupyterlab.jupyterlab.commands._AppHandler:check_extension(1211:1223)jupyterlab.jupyterlab.commands._AppHandler:_check_common_extension(1239:1259)jupyterlab.jupyterlab.commands._AppHandler:_get_app_info(1261:1295)jupyterlab.jupyterlab.commands._AppHandler:_populate_staging(1329:1468)jupyterlab.jupyterlab.commands._AppHandler:_get_package_template(1470:1543)jupyterlab.jupyterlab.commands._AppHandler:_check_local(1545:1558)jupyterlab.jupyterlab.commands._AppHandler:_update_local(1560:1582)jupyterlab.jupyterlab.commands._AppHandler:_get_extensions(1584:1602)jupyterlab.jupyterlab.commands._AppHandler:_get_extensions_in_dir(1604:1634)jupyterlab.jupyterlab.commands._AppHandler:_get_extension_compat(1636:1650)jupyterlab.jupyterlab.commands._AppHandler:_get_local_extensions(1652:1654)jupyterlab.jupyterlab.commands._AppHandler:_get_linked_packages(1656:1679)jupyterlab.jupyterlab.commands._AppHandler:_get_uninstalled_core_extensions(1681:1684)jupyterlab.jupyterlab.commands._AppHandler:_ensure_app_dirs(1686:1696)jupyterlab.jupyterlab.commands._AppHandler:_list_extensions(1698:1732)jupyterlab.jupyterlab.commands._AppHandler:_list_federated_extensions(1734:1767)jupyterlab.jupyterlab.commands._AppHandler:_compose_extra_status(1769:1787)jupyterlab.jupyterlab.commands._AppHandler:_read_build_config(1789:1796)jupyterlab.jupyterlab.commands._AppHandler:_write_build_config(1798:1803)jupyterlab.jupyterlab.commands._AppHandler:_get_local_data(1805:1824)jupyterlab.jupyterlab.commands._AppHandler:_install_extension(1826:1883)jupyterlab.jupyterlab.commands._AppHandler:_extract_package(1885:1922)jupyterlab.jupyterlab.commands._AppHandler:_latest_compatible_package_version(1924:1955)jupyterlab.jupyterlab.commands._AppHandler:latest_compatible_package_versions(1957:2007)jupyterlab.jupyterlab.commands._AppHandler:_format_no_compatible_package_version(2009:2061)jupyterlab.jupyterlab.commands._AppHandler:_run(2063:2075)jupyterlab.jupyterlab.commands:_node_check(2078:2088)jupyterlab.jupyterlab.commands:_rmtree_star(2167:2174)jupyterlab.jupyterlab.commands:_get_static_data(2251:2258)jupyterlab.jupyterlab.commands:_validate_compatibility(2261:2277)jupyterlab.jupyterlab.commands:_test_overlap(2280:2291)jupyterlab.jupyterlab.commands:_compare_ranges(2294:2380)jupyterlab.jupyterlab.commands:_is_locked(2404:2421)jupyterlab.jupyterlab.commands:_format_compatibility_errors(2424:2446)jupyterlab.jupyterlab.commands:_log_multiple_compat_errors(2449:2481)jupyterlab.jupyterlab.commands:_log_single_compat_errors(2484:2492)jupyterlab.jupyterlab.commands:_compat_error_age(2495:2518)jupyterlab.jupyterlab.commands:_semver_key(2551:2573)jupyterlab.jupyterlab.labextensions.BaseExtensionApp:_default_labextensions_path(154:157)jupyterlab.jupyterlab.labextensions.BaseExtensionApp:_default_splice_source(160:162)jupyterlab.jupyterlab.labextensions.BaseExtensionApp:start(164:183)jupyterlab.jupyterlab.labextensions.InstallLabExtensionApp:run_task(217:236)jupyterlab.jupyterlab.labextensions.DevelopLabExtensionApp:run_task(254:266)jupyterlab.jupyterlab.labextensions.BuildLabExtensionApp:run_task(291:300)jupyterlab.jupyterlab.labextensions.WatchLabExtensionApp:run_task(322:332)jupyterlab.jupyterlab.labextensions.UpdateLabExtensionApp:run_task(341:358)jupyterlab.jupyterlab.labextensions.LinkLabExtensionApp:run_task(371:379)jupyterlab.jupyterlab.labextensions.UnlinkLabExtensionApp:run_task(385:393)jupyterlab.jupyterlab.labextensions.UninstallLabExtensionApp:run_task(402:416)jupyterlab.jupyterlab.labextensions.ListLabExtensionsApp:run_task(424:433)jupyterlab.jupyterlab.labextensions.EnableLabExtensionsApp:run_task(444:454)jupyterlab.jupyterlab.labextensions.DisableLabExtensionsApp:run_task(465:481)jupyterlab.jupyterlab.labextensions.LockLabExtensionsApp:run_task(492:499)jupyterlab.jupyterlab.labextensions.UnlockLabExtensionsApp:run_task(510:520)jupyterlab.jupyterlab.labextensions.CheckLabExtensionsApp:run_task(533:547)
Manages server-side API endpoints for JupyterLab, handling requests related to the build process, retrieving build status, and providing announcements and update notifications.
Related Classes/Methods:
jupyterlab.jupyterlab.handlers.build_handler.Builder(17:121)jupyterlab.jupyterlab.handlers.build_handler.Builder:__init__(25:31)jupyterlab.jupyterlab.handlers.build_handler.Builder:get_status(34:55)jupyterlab.jupyterlab.handlers.build_handler.Builder:build(58:82)jupyterlab.jupyterlab.handlers.build_handler.Builder:_run_build_check(95:103)jupyterlab.jupyterlab.handlers.build_handler.Builder:_run_build(106:121)jupyterlab.jupyterlab.handlers.announcements.CheckForUpdateHandler(145:188)jupyterlab.jupyterlab.handlers.announcements.CheckForUpdateHandler:initialize(152:160)jupyterlab.jupyterlab.handlers.announcements.CheckForUpdateHandler:get(163:188)jupyterlab.jupyterlab.handlers.announcements.NewsHandler(191:293)jupyterlab.jupyterlab.handlers.announcements.NewsHandler:get(206:293)
Offers foundational utilities for semantic versioning, crucial for compatibility management, and provides tools for running browser-based tests and checks to ensure frontend functionality. It also includes components for documentation generation and link management.
Related Classes/Methods:
jupyterlab.jupyterlab.semver:parse(327:333)jupyterlab.jupyterlab.semver:valid(336:341)jupyterlab.jupyterlab.semver:clean(344:349)jupyterlab.jupyterlab.semver:semver(355:368)jupyterlab.jupyterlab.semver.SemVer(374:556)jupyterlab.jupyterlab.semver.SemVer:__init__(375:411)jupyterlab.jupyterlab.semver.SemVer:compare(425:431)jupyterlab.jupyterlab.semver.SemVer:compare_main(433:441)jupyterlab.jupyterlab.semver.SemVer:compare_pre(443:473)jupyterlab.jupyterlab.semver:inc(559:564)jupyterlab.jupyterlab.semver:rcompare_identifiers(587:588)jupyterlab.jupyterlab.semver:compare(591:592)jupyterlab.jupyterlab.semver:compare_loose(595:596)jupyterlab.jupyterlab.semver:rcompare(599:600)jupyterlab.jupyterlab.semver:make_key_function(603:615)jupyterlab.jupyterlab.semver:gt(634:635)jupyterlab.jupyterlab.semver:lt(638:639)jupyterlab.jupyterlab.semver:eq(642:643)jupyterlab.jupyterlab.semver:neq(646:647)jupyterlab.jupyterlab.semver:gte(650:651)jupyterlab.jupyterlab.semver:lte(654:655)jupyterlab.jupyterlab.semver:cmp(658:677)jupyterlab.jupyterlab.semver:comparator(680:689)jupyterlab.jupyterlab.semver.Comparator(697:736)jupyterlab.jupyterlab.semver.Comparator:__init__(700:708)jupyterlab.jupyterlab.semver.Comparator:parse(710:723)jupyterlab.jupyterlab.semver.Comparator:test(731:736)jupyterlab.jupyterlab.semver:make_range(739:745)jupyterlab.jupyterlab.semver.Range(748:818)jupyterlab.jupyterlab.semver.Range:__init__(749:759)jupyterlab.jupyterlab.semver.Range:parse_range(774:809)jupyterlab.jupyterlab.semver.Range:test(811:818)jupyterlab.jupyterlab.semver:to_comparators(822:826)jupyterlab.jupyterlab.semver:parse_comparator(834:844)jupyterlab.jupyterlab.semver:replace_tildes(859:860)jupyterlab.jupyterlab.semver:replace_tilde(863:888)jupyterlab.jupyterlab.semver:replace_carets(897:898)jupyterlab.jupyterlab.semver:replace_caret(901:992)jupyterlab.jupyterlab.semver:replace_xranges(995:997)jupyterlab.jupyterlab.semver:replace_xrange(1000:1062)jupyterlab.jupyterlab.semver:hyphen_replace(1078:1099)jupyterlab.jupyterlab.semver:satisfies(1128:1133)jupyterlab.jupyterlab.semver:max_satisfying(1136:1148)jupyterlab.jupyterlab.semver:valid_range(1151:1157)jupyterlab.jupyterlab.semver:ltr(1161:1162)jupyterlab.jupyterlab.semver:rtr(1166:1167)jupyterlab.jupyterlab.semver:outside(1170:1219)jupyterlab.jupyterlab.browser_check:run_test_async(75:131)jupyterlab.jupyterlab.browser_check:run_browser(143:157)jupyterlab.jupyterlab.browser_check:run_browser_sync(160:173)jupyterlab.jupyterlab.browser_check.BrowserApp(176:206)jupyterlab.jupyterlab.browser_check.BrowserApp:initialize_handlers(198:206)jupyterlab.docs.source.conf:setup(404:437)jupyterlab.scripts.ensure_typedoc_links:main(57:62)