Teams

A Team represents the members and affiliations of a team that has entered a challenge.

Creating a Team

Teams are created within the context of a challenge using challenges.create_team():

from dyff.schema.requests import ChallengeTeamCreateRequest
from dyff.schema.platform import TeamMember, TeamAffiliation

team = dyffapi.challenges.create_team(
    challenge.id,
    ChallengeTeamCreateRequest(
        account=account,
        members={
            "alice": TeamMember(
                name="Alice Smith",
                isCorrespondingMember=True,
                email="[email protected]",
            ),
            "bob": TeamMember(
                name="Bob Jones",
                isCorrespondingMember=False,
            ),
        },
        affiliations={
            "university": TeamAffiliation(
                name="Example University",
                department="Computer Science",
            ),
        },
    ),
)

Team Members

Each team has one or more TeamMember entries. At least one member must be designated as a corresponding member (isCorrespondingMember=True) who will receive and respond to correspondence about the team’s participation.

Team member fields:

  • name - Full name as displayed in the UI (required)

  • isCorrespondingMember - Whether this member handles correspondence (required)

  • email - Email address (optional)

  • orcid - ORCID identifier (optional)

  • url - Personal web page URL (optional)

Team Affiliations

Teams can specify TeamAffiliation entries representing organizations (universities, companies, etc.) with which team members are affiliated.

Affiliation fields:

  • name - Organization name (required)

  • department - Department within the organization (optional)

  • group - Group within the organization or department (optional)

  • address - Mailing address (optional)

  • url - Organization web page (optional)

Listing Teams

To get all teams participating in a challenge:

teams = dyffapi.challenges.teams(challenge.id)

Team Approval

After a team registers for a challenge, the challenge organizer may need to approve the team before they can submit entries. Team status progresses through states like WaitingForApproval and Active.