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.