docs: def strip(self, strip=0, **kwdargs):
          """ Remove non-essential attributes to save memory / disk usage
  
          Useful to save a very compressed version of the object
          The higher strip => the more stripped the object
          Use strip=0 to recover all atributes
  
          See the difference by doing:
              > self.get_nbytes()
              > self.strip(-1)
              > self.get_nbytes()
  
          Parameters
          ----------
          strip:      int
              Flag indicating how much to strip from the object
                   0: Make complete (retrieve all attributes){0}
                  -1: Equivalent to strip={1}
          """
          msg = "Only allowed strip values are:\n"
          msg += "    "+ ", ".join(["{0}".format(ii)
                                    for ii in self._dstrip['allowed']])
          assert strip in [-1]+self._dstrip['allowed'], msg
          strip = self._dstrip['allowed'][strip]
  
          # --------------------------------
          # Call class-specific strip method
          self._strip(strip, **kwdargs)
          # --------------------------------
  
          self._dstrip['strip'] = strip