code: def padding(value):
          
          if isinstance(value, dict):
              required_keys = ['top', 'left', 'right', 'bottom']
              for key in required_keys:
                  if key not in value:
                      error = ('Padding must have keys "{0}".'
                               .format('", "'.join(required_keys)))
                      raise ValueError(error)
                  _assert_is_type('padding: {0}'.format(key), value[key], int)
                  if value[key] < 0:
                      raise ValueError('Padding cannot be negative.')
          elif isinstance(value, int):
              if value < 0:
                  raise ValueError('Padding cannot be negative.')
          else:
              if value not in ("auto", "strict"):
                  raise ValueError('Padding can only be auto or strict.')
docs: int or dict : Padding around visualization
  
          The padding defines the distance between the edge of the
          visualization canvas to the visualization box. It does not count as
          part of the visualization width/height. Values cannot be negative.
  
          If a dict, padding must have all keys ``''top'``, ``'left'``,
          ``'right'``, and ``'bottom'`` with int values.