# upload_file_with_arg.pyimport argparse
import os
from modelscope.hub.api import HubApi# Build the argument parser
parser = argparse.ArgumentParser(description=("Upload a file to a ModelScope repository.\n\n""Example usage:\n"" python upload_file.py --file /path/to/local.zip --target remote_name.zip"),formatter_class=argparse.RawTextHelpFormatter # preserve newlines)# Add command-line arguments
parser.add_argument("--file", required=True,help="Local path to the file to be uploaded (e.g., /home/user/file.zip)")
parser.add_argument("--target", required=True,help="Destination path in the repository (e.g., file.zip)")# Parse arguments
args = parser.parse_args()# Read token from environment variable
token = os.environ.get("MODELSCOPE_TOKEN")ifnot token:raise EnvironmentError("MODELSCOPE_TOKEN environment variable is not set. Please run: export MODELSCOPE_TOKEN=your_token")# Login and upload
api = HubApi()
api.login(access_token=token)api.upload_file(path_or_fileobj=args.file,path_in_repo=args.target,repo_id="<YOUR_MODELSCOPE_ID>/<YOUR_MODELSCOPE_REPO>",commit_message=f"Upload {args.target} to repo",)