code: def unbounded(self):
          
          unbounded_dims = []
          # Dimensioned streams do not need to be bounded
          stream_params = set(util.stream_parameters(self.streams))
          for kdim in self.kdims:
              if str(kdim) in stream_params:
                  continue
              if kdim.values:
                  continue
              if None in kdim.range:
                  unbounded_dims.append(str(kdim))
          return unbounded_dims
docs: Returns a list of key dimensions that are unbounded, excluding
          stream parameters. If any of theses key dimensions are
          unbounded, the DynamicMap as a whole is also unbounded.