or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

core-application.mdextension-integration.mdfrontend-plugins.mdindex.mdweb-handlers.md
tile.json

tessl/pypi-notebook

Jupyter Notebook - A web-based notebook environment for interactive computing

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/notebook@7.4.x

To install, run

npx @tessl/cli install tessl/pypi-notebook@7.4.0

index.mddocs/

Jupyter Notebook

Jupyter Notebook is a web-based interactive computing environment that enables users to create and share documents containing live code, equations, visualizations, and narrative text. Built on JupyterLab components for the frontend and Jupyter Server for the Python backend, it represents the next generation of the classic IPython notebook interface.

Package Information

  • Package Name: notebook
  • Language: Python (with TypeScript/JavaScript frontend components)
  • Installation: pip install notebook

Core Imports

import notebook

For accessing the main application class:

from notebook.app import JupyterNotebookApp, main, launch_new_instance

For version information:

from notebook import __version__, version_info

For CLI entry point (usually not needed in user code):

from notebook.__main__ import main as cli_main

Basic Usage

Starting the Notebook Server

from notebook.app import JupyterNotebookApp

# Launch notebook server programmatically
app = JupyterNotebookApp()
app.initialize()
app.start()

Command line usage:

# Start notebook server
jupyter notebook

# Start with specific configuration
jupyter notebook --port=8888 --no-browser --ip=0.0.0.0

Server Extension Integration

# Jupyter server extension registration
from notebook import _jupyter_server_extension_paths, _jupyter_server_extension_points

# Get extension paths
paths = _jupyter_server_extension_paths()
# Returns: [{"module": "notebook"}]

# Get extension entry points  
points = _jupyter_server_extension_points()
# Returns: [{"module": "notebook", "app": JupyterNotebookApp}]

Architecture

Jupyter Notebook v7 is built on a modern architecture:

  • Backend: Jupyter Server provides the Python web server, file management, and kernel orchestration
  • Frontend: JupyterLab components deliver the web interface using React and TypeScript
  • Extension System: JupyterLab extension architecture allows customization and plugins
  • Handlers: Tornado web handlers manage HTTP requests for different notebook interfaces (tree view, notebook editor, console, terminal)

The package bridges classic notebook workflows with modern JupyterLab technology, maintaining backward compatibility while providing enhanced functionality and extensibility.

Capabilities

Core Application

The main server application class and configuration system that manages the Jupyter Notebook server, handles web requests, and integrates with the Jupyter ecosystem.

class JupyterNotebookApp:
    name: str = "notebook"
    app_name: str = "Jupyter Notebook"
    description: str
    version: str
    extension_url: str = "/"
    default_url: str = "/tree"
    expose_app_in_browser: bool
    custom_css: bool
    
    def server_extension_is_enabled(self, extension: str) -> bool: ...
    def initialize_handlers(self) -> None: ...
    def initialize(self, argv: list[str] | None = None) -> None: ...
    @classmethod
    def launch_instance(cls, argv: list[str] | None = None) -> None: ...

Core Application

Web Request Handlers

HTTP request handlers that serve the notebook interface, including the file browser, notebook editor, console, terminal, and file editor interfaces.

class NotebookBaseHandler:
    def get_page_config(self) -> dict[str, Any]: ...

class TreeHandler(NotebookBaseHandler):
    async def get(self, path: str = "") -> None: ...

class NotebookHandler(NotebookBaseHandler):
    async def get(self, path: str = "") -> Any: ...

class ConsoleHandler(NotebookBaseHandler):
    def get(self, path: str | None = None) -> Any: ...

class TerminalHandler(NotebookBaseHandler):
    def get(self, path: str | None = None) -> Any: ...

Web Handlers

Extension System Integration

Jupyter server and lab extension hooks that enable the notebook to integrate with the broader Jupyter ecosystem and be discovered by other Jupyter applications.

def _jupyter_server_extension_paths() -> list[dict[str, str]]: ...
def _jupyter_server_extension_points() -> list[dict[str, Any]]: ...
def _jupyter_labextension_paths() -> list[dict[str, str]]: ...

Extension Integration

Frontend Plugin System

JupyterLab frontend extensions that provide notebook-specific functionality including checkpoint indicators, kernel status, output scrolling, and UI enhancements.

// Plugin interfaces
interface INotebookShell { ... }
interface INotebookPathOpener {
    open(options: INotebookPathOpener.IOpenOptions): WindowProxy | null;
}

// Main plugins exported
const plugins: JupyterFrontEndPlugin<any>[];

Frontend Plugins

Types

# Version information
VersionInfo = namedtuple("VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"])

# Application entry points
def main() -> None: ...
def launch_new_instance() -> None: ...

# Entry point functions
def main() -> None: ...
def launch_new_instance() -> None: ...

# Constants
__version__: str
version_info: VersionInfo