original_docstring: 
          config must have sections:
              - defaults: min_segment_size (int), features (list[str])
          optional sections:
              - custom_bins:
                  key matches features,
                  list[list[str|int]] OR list[list[tuple]]
              - n_bins: key matches features, int
  
          A given feature can EITHER have custom_bins OR n_bins or neither,
          if custom_bins then those are used, if n_bins then n_bins or less are
          created depending on min_segment_size, if neither then bins are
          automatically created
          
docstring: 
  
  A given feature can EITHER have custom_bins OR n_bins or neither,
  if custom_bins then those are used, if n_bins then n_bins or less are
  created depending on min_segment_size, if neither then bins are
  automatically created
docstring_tokens: A given feature can EITHER have custom_bins OR n_bins or neither if custom_bins then those are used if n_bins then n_bins or less are created depending on min_segment_size if neither then bins are automatically created
code: def _load_config_file(self, config_file: str):
          '''
          config must have sections:
              - defaults: min_segment_size (int), features (list[str])
          optional sections:
              - custom_bins:
                  key matches features,
                  list[list[str|int]] OR list[list[tuple]]
              - n_bins: key matches features, int
  
          A given feature can EITHER have custom_bins OR n_bins or neither,
          if custom_bins then those are used, if n_bins then n_bins or less are
          created depending on min_segment_size, if neither then bins are
          automatically created
          '''
          config = ConfigParser()
          config.read(config_file)
          feats = eval(config['defaults']['features'])
          config_dict = {
              'min_segment_size': int(config['defaults']['min_segment_size']),
              'features': feats,
          }
          if config.has_section('custom_bins'):
              tmp = {k: eval(v) for k,v in config['custom_bins'].items()}
              config_dict['custom_bins'] = tmp
  
          if config.has_section('n_bins'):
              tmp = {k: int(v) for k,v in config['n_bins'].items()}
              config_dict['n_bins'] = tmp
  
          self._load_config_dict(config_dict)
code_tokens: def _load_config_file ( self , config_file : str ) : config = ConfigParser ( ) config . read ( config_file ) feats = eval ( config [ 'defaults' ] [ 'features' ] ) config_dict = { 'min_segment_size' : int ( config [ 'defaults' ] [ 'min_segment_size' ] ) , 'features' : feats , } if config . has_section ( 'custom_bins' ) : tmp = { k : eval ( v ) for k , v in config [ 'custom_bins' ] . items ( ) } config_dict [ 'custom_bins' ] = tmp if config . has_section ( 'n_bins' ) : tmp = { k : int ( v ) for k , v in config [ 'n_bins' ] . items ( ) } config_dict [ 'n_bins' ] = tmp self . _load_config_dict ( config_dict )
short_docstring: config must have sections:
   defaults: min_segment_size (int), features (list[str])
  optional sections:
   custom_bins:
  key matches features,
  list[list[str|int]] OR list[list[tuple]]
   n_bins: key matches features, int
short_docstring_tokens: config must have sections : defaults : min_segment_size ( int ) features ( list [ str ] ) optional sections : custom_bins : key matches features list [ list [ str|int ]] OR list [ list [ tuple ]] n_bins : key matches features int
comment: '''
          config must have sections:
              - defaults: min_segment_size (int), features (list[str])
          optional sections:
              - custom_bins:
                  key matches features,
                  list[list[str|int]] OR list[list[tuple]]
              - n_bins: key matches features, int
  
          A given feature can EITHER have custom_bins OR n_bins or neither,
          if custom_bins then those are used, if n_bins then n_bins or less are
          created depending on min_segment_size, if neither then bins are
          automatically created
          '''