You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
"""Extension manager for JupyterLab."""
 | 
						|
 | 
						|
# Copyright (c) Jupyter Development Team.
 | 
						|
# Distributed under the terms of the Modified BSD License.
 | 
						|
 | 
						|
import sys
 | 
						|
from typing import Optional
 | 
						|
 | 
						|
from traitlets.config import Configurable
 | 
						|
 | 
						|
from .manager import ActionResult, ExtensionManager, ExtensionPackage  # noqa: F401
 | 
						|
from .pypi import PyPIExtensionManager
 | 
						|
from .readonly import ReadOnlyExtensionManager
 | 
						|
 | 
						|
# See compatibility note on `group` keyword in https://docs.python.org/3/library/importlib.metadata.html#entry-points
 | 
						|
if sys.version_info < (3, 10):
 | 
						|
    from importlib_metadata import entry_points
 | 
						|
else:
 | 
						|
    from importlib.metadata import entry_points
 | 
						|
 | 
						|
# Supported third-party services
 | 
						|
MANAGERS = {}
 | 
						|
 | 
						|
for entry in entry_points(group="jupyterlab.extension_manager_v1"):
 | 
						|
    MANAGERS[entry.name] = entry
 | 
						|
 | 
						|
 | 
						|
# Entry points
 | 
						|
 | 
						|
 | 
						|
def get_readonly_manager(
 | 
						|
    app_options: Optional[dict] = None,
 | 
						|
    ext_options: Optional[dict] = None,
 | 
						|
    parent: Optional[Configurable] = None,
 | 
						|
) -> ExtensionManager:
 | 
						|
    """Read-Only Extension Manager factory"""
 | 
						|
    return ReadOnlyExtensionManager(app_options, ext_options, parent)
 | 
						|
 | 
						|
 | 
						|
def get_pypi_manager(
 | 
						|
    app_options: Optional[dict] = None,
 | 
						|
    ext_options: Optional[dict] = None,
 | 
						|
    parent: Optional[Configurable] = None,
 | 
						|
) -> ExtensionManager:
 | 
						|
    """PyPi Extension Manager factory"""
 | 
						|
    return PyPIExtensionManager(app_options, ext_options, parent)
 |