Spaces:
Sleeping
Sleeping
Nicolas Wagner commited on
Commit Β·
a2556f7
1
Parent(s): 30f0c04
change to 15min
Browse files- src/about.py +4 -1
- src/submission/submit_csv.py +8 -3
src/about.py
CHANGED
|
@@ -48,6 +48,7 @@ Your predictions are evaluated on:
|
|
| 48 |
- A submission is accepted only if it improves your accuracy or F1 score
|
| 49 |
- The leaderboard is sorted by best F1 score (primary metric)
|
| 50 |
- If F1 score is tied, earlier submission date is used as a tiebreaker
|
|
|
|
| 51 |
|
| 52 |
## π Prize Distribution & Evaluation Criteria
|
| 53 |
|
|
@@ -61,7 +62,8 @@ The final rankings will be determined at the end of the hackathon based on each
|
|
| 61 |
|
| 62 |
## Important Notes
|
| 63 |
- True labels are kept private and not accessible to participants
|
| 64 |
-
- You can submit
|
|
|
|
| 65 |
- Make sure your CSV file format is correct before submitting
|
| 66 |
- **All IDs from the test set must be present in your submission**
|
| 67 |
"""
|
|
@@ -87,6 +89,7 @@ Accepted formats for labels:
|
|
| 87 |
- Scores are computed using accuracy, F1 score, precision, and recall
|
| 88 |
- Only submissions that improve your best accuracy or F1 score are accepted
|
| 89 |
- Rejected submissions are logged but don't update the leaderboard
|
|
|
|
| 90 |
|
| 91 |
## π Prize Distribution & Evaluation Criteria
|
| 92 |
|
|
|
|
| 48 |
- A submission is accepted only if it improves your accuracy or F1 score
|
| 49 |
- The leaderboard is sorted by best F1 score (primary metric)
|
| 50 |
- If F1 score is tied, earlier submission date is used as a tiebreaker
|
| 51 |
+
- **Rate Limit**: You can submit once every 15 minutes
|
| 52 |
|
| 53 |
## π Prize Distribution & Evaluation Criteria
|
| 54 |
|
|
|
|
| 62 |
|
| 63 |
## Important Notes
|
| 64 |
- True labels are kept private and not accessible to participants
|
| 65 |
+
- You can submit once every **15 minutes** - plan your submissions carefully
|
| 66 |
+
- Only your best scores count on the leaderboard
|
| 67 |
- Make sure your CSV file format is correct before submitting
|
| 68 |
- **All IDs from the test set must be present in your submission**
|
| 69 |
"""
|
|
|
|
| 89 |
- Scores are computed using accuracy, F1 score, precision, and recall
|
| 90 |
- Only submissions that improve your best accuracy or F1 score are accepted
|
| 91 |
- Rejected submissions are logged but don't update the leaderboard
|
| 92 |
+
- **Rate Limit**: Teams can submit once every 15 minutes
|
| 93 |
|
| 94 |
## π Prize Distribution & Evaluation Criteria
|
| 95 |
|
src/submission/submit_csv.py
CHANGED
|
@@ -115,9 +115,14 @@ def check_rate_limit(team_name: str) -> tuple[bool, str]:
|
|
| 115 |
now = datetime.now(timezone.utc)
|
| 116 |
time_diff = now - last_time
|
| 117 |
|
| 118 |
-
if time_diff < timedelta(minutes=
|
| 119 |
-
|
| 120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
|
| 122 |
return True, ""
|
| 123 |
except Exception:
|
|
|
|
| 115 |
now = datetime.now(timezone.utc)
|
| 116 |
time_diff = now - last_time
|
| 117 |
|
| 118 |
+
if time_diff < timedelta(minutes=15):
|
| 119 |
+
remaining_seconds = (timedelta(minutes=15) - time_diff).total_seconds()
|
| 120 |
+
remaining_minutes = int(remaining_seconds // 60)
|
| 121 |
+
remaining_secs = int(remaining_seconds % 60)
|
| 122 |
+
return (
|
| 123 |
+
False,
|
| 124 |
+
f"Rate limit exceeded. Please wait {remaining_minutes} minutes and {remaining_secs} seconds before submitting again.",
|
| 125 |
+
)
|
| 126 |
|
| 127 |
return True, ""
|
| 128 |
except Exception:
|