सामग्री पर जाएं

के लिए संदर्भ hub_sdk/modules/teams.py

नोट

यह फ़ाइल यहाँ उपलब्ध है https://github.com/ultralytics/hub-sdk/blob/main/hub_sdk/modules/teams.py. यदि आप कोई समस्या देखते हैं तो कृपया पुल अनुरोध का योगदान करके इसे ठीक करने में मदद करें 🛠️। 🙏 धन्यवाद !



hub_sdk.modules.teams.Teams

का रूप: CRUDClient

CRUD संचालन के माध्यम से टीमों के साथ बातचीत करने के लिए एक ग्राहक का प्रतिनिधित्व करने वाला एक वर्ग। यह वर्ग CRUDClient का विस्तार करता है वर्ग और टीमों के साथ काम करने के लिए विशिष्ट तरीके प्रदान करता है।

विशेषताएँ:

नाम प्रकार या क़िस्‍म
id (str, None)

टीम का युनीक आइडेंटिफ़ायर, यदि उपलब्ध हो.

data dict

टीम डेटा संग्रहीत करने के लिए एक शब्दकोश।

नोट

'id' विशेषता आरंभीकरण के दौरान सेट की जाती है और इसका उपयोग किसी टीम को विशिष्ट रूप से पहचानने के लिए किया जा सकता है। 'data' विशेषता का उपयोग API से प्राप्त टीम डेटा को संग्रहीत करने के लिए किया जाता है.

में स्रोत कोड 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 not self.id:
            self.logger.error("No team id has been set. Update the team id or create a team.")
            return

        try:
            response = super().read(self.id)

            if response is None:
                self.logger.error(f"Received no response from the server for team ID: {self.id}")
                return

            # Check if the response has a .json() method (it should if it's a response object)
            if not hasattr(response, "json"):
                self.logger.error(f"Invalid response object received for team ID: {self.id}")
                return

            resp_data = response.json()
            if resp_data is None:
                self.logger.error(f"No data received in the response for team ID: {self.id}")
                return

            data = resp_data.get("data", {})
            self.data = self._reconstruct_data(data)
            self.logger.debug(f"Team data retrieved for ID: {self.id}")

        except Exception as e:
            self.logger.error(f"An error occurred while retrieving data for team ID: {self.id}, {str(e)}")

    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)

एक टीम इंस्टेंस शुरू करें।

पैरामीटर:

नाम प्रकार या क़िस्‍म चूक
team_id str

टीम का युनीक आइडेंटिफ़ायर.

None
headers dict

API अनुरोधों में शामिल किए जाने वाले HTTP हेडर का एक शब्दकोश।

None
में स्रोत कोड 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)

प्रदान किए गए डेटा के साथ एक नई टीम बनाता है और वर्तमान आवृत्ति के लिए टीम ID सेट करता है.

पैरामीटर:

नाम प्रकार या क़िस्‍म चूक
team_data dict

एक शब्दकोश जिसमें टीम बनाने के लिए डेटा होता है।

आवश्यक

देता:

प्रकार या क़िस्‍म
None

विधि एक मान वापस नहीं करता है।

में स्रोत कोड 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)

इस इंस्टेंस द्वारा प्रस्तुत टीम संसाधन हटाएँ.

पैरामीटर:

नाम प्रकार या क़िस्‍म चूक
hard bool

यदि सही है, तो एक कठिन (स्थायी) हटाएं निष्पादित करें।

False
नोट

'हार्ड' पैरामीटर निर्धारित करता है कि सॉफ्ट डिलीट (डिफ़ॉल्ट) करना है या हार्ड डिलीट करना है। सॉफ्ट डिलीट में, टीम को हटाए गए के रूप में चिह्नित किया जा सकता है लेकिन सिस्टम में बनाए रखा जा सकता है। हार्ड डिलीट में, टीम को सिस्टम से स्थायी रूप से हटा दिया जाता है।

देता:

प्रकार या क़िस्‍म
Optional[Response]

हटाने के अनुरोध से प्रतिक्रिया, या कोई नहीं अगर यह विफल हो जाता है।

में स्रोत कोड 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()

वर्तमान टीम इंस्टेंस के लिए डेटा पुनर्प्राप्त करता है।

यदि कोई मान्य टीम ID सेट की गई है, तो यह टीम डेटा फ़ेच करने का अनुरोध भेजती है और उसे इंस्टेंस में संग्रहीत करती है. यदि कोई टीम ID सेट नहीं किया गया है, तो यह एक त्रुटि संदेश लॉग करता है.

देता:

प्रकार या क़िस्‍म
None

विधि एक मान वापस नहीं करता है।

में स्रोत कोड 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 not self.id:
        self.logger.error("No team id has been set. Update the team id or create a team.")
        return

    try:
        response = super().read(self.id)

        if response is None:
            self.logger.error(f"Received no response from the server for team ID: {self.id}")
            return

        # Check if the response has a .json() method (it should if it's a response object)
        if not hasattr(response, "json"):
            self.logger.error(f"Invalid response object received for team ID: {self.id}")
            return

        resp_data = response.json()
        if resp_data is None:
            self.logger.error(f"No data received in the response for team ID: {self.id}")
            return

        data = resp_data.get("data", {})
        self.data = self._reconstruct_data(data)
        self.logger.debug(f"Team data retrieved for ID: {self.id}")

    except Exception as e:
        self.logger.error(f"An error occurred while retrieving data for team ID: {self.id}, {str(e)}")

update(data)

इस इंस्टेंस द्वारा प्रस्तुत टीम संसाधन का अद्यतन करें.

पैरामीटर:

नाम प्रकार या क़िस्‍म चूक
data dict

टीम संसाधन के लिए अद्यतन किया गया डेटा.

आवश्यक

देता:

प्रकार या क़िस्‍म
Optional[Response]

अद्यतन अनुरोध से प्रतिक्रिया, या यदि यह विफल रहता है तो नहीं।

में स्रोत कोड 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

का रूप: PaginatedList

में स्रोत कोड 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)

TeamList इंस्टेंस को इनिशियलाइज़ करें.

पैरामीटर:

नाम प्रकार या क़िस्‍म चूक
page_size int

प्रति पृष्ठ अनुरोध करने के लिए आइटम की संख्या.

None
public bool

क्या आइटम सार्वजनिक रूप से सुलभ होने चाहिए।

None
headers dict

एपीआई अनुरोधों में शामिल किए जाने वाले शीर्षलेख।

None
में स्रोत कोड 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)