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

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

नोट

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



hub_sdk.modules.projects.Projects

का रूप: CRUDClient

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

विशेषताएँ:

नाम प्रकार विवरण: __________
hub_client ProjectUpload

मॉडल अपलोड के साथ इंटरैक्ट करने के लिए उपयोग किए जाने वाले ProjectUpload का एक उदाहरण।

id (str, None)

परियोजना का अद्वितीय पहचानकर्ता, यदि उपलब्ध हो।

data dict

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

नोट

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

में स्रोत कोड hub_sdk/modules/projects.py
 10 बांग्लादेश 10 बांग्लादेश 10 बांग्लादेश 10 बांग्लादेश 10 बांग्लादेश 10  बांग्लादेश  13 14 15 16 17 18  19 20 21 22 23 24  25 26 27 28  29 30 31 32 33 34  35 36 37   38          39 40   41 42  43      44   45 46 47 48  49 50 51 52 53 54 55 56 57 58  59 60 61 62 63 64  65 66  67   68      69  70 71  72  73  74  75      76 77 78 79 80 81 82 83 84 85 86 87 88  89 90 91 92 93 94 95 96  97   98          99 100 101   102  103  104 105 106 107 108 109110
class Projects(CRUDClient):
    """
    A class representing a client for interacting with Projects through CRUD operations. This class extends the
    CRUDClient class and provides specific methods for working with Projects.

    Attributes:
        hub_client (ProjectUpload): An instance of ProjectUpload used for interacting with model uploads.
        id (str, None): The unique identifier of the project, if available.
        data (dict): A dictionary to store project data.

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

    def __init__(self, project_id: Optional[str] = None, headers: Optional[Dict[str, Any]] = None):
        """
        Initialize a Projects object for interacting with project data via CRUD operations.

        Args:
            project_id (str, optional): Project ID for retrieving data.
            headers (dict, optional): A dictionary of HTTP headers to be included in API requests.
        """
        super().__init__("projects", "project", headers)
        self.hub_client = ProjectUpload(headers)
        self.id = project_id
        self.data = {}
        if project_id:
            self.get_data()

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

        If a valid project ID has been set, it sends a request to fetch the project data and stores it in the instance.
        If no project 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("Project id is %s", self.id)
        else:
            self.logger.error("No project id has been set. Update the project id or create a project.")

    def create_project(self, project_data: dict) -> None:
        """
        Creates a new project with the provided data and sets the project ID for the current instance.

        Args:
            project_data (dict): A dictionary containing the data for creating the project.

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

    def delete(self, hard: Optional[bool] = False) -> Optional[Response]:
        """
        Delete the project 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 project might be marked as deleted but retained in the system.
            In a hard delete, the project is permanently removed from the system.

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

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

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

        Returns:
            (Optional[Response]): Response object from the update request, or None if update fails.
        """
        return super().update(self.id, data)

    def upload_image(self, file: str) -> Optional[Response]:
        """
        Uploads an image file to the hub associated with this client.

        Args:
            file (str): The file path or URL of the image to be uploaded.

        Returns:
            (Optional[Response]): Response object from the uploaded image request, or None if upload fails.
        """
        return self.hub_client.upload_image(self.id, file)  # response

__init__(project_id=None, headers=None)

CRUD कार्रवाइयों के माध्यम से प्रोजेक्ट डेटा के साथ सहभागिता करने के लिए प्रोजेक्ट ऑब्जेक्ट प्रारंभ करें.

पैरामीटर:

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

डेटा पुनर्प्राप्त करने के लिए प्रोजेक्ट आईडी।

None
headers dict

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

None
में स्रोत कोड hub_sdk/modules/projects.py
25 बांग्लादेश 26 27 28 2930 31323334 35363738
def __init__(self, project_id: Optional[str] = None, headers: Optional[Dict[str, Any]] = None):
    """
    Initialize a Projects object for interacting with project data via CRUD operations.

    Args:
        project_id (str, optional): Project ID for retrieving data.
        headers (dict, optional): A dictionary of HTTP headers to be included in API requests.
    """
    super().__init__("projects", "project", headers)
    self.hub_client = ProjectUpload(headers)
    self.id = project_id
    self.data = {}
    if project_id:
        self.get_data()

create_project(project_data)

प्रदान किए गए डेटा के साथ एक नया प्रोजेक्ट बनाता है और वर्तमान उदाहरण के लिए प्रोजेक्ट आईडी सेट करता है।

पैरामीटर:

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

एक शब्दकोश जिसमें परियोजना के सृजन के लिए डेटा निहित होता है.

आवश्यक

देता:

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

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

में स्रोत कोड hub_sdk/modules/projects.py
def create_project(self, project_data: dict) -> None:
    """
    Creates a new project with the provided data and sets the project ID for the current instance.

    Args:
        project_data (dict): A dictionary containing the data for creating the project.

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

delete(hard=False)

इस इंस्टेंस द्वारा प्रस्तुत प्रोजेक्ट संसाधन हटाएँ।

पैरामीटर:

नाम प्रकार विवरण: __________ चूक
hard bool

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

False
नोट

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

देता:

प्रकार विवरण: __________
Optional[Response]

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

में स्रोत कोड hub_sdk/modules/projects.py
71 72 73 74 75 767778 7980 818283848586
def delete(self, hard: Optional[bool] = False) -> Optional[Response]:
    """
    Delete the project 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 project might be marked as deleted but retained in the system.
        In a hard delete, the project is permanently removed from the system.

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

get_data()

वर्तमान प्रोजेक्ट आवृत्ति के लिए डेटा पुनर्प्राप्त करता है.

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

देता:

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

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

में स्रोत कोड hub_sdk/modules/projects.py
40 41 42 43 44 45 464748 49 5051 52535455
def get_data(self) -> None:
    """
    Retrieves data for the current project instance.

    If a valid project ID has been set, it sends a request to fetch the project data and stores it in the instance.
    If no project 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("Project id is %s", self.id)
    else:
        self.logger.error("No project id has been set. Update the project id or create a project.")

update(data)

इस आवृत्ति द्वारा प्रस्तुत प्रोजेक्ट संसाधन का अद्यतन करें।

पैरामीटर:

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

प्रोजेक्ट संसाधन के लिए अद्यतन किया गया डेटा.

आवश्यक

देता:

प्रकार विवरण: __________
Optional[Response]

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

में स्रोत कोड hub_sdk/modules/projects.py
def update(self, data: dict) -> Optional[Response]:
    """
    Update the project resource represented by this instance.

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

    Returns:
        (Optional[Response]): Response object from the update request, or None if update fails.
    """
    return super().update(self.id, data)

upload_image(file)

एक छवि फ़ाइल अपलोड करता है hub इस ग्राहक के साथ जुड़े।

पैरामीटर:

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

अपलोड की जाने वाली छवि का फ़ाइल पथ या URL.

आवश्यक

देता:

प्रकार विवरण: __________
Optional[Response]

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

में स्रोत कोड hub_sdk/modules/projects.py
100 101 102 103 104 105 106 107 108109 110
def upload_image(self, file: str) -> Optional[Response]:
    """
    Uploads an image file to the hub associated with this client.

    Args:
        file (str): The file path or URL of the image to be uploaded.

    Returns:
        (Optional[Response]): Response object from the uploaded image request, or None if upload fails.
    """
    return self.hub_client.upload_image(self.id, file)  # response



hub_sdk.modules.projects.ProjectList

का रूप: PaginatedList

में स्रोत कोड hub_sdk/modules/projects.py
113 114 115 116 117 118119 120 121 122 123 124 125 126
class ProjectList(PaginatedList):
    def __init__(self, page_size: int = None, public: bool = None, headers: dict = None):
        """
        Initialize a ProjectList 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 = "projects"
        if public:
            base_endpoint = f"public/{base_endpoint}"
        super().__init__(base_endpoint, "project", page_size, headers)

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

ProjectList आवृत्ति प्रारंभ करें.

पैरामीटर:

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

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

None
public bool

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

None
headers dict

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

None
में स्रोत कोड hub_sdk/modules/projects.py
114 115 116 117 118 119 120 121 122 123 124125126
def __init__(self, page_size: int = None, public: bool = None, headers: dict = None):
    """
    Initialize a ProjectList 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 = "projects"
    if public:
        base_endpoint = f"public/{base_endpoint}"
    super().__init__(base_endpoint, "project", page_size, headers)