code: def upload(self, fileobj, tileset, name=None, patch=False, callback=None, bypass=False):
          
          tileset = self._validate_tileset(tileset)
          url = self.stage(fileobj, callback=callback)
          return self.create(url, tileset, name=name, patch=patch, bypass=bypass)
docs: Upload data and create a Mapbox tileset
  
          Effectively replicates the Studio upload feature. Returns a
          Response object, the json() of which returns a dict with upload
          metadata.
  
          Parameters
          ----------
          fileobj: file object or str
              A filename or a Python file object opened in binary mode.
          tileset: str
              A tileset identifier such as '{owner}.my-tileset'.
          name: str
              A short name for the tileset that will appear in Mapbox
              studio.
          patch: bool
              Optional patch mode which requires a flag on the owner's
              account.
          bypass: bool
              Optional bypass validation mode for MBTiles which requires
              a flag on the owner's account.
          callback: func
              A function that takes a number of bytes processed as its
              sole argument. May be used with a progress bar.
  
          Returns
          -------
          requests.Response