code: def parse(self, declarations_str):
          
          for decl in declarations_str.split(';'):
              if not decl.strip():
                  continue
              prop, sep, val = decl.partition(':')
              prop = prop.strip().lower()
              # TODO: don't lowercase case sensitive parts of values (strings)
              val = val.strip().lower()
              if sep:
                  yield prop, val
              else:
                  warnings.warn('Ill-formatted attribute: expected a colon '
                                'in {decl!r}'.format(decl=decl), CSSWarning)
docs: Generates (prop, value) pairs from declarations
  
          In a future version may generate parsed tokens from tinycss/tinycss2