Vai al contenuto

Riferimento per hub_sdk/modules/teams.py

Nota

Questo file è disponibile all'indirizzo https://github.com/ultralytics/ hub-sdk/blob/main/ hub_sdk/modules/teams .py. Se riscontri un problema, contribuisci a risolverlo inviando una Pull Request 🛠️. Grazie 🙏!



hub_sdk.modules.teams.Teams

Basi: CRUDClient

Una classe che rappresenta un client per interagire con i Team tramite operazioni CRUD. Questa classe estende la classe CRUDClient e fornisce metodi specifici per lavorare con i Team.

Attributi:

Nome Tipo Descrizione
id (str, None)

L'identificativo unico della squadra, se disponibile.

data dict

Un dizionario per memorizzare i dati del team.

Nota

L'attributo "id" viene impostato durante l'inizializzazione e può essere utilizzato per identificare in modo univoco una squadra. L'attributo "data" viene utilizzato per memorizzare i dati della squadra recuperati dall'API.

Codice sorgente 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)

Inizializza un'istanza di Teams.

Parametri:

Nome Tipo Descrizione Predefinito
team_id str

L'identificativo unico della squadra.

None
headers dict

Un dizionario di intestazioni HTTP da includere nelle richieste API.

None
Codice sorgente 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)

Crea un nuovo team con i dati forniti e imposta l'ID del team per l'istanza corrente.

Parametri:

Nome Tipo Descrizione Predefinito
team_data dict

Un dizionario contenente i dati per la creazione della squadra.

richiesto

Restituzione:

Tipo Descrizione
None

Il metodo non restituisce un valore.

Codice sorgente 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)

Elimina la risorsa del team rappresentata da questa istanza.

Parametri:

Nome Tipo Descrizione Predefinito
hard bool

Se Vero, esegue una cancellazione definitiva (permanente).

False
Nota

Il parametro "hard" determina se eseguire un'eliminazione morbida (predefinita) o un'eliminazione rigida. In una cancellazione morbida, il team potrebbe essere contrassegnato come eliminato ma mantenuto nel sistema. In caso di cancellazione definitiva, il team viene rimosso in modo permanente dal sistema.

Restituzione:

Tipo Descrizione
Optional[Response]

La risposta della richiesta di cancellazione, oppure Nessuno se fallisce.

Codice sorgente 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()

Recupera i dati dell'istanza della squadra corrente.

Se è stato impostato un ID squadra valido, invia una richiesta per recuperare i dati della squadra e li memorizza nell'istanza. Se non è stato impostato alcun ID di squadra, viene visualizzato un messaggio di errore.

Restituzione:

Tipo Descrizione
None

Il metodo non restituisce un valore.

Codice sorgente 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)

Aggiorna la risorsa del team rappresentata da questa istanza.

Parametri:

Nome Tipo Descrizione Predefinito
data dict

I dati aggiornati della risorsa del team.

richiesto

Restituzione:

Tipo Descrizione
Optional[Response]

La risposta della richiesta di aggiornamento, o Noe se fallisce.

Codice sorgente 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

Basi: PaginatedList

Codice sorgente 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)

Inizializza un'istanza di TeamList.

Parametri:

Nome Tipo Descrizione Predefinito
page_size int

Il numero di elementi da richiedere per pagina.

None
public bool

Se gli articoli devono essere accessibili al pubblico.

None
headers dict

Intestazioni da includere nelle richieste API.

None
Codice sorgente 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)