Wauplin HF staff commited on
Commit
e7e6ea6
β€’
1 Parent(s): 7de5c67
Files changed (2) hide show
  1. README.md +5 -1
  2. app.py +18 -27
README.md CHANGED
@@ -4,9 +4,13 @@ emoji: πŸ“ˆ
4
  colorFrom: yellow
5
  colorTo: purple
6
  sdk: gradio
7
- sdk_version: 4.26.0
8
  app_file: app.py
9
  pinned: false
 
 
 
 
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
4
  colorFrom: yellow
5
  colorTo: purple
6
  sdk: gradio
7
+ sdk_version: 4.27.0
8
  app_file: app.py
9
  pinned: false
10
+ hf_oauth: true
11
+ hf_oauth_scopes:
12
+ - read-repos
13
+ - write-repos
14
  ---
15
 
16
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py CHANGED
@@ -45,7 +45,9 @@ you've downloaded from your Kaggle user account.
45
  """
46
 
47
 
48
- def import_model(kaggle_model: str, repo_name: str, token: str) -> Iterable[List[Log]]:
 
 
49
  runner = LogsViewRunner()
50
 
51
  if not kaggle_model:
@@ -54,10 +56,9 @@ def import_model(kaggle_model: str, repo_name: str, token: str) -> Iterable[List
54
  if not repo_name:
55
  repo_name = kaggle_model.split("/")[-1]
56
  if not token:
57
- yield runner.log("HF Write Token is required.", level="ERROR")
58
- raise gr.Error("HF Write Token is required.")
59
- api = HfApi(token=token)
60
-
61
 
62
  yield runner.log(f"Creating HF repo {repo_name}")
63
  repo_url = api.create_repo(repo_name, exist_ok=True)
@@ -102,32 +103,22 @@ with gr.Blocks() as demo:
102
  gr.Markdown(MARKDOWN_DESCRIPTION)
103
 
104
  with gr.Row():
105
- with gr.Column():
106
- kaggle_model = gr.Textbox(
107
- lines=1,
108
- label="Kaggle Model*",
109
- placeholder="keras/codegemma/keras/code_gemma_7b_en",
110
- )
111
- repo_name = gr.Textbox(
112
- lines=1,
113
- label="Repo name",
114
- placeholder="Optional. Will infer from Kaggle Model if empty.",
115
- )
116
- with gr.Column():
117
- token = gr.Textbox(
118
- lines=1,
119
- label="HF Write Token*",
120
- info="https://hf.co/settings/token",
121
- type="password",
122
- placeholder="hf_***",
123
- )
124
 
125
  button = gr.Button("Import", variant="primary")
126
  logs = LogsView(label="Terminal output")
127
 
128
- button.click(
129
- fn=import_model, inputs=[kaggle_model, repo_name, token], outputs=[logs]
130
- )
131
 
132
 
133
  demo.queue(default_concurrency_limit=1).launch()
 
45
  """
46
 
47
 
48
+ def import_model(
49
+ kaggle_model: str, repo_name: str, token: gr.OAuthToken | None
50
+ ) -> Iterable[List[Log]]:
51
  runner = LogsViewRunner()
52
 
53
  if not kaggle_model:
 
56
  if not repo_name:
57
  repo_name = kaggle_model.split("/")[-1]
58
  if not token:
59
+ yield runner.log("You must sign in with HF before proceeding.", level="ERROR")
60
+ raise gr.Error("Authentication is required.")
61
+ api = HfApi(token=token.token)
 
62
 
63
  yield runner.log(f"Creating HF repo {repo_name}")
64
  repo_url = api.create_repo(repo_name, exist_ok=True)
 
103
  gr.Markdown(MARKDOWN_DESCRIPTION)
104
 
105
  with gr.Row():
106
+ kaggle_model = gr.Textbox(
107
+ lines=1,
108
+ label="Kaggle Model*",
109
+ placeholder="keras/codegemma/keras/code_gemma_7b_en",
110
+ )
111
+ repo_name = gr.Textbox(
112
+ lines=1,
113
+ label="Repo name",
114
+ placeholder="Optional. Will infer from Kaggle Model if empty.",
115
+ )
116
+ gr.LoginButton()
 
 
 
 
 
 
 
 
117
 
118
  button = gr.Button("Import", variant="primary")
119
  logs = LogsView(label="Terminal output")
120
 
121
+ button.click(fn=import_model, inputs=[kaggle_model, repo_name], outputs=[logs])
 
 
122
 
123
 
124
  demo.queue(default_concurrency_limit=1).launch()