code: def _setup(self, layers, layer_idx):
          
          basemap = layers[0]
  
          # if color not specified, choose a default
          if self.time:
              # default time/torque color
              self.color = self.color or '#2752ff'
          else:
              self.color = self.color or DEFAULT_COLORS[layer_idx]
  
          if isinstance(self.size, (int, float)):
              if self.geom_type == 'point':
                  self.size = self.size or 4
              else:
                  self.size = self.size or 1.5
  
          # choose appropriate scheme if not already specified
          if (not self.scheme) and (self.color in self.style_cols):
              self._choose_scheme()
  
          if self.time:
              self._setup_time(basemap)
          else:
              # use turbo-carto for non-animated maps
              self.cartocss = self._get_cartocss(basemap)
docs: Setups layers once geometry types and data types are known, and when
          a map is requested to be rendered from zero or more data layers