docs: def from_url(cls, path):
          """
          Instantiate a :class:`TemplateRepository` instance from the data in a
          file or url
  
          Args:
              path (str): Path or url to the json file to load
  
          Returns:
              TemplateRepository: A new instance
          """
          if os.path.isfile(path):
              with open(path) as fd:
                  data = fd.read()
          else:
              try:
                  response = urllib.urlopen(path)
                  if response.code >= 300:
                      raise RuntimeError('Unable to load repo from %s' % path)
  
                  data = response.read()
                  response.close()
              except IOError:
                  raise RuntimeError(
                      'Unable to load repo from %s (IO error)' % path
                  )
  
          return cls(json.loads(data), path)