class_docstr: Server-side holder for ``bokeh.application.Application`` plus any associated data.
  This holds data that's global to all sessions, while ``ServerSession`` holds
  data specific to an "instance" of the application.
class_docstr_tok: ["Server-side","holder","for","``","bokeh.application.Application","``","plus","any","associated","data",".","This","holds","data","that","'s","global","to","all","sessions",",","while","``","ServerSession","``","holds","data","specific","to","an","``","instance","''","of","the","application","."]
code: def __init__(
      self,
      application: Application,
      io_loop: IOLoop | None = None,
      url: str | None = None,
      logout_url: str | None = None,
  ):
      self._application = application
      self._loop = io_loop
      self._sessions = {}
      self._pending_sessions = {}
      self._session_contexts = {}
      self._server_context = BokehServerContext(self)
      self._url = url
      self._logout_url = logout_url
  
imports: from __future__ import annotations
  import logging
  import weakref
  from typing import TYPE_CHECKING, Any, Awaitable, Callable, Iterable
  from tornado import gen
  from ..application.application import ServerContext, SessionContext
  from ..document import Document
  from ..protocol.exceptions import ProtocolError
  from ..util.token import get_token_payload
  from .session import ServerSession
label_desc: Use image node_id 1 to create a new ApplicationContext object  with example: obj = ApplicationContext(application, io_loop, url, logout_url)