class_docstr: The app context contains application-specific information. An app
  context is created and pushed at the beginning of each request if
  one is not already active. An app context is also pushed when
  running CLI commands.
docstr: Pops the app context.
docstr_tok: ["Pops","the","app","context","."]
code: def pop(self, exc: BaseException | None = _sentinel) -> None:  # type: ignore
      """Pops the app context."""
      try:
          if len(self._cv_tokens) == 1:
              if exc is _sentinel:
                  exc = sys.exc_info()[1]
              self.app.do_teardown_appcontext(exc)
      finally:
          ctx = _cv_app.get()
          _cv_app.reset(self._cv_tokens.pop())
  
      if ctx is not self:
          raise AssertionError(
              f"Popped wrong app context. ({ctx!r} instead of {self!r})"
          )
  
      appcontext_popped.send(
          self.app, _async_wrapper=self.app.ensure_sync
      )
  
imports: from __future__ import annotations
  import contextvars
  import sys
  import typing
  from functools import update_wrapper
  from types import TracebackType
  from werkzeug.exceptions import HTTPException
  from .None import typing
  from .globals import _cv_app
  from .globals import _cv_request
  from .signals import appcontext_popped
  from .signals import appcontext_pushed
label_desc: Use image node_id 3 for calling the AppContext obj's underlying member method code with example usage: obj.pop(exc) without return types