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

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

नोट

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



hub_sdk.hub_client.HUBClient

का रूप: Auth

एक के साथ बातचीत करने के लिए एक ग्राहक वर्ग HUB सेवा, प्रमाणीकरण क्षमताओं का विस्तार।

विशेषताएँ:

नाम प्रकार विवरण: __________
authenticated bool

इंगित करता है कि क्लाइंट प्रमाणीकृत है या नहीं.

api_key str

प्रमाणीकरण के लिए API कुंजी.

id_token str

प्रमाणीकरण के लिए पहचान टोकन।

में स्रोत कोड hub_sdk/hub_client.py
class HUBClient(Auth):
    """
    A client class for interacting with a HUB service, extending authentication capabilities.

    Attributes:
        authenticated (bool): Indicates whether the client is authenticated.
        api_key (str): The API key for authentication.
        id_token (str): The identity token for authentication.
    """

    def __init__(self, credentials: Optional[Dict] = None):
        """
        Initializes the HUBClient instance.

        Args:
            credentials (dict, optional): A dictionary containing authentication credentials.
                            If None, the client will attempt to retrieve the API key
                            from the environment variable "HUB_API_KEY".
        """
        super().__init__()
        self.authenticated = False
        if not credentials:
            self.api_key = os.environ.get("HUB_API_KEY")  # Safely retrieve the API key from an environment variable.
            credentials = {"api_key": self.api_key}

        self.login(**credentials)

    def login(self, api_key=None, id_token=None, email=None, password=None):
        """
        Logs in the client using provided authentication credentials.

        Args:
            api_key (str, optional): The API key for authentication.
            id_token (str, optional): The identity token for authentication.
            email (str, optional): User's email.
            password (str, optional): User's password.
        """
        self.api_key = api_key
        self.id_token = id_token
        if (
            (self.api_key or self.id_token)
            and self.authenticate()
            or not self.api_key
            and not self.id_token
            and email
            and password
            and self.authorize(email, password)
        ):
            self.authenticated = True

    @require_authentication
    def model(self, model_id: Optional[str] = None) -> Models:
        """
        Returns an instance of the Models class for interacting with models.

        Args:
            model_id (str, optional): The identifier of the model. If provided,
                returns an instance associated with the specified model_id.

        Returns:
            (Models): An instance of the Models class.
        """
        return Models(model_id, self.get_auth_header())

    @require_authentication
    def dataset(self, dataset_id: str = None) -> DatasetList:
        """
        Returns an instance of the Datasets class for interacting with datasets.

        Args:
            dataset_id (str, optional): The identifier of the dataset. If provided,
                returns an instance associated with the specified dataset_id.

        Returns:
            (Datasets): An instance of the Datasets class.
        """
        raise Exception("Coming Soon")

    @require_authentication
    def team(self, arg):
        """Returns an instance of the Teams class for interacting with teams."""
        raise Exception("Coming Soon")

    @require_authentication
    def project(self, project_id: Optional[str] = None) -> Projects:
        """
        Returns an instance of the Projects class for interacting with Projects.

        Args:
            project_id (str, optional): The identifier of the project. If provided,
                returns an instance associated with the specified project_id.

        Returns:
            (Projects): An instance of the Projects class.
        """
        raise Exception("Coming Soon")

    @require_authentication
    def user(self, user_id: Optional[str] = None) -> Users:
        """
        Returns an instance of the Users class for interacting with Projects.

        Args:
            user_id (str, optional): The identifier of the user. If provided,
                returns an instance associated with the specified user_id.

        Returns:
            (Users): An instance of the Projects class.
        """
        return Users(user_id, self.get_auth_header())

    @require_authentication
    def model_list(self, page_size: Optional[int] = None, public: Optional[bool] = None) -> ModelList:
        """
        Returns a ModelList instance for interacting with a list of models.

        Args:
            page_size (int, optional): The number of models per page.
            public (bool, optional): Pass true to retrieve list of Public models list.

        Returns:
            (ModelList): An instance of the ModelList class.
        """
        return ModelList(page_size, public, self.get_auth_header())

    @require_authentication
    def project_list(self, page_size: Optional[int] = None, public: Optional[bool] = None) -> ProjectList:
        """
        Returns a ProjectList instance for interacting with a list of projects.

        Args:
            page_size (int, optional): The number of projects per page.
            public (bool, optional): Pass true to retrieve list of Public models list.

        Returns:
            (ProjectList): An instance of the ProjectList class.
        """
        raise Exception("Coming Soon")

    @require_authentication
    def dataset_list(self, page_size: Optional[int] = None, public: Optional[bool] = None) -> DatasetList:
        """
        Returns a DatasetList instance for interacting with a list of datasets.

        Args:
            page_size (int, optional): The number of datasets per page.
            public (bool, optional): Pass true to retrieve list of Public dataset list.

        Returns:
            (DatasetList): An instance of the DatasetList class.
        """
        raise Exception("Coming Soon")

    @require_authentication
    def team_list(self, page_size=None, public=None):
        """Fetches a list of team members with optional pagination."""
        raise Exception("Coming Soon")

__init__(credentials=None)

HUBClient उदाहरण प्रारंभ करता है।

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
credentials dict

प्रमाणीकरण क्रेडेंशियल्स को दर्शाने वाला शब्दकोश। यदि कोई नहीं, तो क्लाइंट एपीआई कुंजी को पुनः प्राप्त करने का प्रयास करेगा पर्यावरण चर से "HUB_API_KEY"।

None
में स्रोत कोड hub_sdk/hub_client.py
def __init__(self, credentials: Optional[Dict] = None):
    """
    Initializes the HUBClient instance.

    Args:
        credentials (dict, optional): A dictionary containing authentication credentials.
                        If None, the client will attempt to retrieve the API key
                        from the environment variable "HUB_API_KEY".
    """
    super().__init__()
    self.authenticated = False
    if not credentials:
        self.api_key = os.environ.get("HUB_API_KEY")  # Safely retrieve the API key from an environment variable.
        credentials = {"api_key": self.api_key}

    self.login(**credentials)

dataset(dataset_id=None)

डेटासेट के साथ इंटरैक्ट करने के लिए डेटासेट वर्ग का एक उदाहरण देता है।

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
dataset_id str

डेटासेट का पहचानकर्ता। यदि प्रदान किया जाता है, निर्दिष्ट dataset_id से संबद्ध आवृत्ति लौटाता है.

None

देता:

प्रकार विवरण: __________
Datasets

डेटासेट वर्ग का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
97 98  99 100 101 102 103 104 105 106  107 108 109 
@require_authentication
def dataset(self, dataset_id: str = None) -> DatasetList:
    """
    Returns an instance of the Datasets class for interacting with datasets.

    Args:
        dataset_id (str, optional): The identifier of the dataset. If provided,
            returns an instance associated with the specified dataset_id.

    Returns:
        (Datasets): An instance of the Datasets class.
    """
    raise Exception("Coming Soon")

dataset_list(page_size=None, public=None)

डेटासेट की सूची के साथ सहभागिता करने के लिए DatasetList आवृत्ति लौटाता है.

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
page_size int

प्रति पृष्ठ डेटासेट की संख्या.

None
public bool

सार्वजनिक डेटासेट सूची की सूची पुनर्प्राप्त करने के लिए सही पास करें।

None

देता:

प्रकार विवरण: __________
DatasetList

DatasetList वर्ग का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
172 173 174 175 176 177 178179 180 181 182 183 184
@require_authentication
def dataset_list(self, page_size: Optional[int] = None, public: Optional[bool] = None) -> DatasetList:
    """
    Returns a DatasetList instance for interacting with a list of datasets.

    Args:
        page_size (int, optional): The number of datasets per page.
        public (bool, optional): Pass true to retrieve list of Public dataset list.

    Returns:
        (DatasetList): An instance of the DatasetList class.
    """
    raise Exception("Coming Soon")

login(api_key=None, id_token=None, email=None, password=None)

प्रदान किए गए प्रमाणीकरण क्रेडेंशियल्स का उपयोग करके क्लाइंट में लॉग इन करता है।

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
api_key str

प्रमाणीकरण के लिए API कुंजी.

None
id_token str

प्रमाणीकरण के लिए पहचान टोकन।

None
email str

उपयोगकर्ता का ईमेल।

None
password str

उपयोगकर्ता का पासवर्ड।

None
में स्रोत कोड hub_sdk/hub_client.py
60 61 62 63 64 65 66 67 68 69 70 71 7273747576777879 8081
def login(self, api_key=None, id_token=None, email=None, password=None):
    """
    Logs in the client using provided authentication credentials.

    Args:
        api_key (str, optional): The API key for authentication.
        id_token (str, optional): The identity token for authentication.
        email (str, optional): User's email.
        password (str, optional): User's password.
    """
    self.api_key = api_key
    self.id_token = id_token
    if (
        (self.api_key or self.id_token)
        and self.authenticate()
        or not self.api_key
        and not self.id_token
        and email
        and password
        and self.authorize(email, password)
    ):
        self.authenticated = True

model(model_id=None)

मॉडल्स के साथ इंटरैक्ट करने के लिए मॉडल्स वर्ग का एक उदाहरण देता है.

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
model_id str

मॉडल का पहचानकर्ता। यदि प्रदान किया जाता है, निर्दिष्ट model_id से संबद्ध आवृत्ति लौटाता है.

None

देता:

प्रकार विवरण: __________
Models

मॉडल वर्ग का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
@require_authentication
def model(self, model_id: Optional[str] = None) -> Models:
    """
    Returns an instance of the Models class for interacting with models.

    Args:
        model_id (str, optional): The identifier of the model. If provided,
            returns an instance associated with the specified model_id.

    Returns:
        (Models): An instance of the Models class.
    """
    return Models(model_id, self.get_auth_header())

model_list(page_size=None, public=None)

मॉडल्स की सूची के साथ सहभागिता करने के लिए ModelList आवृत्ति लौटाता है.

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
page_size int

प्रति पृष्ठ मॉडल की संख्या.

None
public bool

सार्वजनिक मॉडल सूची की सूची पुनः प्राप्त करने के लिए सही पास करें।

None

देता:

प्रकार विवरण: __________
ModelList

ModelList वर्ग का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
144 145 146 147 148 149 150 151 152 153 154155156
@require_authentication
def model_list(self, page_size: Optional[int] = None, public: Optional[bool] = None) -> ModelList:
    """
    Returns a ModelList instance for interacting with a list of models.

    Args:
        page_size (int, optional): The number of models per page.
        public (bool, optional): Pass true to retrieve list of Public models list.

    Returns:
        (ModelList): An instance of the ModelList class.
    """
    return ModelList(page_size, public, self.get_auth_header())

project(project_id=None)

प्रोजेक्ट्स के साथ सहभागिता करने के लिए प्रोजेक्ट वर्ग का एक उदाहरण देता है.

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
project_id str

परियोजना का पहचानकर्ता। यदि प्रदान किया जाता है, निर्दिष्ट project_id से संबद्ध आवृत्ति लौटाता है.

None

देता:

प्रकार विवरण: __________
Projects

प्रोजेक्ट क्लास का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
116 117 118 119 120 121 122 123 124 125 126127128
@require_authentication
def project(self, project_id: Optional[str] = None) -> Projects:
    """
    Returns an instance of the Projects class for interacting with Projects.

    Args:
        project_id (str, optional): The identifier of the project. If provided,
            returns an instance associated with the specified project_id.

    Returns:
        (Projects): An instance of the Projects class.
    """
    raise Exception("Coming Soon")

project_list(page_size=None, public=None)

प्रोजेक्ट्स की सूची के साथ सहभागिता करने के लिए ProjectList आवृत्ति लौटाता है.

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
page_size int

प्रति पृष्ठ परियोजनाओं की संख्या.

None
public bool

सार्वजनिक मॉडल सूची की सूची पुनः प्राप्त करने के लिए सही पास करें।

None

देता:

प्रकार विवरण: __________
ProjectList

ProjectList वर्ग का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
158 159 160 161 162 163 164 165 166 167 168169170
@require_authentication
def project_list(self, page_size: Optional[int] = None, public: Optional[bool] = None) -> ProjectList:
    """
    Returns a ProjectList instance for interacting with a list of projects.

    Args:
        page_size (int, optional): The number of projects per page.
        public (bool, optional): Pass true to retrieve list of Public models list.

    Returns:
        (ProjectList): An instance of the ProjectList class.
    """
    raise Exception("Coming Soon")

team(arg)

टीमों के साथ सहभागिता करने के लिए टीम वर्ग का एक उदाहरण देता है.

में स्रोत कोड hub_sdk/hub_client.py
111 112 113 114
@require_authentication
def team(self, arg):
    """Returns an instance of the Teams class for interacting with teams."""
    raise Exception("Coming Soon")

team_list(page_size=None, public=None)

वैकल्पिक पृष्ठांकन के साथ टीम के सदस्यों की एक सूची प्राप्त करता है।

में स्रोत कोड hub_sdk/hub_client.py
186 187 188 189
@require_authentication
def team_list(self, page_size=None, public=None):
    """Fetches a list of team members with optional pagination."""
    raise Exception("Coming Soon")

user(user_id=None)

प्रोजेक्ट्स के साथ सहभागिता करने के लिए उपयोगकर्ता वर्ग का एक उदाहरण देता है.

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
user_id str

उपयोगकर्ता का पहचानकर्ता. यदि प्रदान किया जाता है, निर्दिष्ट user_id से संबद्ध आवृत्ति लौटाता है.

None

देता:

प्रकार विवरण: __________
Users

प्रोजेक्ट क्लास का एक उदाहरण।

में स्रोत कोड hub_sdk/hub_client.py
130 131 132 133 134 135 136 137 138 139 140141142
@require_authentication
def user(self, user_id: Optional[str] = None) -> Users:
    """
    Returns an instance of the Users class for interacting with Projects.

    Args:
        user_id (str, optional): The identifier of the user. If provided,
            returns an instance associated with the specified user_id.

    Returns:
        (Users): An instance of the Projects class.
    """
    return Users(user_id, self.get_auth_header())



hub_sdk.hub_client.require_authentication(func)

एक डेकोरेटर फ़ंक्शन यह सुनिश्चित करने के लिए कि लपेटा विधि केवल तभी निष्पादित की जा सकती है जब ग्राहक प्रमाणित हो।

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
func callable

लपेटने की विधि।

आवश्यक

देता:

प्रकार विवरण: __________
callable

लपेटी हुई विधि।

में स्रोत कोड hub_sdk/hub_client.py
13 बांग्लादेश 13 बांग्लादेश 14 15 16 17 18 19 20 212223 24252627282930
def require_authentication(func) -> callable:
    """
    A decorator function to ensure that the wrapped method can only be executed if the client is authenticated.

    Args:
        func (callable): The method to be wrapped.

    Returns:
        (callable): The wrapped method.
    """

    def wrapper(self, *args, **kwargs):
        """Decorator to ensure a method is called only if the user is authenticated."""
        if not self.authenticated and not kwargs.get("public"):
            raise PermissionError("Access Denied: Authentication required.")
        return func(self, *args, **kwargs)

    return wrapper