Abhishek Thakur commited on
Commit
7624780
·
1 Parent(s): cb7ab1b

public private

Browse files
Files changed (1) hide show
  1. competitions/create.py +39 -28
competitions/create.py CHANGED
@@ -61,6 +61,7 @@ def create_competition(
61
  end_date,
62
  sample_submission_file,
63
  solution_file,
 
64
  ):
65
 
66
  # verify sample submission and solution
@@ -97,11 +98,14 @@ def create_competition(
97
  visible=True,
98
  )
99
 
100
- # generate a random id
101
  suffix = str(uuid.uuid4())
102
  private_dataset_name = f"{who_pays}/{competition_name}{suffix}"
103
  public_dataset_name = f"{who_pays}/{competition_name}"
104
- space_name = f"competitions/{competition_name}"
 
 
 
105
 
106
  sample_submission_df = pd.read_csv(sample_submission_file.name)
107
  submission_columns = ",".join(sample_submission_df.columns)
@@ -249,7 +253,7 @@ def create_competition(
249
  repo_id=space_name,
250
  repo_type="space",
251
  private=False,
252
- token=BOT_TOKEN,
253
  space_sdk="docker",
254
  exist_ok=False,
255
  )
@@ -263,7 +267,7 @@ def create_competition(
263
  path_in_repo="Dockerfile",
264
  repo_id=space_name,
265
  repo_type="space",
266
- token=BOT_TOKEN,
267
  )
268
 
269
  space_readme = f"""
@@ -288,26 +292,26 @@ def create_competition(
288
  path_in_repo="README.md",
289
  repo_id=space_name,
290
  repo_type="space",
291
- token=BOT_TOKEN,
292
  )
293
 
294
  api.add_space_secret(
295
  repo_id=space_name,
296
  key="COMPETITION_ID",
297
  value=private_dataset_name,
298
- token=BOT_TOKEN,
299
  )
300
  api.add_space_secret(
301
  repo_id=space_name,
302
  key="AUTOTRAIN_USERNAME",
303
  value=who_pays,
304
- token=BOT_TOKEN,
305
  )
306
  api.add_space_secret(
307
  repo_id=space_name,
308
  key="AUTOTRAIN_TOKEN",
309
  value=user_token,
310
- token=BOT_TOKEN,
311
  )
312
 
313
  return gr.Markdown.update(
@@ -317,7 +321,8 @@ def create_competition(
317
  <p>Private dataset: <a href="https://hf.co/datasets/{private_dataset_name}">{private_dataset_name}</a></p>
318
  <p>Public dataset: <a href="https://hf.co/datasets/{public_dataset_name}">{public_dataset_name}</a></p>
319
  <p>Competition space: <a href="https://hf.co/spaces/{space_name}">{space_name}</a></p>
320
- <p>Note: Do NOT share the private dataset or link with anyone else.</p>
 
321
  </div>
322
  """,
323
  visible=True,
@@ -450,26 +455,31 @@ with gr.Blocks() as demo:
450
  value="",
451
  label="End Date (YYYY-MM-DD)",
452
  )
453
- with gr.Row():
454
- with gr.Column():
455
- sample_submission_file = gr.File(
456
- label="sample_submission.csv",
457
- )
458
- with gr.Column():
459
- solution_file = gr.File(
460
- label="solution.csv",
461
- )
462
- gr.Markdown(
 
 
 
 
463
  """
464
- <p style="text-align: center">
465
- <h4>Please note that you will need to upload training and test
466
- data separately to the public repository that will be created.
467
- You can also change sample_submission and solution files later.</h4>
468
- </p>
469
- """
470
- )
471
- with gr.Row():
472
- create_button = gr.Button("Create Competition")
 
473
 
474
  final_output = gr.Markdown(visible=True)
475
 
@@ -488,5 +498,6 @@ with gr.Blocks() as demo:
488
  end_date,
489
  sample_submission_file,
490
  solution_file,
 
491
  ]
492
  create_button.click(create_competition, inputs=create_inputs, outputs=[final_output])
 
61
  end_date,
62
  sample_submission_file,
63
  solution_file,
64
+ is_public,
65
  ):
66
 
67
  # verify sample submission and solution
 
98
  visible=True,
99
  )
100
 
101
+ is_public = is_public == "Public"
102
  suffix = str(uuid.uuid4())
103
  private_dataset_name = f"{who_pays}/{competition_name}{suffix}"
104
  public_dataset_name = f"{who_pays}/{competition_name}"
105
+ if is_public:
106
+ space_name = f"competitions/{competition_name}"
107
+ else:
108
+ space_name = f"{who_pays}/{competition_name}"
109
 
110
  sample_submission_df = pd.read_csv(sample_submission_file.name)
111
  submission_columns = ",".join(sample_submission_df.columns)
 
253
  repo_id=space_name,
254
  repo_type="space",
255
  private=False,
256
+ token=BOT_TOKEN if is_public else user_token,
257
  space_sdk="docker",
258
  exist_ok=False,
259
  )
 
267
  path_in_repo="Dockerfile",
268
  repo_id=space_name,
269
  repo_type="space",
270
+ token=BOT_TOKEN if is_public else user_token,
271
  )
272
 
273
  space_readme = f"""
 
292
  path_in_repo="README.md",
293
  repo_id=space_name,
294
  repo_type="space",
295
+ token=BOT_TOKEN if is_public else user_token,
296
  )
297
 
298
  api.add_space_secret(
299
  repo_id=space_name,
300
  key="COMPETITION_ID",
301
  value=private_dataset_name,
302
+ token=BOT_TOKEN if is_public else user_token,
303
  )
304
  api.add_space_secret(
305
  repo_id=space_name,
306
  key="AUTOTRAIN_USERNAME",
307
  value=who_pays,
308
+ token=BOT_TOKEN if is_public else user_token,
309
  )
310
  api.add_space_secret(
311
  repo_id=space_name,
312
  key="AUTOTRAIN_TOKEN",
313
  value=user_token,
314
+ token=BOT_TOKEN if is_public else user_token,
315
  )
316
 
317
  return gr.Markdown.update(
 
321
  <p>Private dataset: <a href="https://hf.co/datasets/{private_dataset_name}">{private_dataset_name}</a></p>
322
  <p>Public dataset: <a href="https://hf.co/datasets/{public_dataset_name}">{public_dataset_name}</a></p>
323
  <p>Competition space: <a href="https://hf.co/spaces/{space_name}">{space_name}</a></p>
324
+ <p>NOTE: for private competitions, please add `autoevaluator` user to your org: {who_pays}.</p>
325
+ <p>NOTE: Do NOT share the private dataset or link with anyone else.</p>
326
  </div>
327
  """,
328
  visible=True,
 
455
  value="",
456
  label="End Date (YYYY-MM-DD)",
457
  )
458
+ with gr.Box():
459
+ with gr.Row():
460
+ with gr.Column():
461
+ sample_submission_file = gr.File(
462
+ label="sample_submission.csv",
463
+ )
464
+ with gr.Column():
465
+ solution_file = gr.File(
466
+ label="solution.csv",
467
+ )
468
+ gr.Markdown(
469
+ """Please note that you will need to upload training and test
470
+ data separately to the public repository that will be created.
471
+ You can also change sample_submission and solution files later.
472
  """
473
+ )
474
+ with gr.Box():
475
+ with gr.Row():
476
+ is_public = gr.Dropdown(
477
+ ["Public", "Private"],
478
+ label="Competition Visibility. Private competitions are only visible to you and your organization members and are created inside your organization. Public competitions are available at hf.co/competitions.",
479
+ value="Public",
480
+ )
481
+ with gr.Row():
482
+ create_button = gr.Button("Create Competition")
483
 
484
  final_output = gr.Markdown(visible=True)
485
 
 
498
  end_date,
499
  sample_submission_file,
500
  solution_file,
501
+ is_public,
502
  ]
503
  create_button.click(create_competition, inputs=create_inputs, outputs=[final_output])