docs: def create_scoped_session(self, options=None):
          """Create a :class:`~sqlalchemy.orm.scoping.scoped_session`
          on the factory from :meth:`create_session`.
  
          An extra key ``'scopefunc'`` can be set on the ``options`` dict to
          specify a custom scope function.  If it's not provided, Flask's app
          context stack identity is used. This will ensure that sessions are
          created and removed with the request/response cycle, and should be fine
          in most cases.
  
          :param options: dict of keyword arguments passed to session class  in
              ``create_session``
          """
  
          if options is None:
              options = {}
  
          scopefunc = options.pop('scopefunc', _app_ctx_stack.__ident_func__)
          options.setdefault('query_cls', self.Query)
          return orm.scoped_session(
              self.create_session(options), scopefunc=scopefunc
          )