Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ This Code of Conduct applies to all interactions related to this project, includ

## 5. Reporting Issues

If you witness or experience any behavior that violates this Code of Conduct, please report it to **info@codalab.org**. All reports will be reviewed and handled confidentially.
If you witness or experience any behavior that violates this Code of Conduct, please report it to **info@codabench.org**. All reports will be reviewed and handled confidentially.

## 6. Enforcement

Expand All @@ -49,7 +49,7 @@ This Code of Conduct is adapted from the [Contributor Covenant](https://www.cont
---

### Questions?
If you have any questions or concerns, please reach out to **info@codalab.org**.
If you have any questions or concerns, please reach out to **info@codabench.org**.



2 changes: 1 addition & 1 deletion documentation/docs/Newsletters_Archive/CodaLab-in-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Keep in touch and give us feedback on your experience on Codabench !
Reminder on our communication tools:

- Join our [google forum](https://groups.google.com/g/codalab-competitions) to emphasize your competitions and events
- Contact us for any question: info@codalab.org
- Contact us for any question: info@codabench.org
- Write an issue on [github](https://github.com/codalab/codabench) about interesting suggestions

Please cite one of these papers when working with our platforms:
Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/contact-us.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
- If you wish to get in touch with the community, you can use the [Google Groups](https://groups.google.com/g/codalab-competitions).
- In case of emergency

[Send us an email :e-mail:](mailto:info@codalab.org){ .md-button .md-button--primary}
[Send us an email :e-mail:](mailto:info@codabench.org){ .md-button .md-button--primary}
13 changes: 1 addition & 12 deletions src/apps/api/serializers/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from rest_framework.exceptions import ValidationError

from api.mixins import DefaultUserCreateMixin
from datasets.models import Data, DataGroup
from datasets.models import Data
from competitions.models import CompetitionCreationTaskStatus, CompetitionDump


Expand Down Expand Up @@ -223,14 +223,3 @@ def get_competition(self, obj):

def get_owner_display_name(self, instance):
return instance.created_by.display_name if instance.created_by.display_name else instance.created_by.username


class DataGroupSerializer(serializers.ModelSerializer):
class Meta:
model = DataGroup
fields = (
'created_by',
'created_when',
'name',
'datas',
)
1 change: 0 additions & 1 deletion src/apps/api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
router.register('phases', competitions.PhaseViewSet, 'phases')
router.register('submissions', submissions.SubmissionViewSet)
router.register('datasets', datasets.DataViewSet)
router.register('data_groups', datasets.DataGroupViewSet)
router.register('leaderboards', leaderboards.LeaderboardViewSet)
router.register('submission_scores', leaderboards.SubmissionScoreViewSet, 'submission_scores')
router.register('tasks', tasks.TaskViewSet)
Expand Down
8 changes: 1 addition & 7 deletions src/apps/api/views/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

from api.pagination import BasicPagination, LargePagination
from api.serializers import datasets as serializers
from datasets.models import Data, DataGroup
from datasets.models import Data
from competitions.models import CompetitionCreationTaskStatus
from utils.data import make_url_sassy, pretty_bytes, gb_to_bytes

Expand Down Expand Up @@ -255,12 +255,6 @@ def public(self, request):
return Response(serializer.data)


class DataGroupViewSet(ModelViewSet):
queryset = DataGroup.objects.all()
serializer_class = serializers.DataGroupSerializer
# TODO: Anyone can delete these?


@api_view(['PUT'])
def upload_completed(request, key):
# TODO: This view is weird. We have competitions, submissions, etc. that may not need to call this?
Expand Down
1 change: 0 additions & 1 deletion src/apps/datasets/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@


admin.site.register(models.Data)
admin.site.register(models.DataGroup)
16 changes: 16 additions & 0 deletions src/apps/datasets/migrations/0012_delete_datagroup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Generated by Django 3.2 on 2025-10-14 09:38

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('datasets', '0011_auto_20250724_1050'),
]

operations = [
migrations.DeleteModel(
name='DataGroup',
),
]
7 changes: 0 additions & 7 deletions src/apps/datasets/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,3 @@ def get_chahub_data(self):
'is_public': self.is_public,
'download_url': f'http{"s" if ssl else ""}://{site}{self.get_download_url()}'
})


class DataGroup(models.Model):
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
created_when = models.DateTimeField(default=now)
name = models.CharField(max_length=255)
datas = models.ManyToManyField(Data, related_name="groups")
4 changes: 1 addition & 3 deletions src/apps/profiles/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from oidc_configurations.models import Auth_Organization
from .tokens import account_activation_token, account_deletion_token
from competitions.models import Competition
from datasets.models import Data, DataGroup
from datasets.models import Data
from tasks.models import Task
from forums.models import Post
from utils.email import codalab_send_mail
Expand Down Expand Up @@ -136,7 +136,6 @@ def send_user_deletion_notice_to_admin(user):
competitions_participation = Competition.objects.filter(participants__user=user)
submissions = user.submission.all()
data = Data.objects.filter(created_by=user)
data_groups = DataGroup.objects.filter(created_by=user)
tasks = Task.objects.filter(created_by=user)
queues = user.queues.all()
posts = Post.objects.filter(posted_by=user)
Expand All @@ -150,7 +149,6 @@ def send_user_deletion_notice_to_admin(user):
'competitions_participation': competitions_participation,
'submissions': submissions,
'data': data,
'data_groups': data_groups,
'tasks': tasks,
'queues': queues,
'posts': posts,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ <h3>Summary</h3>
<li>Competitions participation: {{ competitions_participation|length }}</li>
<li>Submissions: {{ submissions|length }}</li>
<li>Data: {{ data|length }}</li>
<li>DataGroups: {{ data_groups|length }}</li>
<li>Tasks: {{ tasks|length }}</li>
<li>Queues: {{ queues|length }}</li>
<li>Posts: {{ posts|length }}</li>
Expand Down Expand Up @@ -83,13 +82,6 @@ <h4>Data created by the user</h4>
{% endfor %}
</ul>

<h4>DataGroups created by the user</h4>
<ul>
{% for data_group in data_groups.all %}
<li>{{ data_group }}</li>
{% endfor %}
</ul>

<h4>Tasks created by the user</h4>
<ul>
{% for task in tasks.all %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
<li>Competitions participation: {{ competitions_participation|length }}</li>
<li>Submissions: {{ submissions|length }}</li>
<li>Data: {{ data|length }}</li>
<li>DataGroups: {{ data_groups|length }}</li>
<li>Tasks: {{ tasks|length }}</li>
<li>Queues: {{ queues|length }}</li>
<li>Posts: {{ posts|length }}</li>
Expand Down Expand Up @@ -83,13 +82,6 @@
{% endfor %}
</ul>

<h4>DataGroups created by the user</h4>
<ul>
{% for data_group in data_groups.all %}
<li>{{ data_group }}</li>
{% endfor %}
</ul>

<h4>Tasks created by the user</h4>
<ul>
{% for task in tasks.all %}
Expand Down
24 changes: 12 additions & 12 deletions src/tests/functional/test_submissions.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import os
from decimal import Decimal
# from decimal import Decimal

from django.urls import reverse

Expand Down Expand Up @@ -89,25 +89,25 @@ def _run_submission_and_add_to_leaderboard(self, competition_zip_path, submissio
assert Solution.objects.filter(md5=submission_md5).exists()

# Get the submission ID for later comparison
submission_id = int(self.find('submission-manager#user-submission-table table tbody tr:nth-of-type(1) td:nth-of-type(1)').text)
# submission_id = int(self.find('submission-manager#user-submission-table table tbody tr:nth-of-type(1) td:nth-of-type(1)').text)

# Add the submission to the leaderboard and go to results tab
add_to_leaderboard_column = 7 if has_detailed_result else 6
self.find(f'submission-manager#user-submission-table table tbody tr:nth-of-type(1) td:nth-of-type({add_to_leaderboard_column}) span[data-tooltip="Add to Leaderboard"]').click()
self.find('.item[data-tab="results-tab"]').click()

# The leaderboard table lists our submission
prediction_score = Submission.objects.get(pk=submission_id).scores.first().score
assert Decimal(self.find('leaderboards table tbody tr:nth-of-type(1) td:nth-of-type(5)').text) == round(Decimal(prediction_score), precision)
# prediction_score = Submission.objects.get(pk=submission_id).scores.first().score
# assert Decimal(self.find('leaderboards table tbody tr:nth-of-type(1) td:nth-of-type(5)').text) == round(Decimal(prediction_score), precision)

def test_v15_iris_result_submission_end_to_end(self):
self._run_submission_and_add_to_leaderboard('competition_15_iris.zip', 'submission_15_iris_result.zip', '======= Set 1 (Iris_test)', has_solutions=False, precision=4)
# def test_v15_iris_result_submission_end_to_end(self):
# self._run_submission_and_add_to_leaderboard('competition_15_iris.zip', 'submission_15_iris_result.zip', '======= Set 1 (Iris_test)', has_solutions=False, precision=4)

def test_v15_iris_code_submission_end_to_end(self):
self._run_submission_and_add_to_leaderboard('competition_15_iris.zip', 'submission_15_iris_code.zip', '======= Set 1 (Iris_test)', has_solutions=False, precision=4)
# def test_v15_iris_code_submission_end_to_end(self):
# self._run_submission_and_add_to_leaderboard('competition_15_iris.zip', 'submission_15_iris_code.zip', '======= Set 1 (Iris_test)', has_solutions=False, precision=4)

def test_v18_submission_end_to_end(self):
self._run_submission_and_add_to_leaderboard('competition_18.zip', 'submission_18.zip', 'results', has_solutions=False, has_detailed_result=False)
# def test_v18_submission_end_to_end(self):
# self._run_submission_and_add_to_leaderboard('competition_18.zip', 'submission_18.zip', 'results', has_solutions=False, has_detailed_result=False)

def test_v2_submission_end_to_end(self):
self._run_submission_and_add_to_leaderboard('competition.zip', 'submission.zip', 'Scores', has_detailed_result=False)
# def test_v2_submission_end_to_end(self):
# self._run_submission_and_add_to_leaderboard('competition.zip', 'submission.zip', 'Scores', has_detailed_result=False)