Skip to content

Référence pour hub_sdk/modules/teams.py

Note

Ce fichier est disponible à l'adresse https://github.com/ultralytics/ hub-sdk/blob/main/ hub_sdk/modules/teams .py. Si tu repères un problème, aide à le corriger en contribuant à une Pull Request 🛠️. Merci 🙏 !



hub_sdk.modules.teams.Teams

Bases : CRUDClient

Une classe représentant un client qui interagit avec les équipes par le biais d'opérations CRUD. Cette classe étend la classe CRUDClient et fournit des méthodes spécifiques pour travailler avec les équipes.

Attributs :

Nom Type Description
id (str, None)

L'identifiant unique de l'Ă©quipe, s'il est disponible.

data dict

Un dictionnaire pour stocker les données de l'équipe.

Note

L'attribut 'id' est défini lors de l'initialisation et peut être utilisé pour identifier une équipe de façon unique. L'attribut 'data' est utilisé pour stocker les données de l'équipe récupérées à partir de l'API.

Code source dans hub_sdk/modules/teams.py
class Teams(CRUDClient):
    """
    A class representing a client for interacting with Teams through CRUD operations. This class extends the CRUDClient
    class and provides specific methods for working with Teams.

    Attributes:
        id (str, None): The unique identifier of the team, if available.
        data (dict): A dictionary to store team data.

    Note:
        The 'id' attribute is set during initialization and can be used to uniquely identify a team.
        The 'data' attribute is used to store team data fetched from the API.
    """

    def __init__(self, team_id: Optional[str] = None, headers: Optional[Dict[str, Any]] = None):
        """
        Initialize a Teams instance.

        Args:
            team_id (str, optional): The unique identifier of the team.
            headers (dict, optional): A dictionary of HTTP headers to be included in API requests.
        """
        super().__init__("teams", "team", headers)
        self.id = team_id
        self.data = {}
        if team_id:
            self.get_data()

    def get_data(self) -> None:
        """
        Retrieves data for the current team instance.

        If a valid team ID has been set, it sends a request to fetch the team data and stores it in the instance.
        If no team ID has been set, it logs an error message.

        Returns:
            (None): The method does not return a value.
        """
        if self.id:
            resp = super().read(self.id).json()
            self.data = resp.get("data", {})
            self.logger.debug("Team id is %s", self.id)
        else:
            self.logger.error("No team id has been set. Update the team id or create a team.")

    def create_team(self, team_data) -> None:
        """
        Creates a new team with the provided data and sets the team ID for the current instance.

        Args:
            team_data (dict): A dictionary containing the data for creating the team.

        Returns:
            (None): The method does not return a value.
        """
        resp = super().create(team_data).json()
        self.id = resp.get("data", {}).get("id")
        self.get_data()

    def delete(self, hard=False) -> Optional[Response]:
        """
        Delete the team resource represented by this instance.

        Args:
            hard (bool, optional): If True, perform a hard (permanent) delete.

        Note:
            The 'hard' parameter determines whether to perform a soft delete (default) or a hard delete.
            In a soft delete, the team might be marked as deleted but retained in the system.
            In a hard delete, the team is permanently removed from the system.

        Returns:
            (Optional[Response]): The response from the delete request, or None if it fails.
        """
        return super().delete(self.id, hard)

    def update(self, data) -> Optional[Response]:
        """
        Update the team resource represented by this instance.

        Args:
            data (dict): The updated data for the team resource.

        Returns:
            (Optional[Response]): The response from the update request, or Noe if it fails.
        """
        return super().update(self.id, data)

__init__(team_id=None, headers=None)

Initialise une instance d'Ă©quipe.

Paramètres :

Nom Type Description DĂ©faut
team_id str

L'identifiant unique de l'Ă©quipe.

None
headers dict

Un dictionnaire d'en-tĂŞtes HTTP Ă  inclure dans les demandes d'API.

None
Code source dans hub_sdk/modules/teams.py
def __init__(self, team_id: Optional[str] = None, headers: Optional[Dict[str, Any]] = None):
    """
    Initialize a Teams instance.

    Args:
        team_id (str, optional): The unique identifier of the team.
        headers (dict, optional): A dictionary of HTTP headers to be included in API requests.
    """
    super().__init__("teams", "team", headers)
    self.id = team_id
    self.data = {}
    if team_id:
        self.get_data()

create_team(team_data)

Crée une nouvelle équipe avec les données fournies et définit l'identifiant de l'équipe pour l'instance actuelle.

Paramètres :

Nom Type Description DĂ©faut
team_data dict

Un dictionnaire contenant les données nécessaires à la création de l'équipe.

requis

Retourne :

Type Description
None

La méthode ne renvoie pas de valeur.

Code source dans hub_sdk/modules/teams.py
def create_team(self, team_data) -> None:
    """
    Creates a new team with the provided data and sets the team ID for the current instance.

    Args:
        team_data (dict): A dictionary containing the data for creating the team.

    Returns:
        (None): The method does not return a value.
    """
    resp = super().create(team_data).json()
    self.id = resp.get("data", {}).get("id")
    self.get_data()

delete(hard=False)

Supprime la ressource de l'équipe représentée par cette instance.

Paramètres :

Nom Type Description DĂ©faut
hard bool

Si c'est le cas, la suppression est définitive.

False
Note

Le paramètre 'hard' détermine s'il faut effectuer une suppression douce (par défaut) ou une suppression dure. Dans le cas d'une suppression douce, l'équipe peut être marquée comme supprimée mais conservée dans le système. Dans le cas d'une suppression dure, l'équipe est définitivement supprimée du système.

Retourne :

Type Description
Optional[Response]

La réponse de la demande de suppression, ou Aucune si elle échoue.

Code source dans hub_sdk/modules/teams.py
def delete(self, hard=False) -> Optional[Response]:
    """
    Delete the team resource represented by this instance.

    Args:
        hard (bool, optional): If True, perform a hard (permanent) delete.

    Note:
        The 'hard' parameter determines whether to perform a soft delete (default) or a hard delete.
        In a soft delete, the team might be marked as deleted but retained in the system.
        In a hard delete, the team is permanently removed from the system.

    Returns:
        (Optional[Response]): The response from the delete request, or None if it fails.
    """
    return super().delete(self.id, hard)

get_data()

Récupère les données de l'instance d'équipe actuelle.

Si un identifiant d'équipe valide a été défini, il envoie une demande pour récupérer les données de l'équipe et les stocker dans l'instance. Si aucun identifiant d'équipe n'a été défini, un message d'erreur est affiché.

Retourne :

Type Description
None

La méthode ne renvoie pas de valeur.

Code source dans hub_sdk/modules/teams.py
def get_data(self) -> None:
    """
    Retrieves data for the current team instance.

    If a valid team ID has been set, it sends a request to fetch the team data and stores it in the instance.
    If no team ID has been set, it logs an error message.

    Returns:
        (None): The method does not return a value.
    """
    if self.id:
        resp = super().read(self.id).json()
        self.data = resp.get("data", {})
        self.logger.debug("Team id is %s", self.id)
    else:
        self.logger.error("No team id has been set. Update the team id or create a team.")

update(data)

Met à jour la ressource de l'équipe représentée par cette instance.

Paramètres :

Nom Type Description DĂ©faut
data dict

Les données mises à jour pour la ressource de l'équipe.

requis

Retourne :

Type Description
Optional[Response]

La réponse de la demande de mise à jour, ou Noe si elle échoue.

Code source dans hub_sdk/modules/teams.py
def update(self, data) -> Optional[Response]:
    """
    Update the team resource represented by this instance.

    Args:
        data (dict): The updated data for the team resource.

    Returns:
        (Optional[Response]): The response from the update request, or Noe if it fails.
    """
    return super().update(self.id, data)



hub_sdk.modules.teams.TeamList

Bases : PaginatedList

Code source dans hub_sdk/modules/teams.py
class TeamList(PaginatedList):
    def __init__(self, page_size=None, public=None, headers=None):
        """
        Initialize a TeamList instance.

        Args:
            page_size (int, optional): The number of items to request per page.
            public (bool, optional): Whether the items should be publicly accessible.
            headers (dict, optional): Headers to be included in API requests.
        """
        base_endpoint = "datasets"
        if public:
            base_endpoint = f"public/{base_endpoint}"
        super().__init__(base_endpoint, "team", page_size, headers)

__init__(page_size=None, public=None, headers=None)

Initialise une instance de liste d'Ă©quipe.

Paramètres :

Nom Type Description DĂ©faut
page_size int

Le nombre d'éléments à demander par page.

None
public bool

Si les articles doivent ĂŞtre accessibles au public.

None
headers dict

En-tĂŞtes Ă  inclure dans les demandes d'API.

None
Code source dans hub_sdk/modules/teams.py
def __init__(self, page_size=None, public=None, headers=None):
    """
    Initialize a TeamList instance.

    Args:
        page_size (int, optional): The number of items to request per page.
        public (bool, optional): Whether the items should be publicly accessible.
        headers (dict, optional): Headers to be included in API requests.
    """
    base_endpoint = "datasets"
    if public:
        base_endpoint = f"public/{base_endpoint}"
    super().__init__(base_endpoint, "team", page_size, headers)