Zum Inhalt springen

Referenz fĂŒr hub_sdk/modules/teams.py

Hinweis

Diese Datei ist verfĂŒgbar unter https://github.com/ultralytics/ hub-sdk/blob/main/ hub_sdk/modules/teams .py. Wenn du ein Problem entdeckst, hilf bitte mit, es zu beheben, indem du einen Pull Request đŸ› ïž einreichst. Vielen Dank 🙏!



hub_sdk.modules.teams.Teams

Basen: CRUDClient

Eine Klasse, die einen Client fĂŒr die Interaktion mit Teams durch CRUD-Operationen darstellt. Diese Klasse erweitert die CRUDClient Klasse und bietet spezielle Methoden fĂŒr die Arbeit mit Teams.

Attribute:

Name Typ Beschreibung
id (str, None)

Die eindeutige Kennung des Teams, falls vorhanden.

data dict

Ein Wörterbuch zum Speichern von Teamdaten.

Hinweis

Das Attribut "id" wird bei der Initialisierung gesetzt und kann zur eindeutigen Identifizierung eines Teams verwendet werden. Das Attribut "data" wird verwendet, um Teamdaten zu speichern, die von der API abgerufen werden.

Quellcode in 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)

Initialisiere eine Teams-Instanz.

Parameter:

Name Typ Beschreibung Standard
team_id str

Der eindeutige Bezeichner des Teams.

None
headers dict

Ein Wörterbuch mit HTTP-Headern, die in API-Anfragen enthalten sein mĂŒssen.

None
Quellcode in 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)

Legt ein neues Team mit den angegebenen Daten an und setzt die Team-ID fĂŒr die aktuelle Instanz.

Parameter:

Name Typ Beschreibung Standard
team_data dict

Ein Wörterbuch, das die Daten fĂŒr die Erstellung des Teams enthĂ€lt.

erforderlich

Retouren:

Typ Beschreibung
None

Die Methode gibt keinen Wert zurĂŒck.

Quellcode in 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)

Lösche die Teamressource, die durch diese Instanz reprÀsentiert wird.

Parameter:

Name Typ Beschreibung Standard
hard bool

Wenn True, fĂŒhre eine harte (permanente) Löschung durch.

False
Hinweis

Der Parameter "hart" legt fest, ob ein weiches Löschen (Standard) oder ein hartes Löschen durchgefĂŒhrt werden soll. Bei einer weichen Löschung kann das Team als gelöscht markiert werden, bleibt aber im System erhalten. Bei einer harten Löschung wird das Team dauerhaft aus dem System entfernt.

Retouren:

Typ Beschreibung
Optional[Response]

Die Antwort auf die Löschanfrage oder Keine, wenn sie fehlschlÀgt.

Quellcode in 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()

Ruft die Daten fĂŒr die aktuelle Teaminstanz ab.

Wenn eine gĂŒltige Team-ID festgelegt wurde, sendet es eine Anfrage, um die Teamdaten zu holen und speichert sie in der Instanz. Wenn keine Team-ID festgelegt wurde, wird eine Fehlermeldung ausgegeben.

Retouren:

Typ Beschreibung
None

Die Methode gibt keinen Wert zurĂŒck.

Quellcode in 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)

Aktualisiere die Teamressource, die durch diese Instanz reprÀsentiert wird.

Parameter:

Name Typ Beschreibung Standard
data dict

Die aktualisierten Daten fĂŒr die Teamressource.

erforderlich

Retouren:

Typ Beschreibung
Optional[Response]

Die Antwort auf die Aktualisierungsanfrage oder Noe, wenn sie fehlschlÀgt.

Quellcode in 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

Basen: PaginatedList

Quellcode in 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)

Initialisiere eine TeamList-Instanz.

Parameter:

Name Typ Beschreibung Standard
page_size int

Die Anzahl der anzufordernden Artikel pro Seite.

None
public bool

Ob die GegenstÀnde öffentlich zugÀnglich sein sollen.

None
headers dict

Kopfzeilen, die in API-Anfragen enthalten sein mĂŒssen.

None
Quellcode in 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)