docs: def extract(self, archive_path, output_package_path, **kwargs):
          '''Extract an archived GraftM package.
  
          Parameters
          ----------
          archive_path: str
              path to archive
          output_package_path: str
              path to where to put the extracted file
          kwargs:
              force: bool
                  overwrite an existing directory
          '''
          force = kwargs.pop('force', ArchiveDefaultOptions.force)
          if len(kwargs) > 0:
              raise Exception("Unexpected arguments detected: %s" % kwargs)
          
          logging.info("Un-archiving GraftM package '%s' from '%s'" % (output_package_path, archive_path))
          archive = os.path.abspath(archive_path)
          output = os.path.abspath(output_package_path)
          
          self._setup_output(output, force)
          
          with tempdir.in_tempdir():
              with tarfile.open(archive) as tar:
                  tar.extractall()
                  for tarinfo in tar:
                      folder = os.path.dirname(tarinfo.name)
                      break
  
              # recreate diamond file
              gpkg = GraftMPackage.acquire(folder)
              if gpkg.version != 3:
                  raise Exception("Encountered an archived gpkg of unexpected version: %d" % gpkg.version)
              if gpkg.diamond_database_path():
                  logging.debug("Creating diamond DB")
                  gpkg.create_diamond_db()
  
              shutil.move(folder, output)
  
          logging.info("Archive successfully extracted")