We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Fix all darglint docs warnings
## Description
Currently there are 419 warnings:
```
$ flake8 src tests | wc -l
419
```

We can progressively improve this with multiple PRs.
If you are interested, please run the checker on the `src` and `tests` folders and try to fix the warnings until there are none.
Some will require adding docs that don't exist while others are just fixes.

This will likely require multiple PRs so if you are interested open a PR with a few fixes and we will go from there.

## Definition of Done
All docstring warnings are fixed and CI has the darglint checker turned on to fail the build.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/syft/core/common/object.py`
Content:
```
1 # stdlib
2 from typing import Any
3 from typing import Optional
4 
5 # third party
6 from google.protobuf.reflection import GeneratedProtocolMessageType
7 
8 # syft relative
9 from ...proto.core.common.common_object_pb2 import ObjectWithID as ObjectWithID_PB
10 from ...util import validate_type
11 from ..common.serde.deserialize import _deserialize
12 from ..common.serde.serializable import Serializable
13 from .uid import UID
14 
15 
16 class ObjectWithID(Serializable):
17     """This object is the superclass for nearly all Syft objects. Subclassing
18     from this object will cause an object to be initialized with a unique id
19     using the process specified in the UID class.
20 
21     .. note::
22         At the time of writing, the only class in Syft which doesn't have an ID
23         of some kind is the Client class because it's job is to point to another
24         object (which has an ID).
25 
26     .. note::
27         Be aware of performance choices in this class because it is used so
28         heavily across the entire codebase. Assume every method is going to
29         be called thousands of times during the working day of an average
30         data scientist using syft (and millions of times in the context of a
31         machine learning job).
32 
33     """
34 
35     def __init__(self, id: Optional[UID] = None):
36         """This initializer only exists to set the id attribute, which is the
37         primary purpose of this class. It also sets the 'as_wrapper' flag
38         for the 'Serializable' superclass.
39 
40         :param id: an override which can be used to set an ID for this object
41             manually. This is probably only used for deserialization.
42         :type id: UID
43 
44         """
45 
46         if id is None:
47             id = UID()
48 
49         self._id: UID = id
50 
51         # while this class is never used as a simple wrapper,
52         # it's possible that sub-classes of this class will be.
53         super().__init__()
54 
55     @property
56     def id(self) -> UID:
57         """We reveal ObjectWithID.id as a property to discourage users and
58         developers of Syft from modifying .id attributes after an object
59         has been initialized.
60 
61         :return: returns the unique id of the object
62         :rtype: UID
63         """
64         return self._id
65 
66     def __eq__(self, other: Any) -> bool:
67         """Checks to see if two ObjectWithIDs are actually the same object.
68 
69         This checks to see whether this ObjectWithIDs is equal to another by
70         comparing whether they have the same .id objects. These objects
71         come with their own __eq__ function which we assume to be correct.
72 
73         :param other: this is the other ObjectWithIDs to be compared with
74         :type other: Any (note this must be Any or __eq__ fails on other types)
75         :return: returns True/False based on whether the objects are the same
76         :rtype: bool
77         """
78 
79         try:
80             return self.id == other.id
81         except Exception:
82             return False
83 
84     def __repr__(self) -> str:
85         """Returns a human-readable version of the ObjectWithID
86 
87         Return a human-readable representation of the ObjectWithID with brackets
88         so that it can be easily spotted when nested inside of the human-
89         readable representations of other objects."""
90 
91         no_dash = str(self.id.value).replace("-", "")
92         return f"<{type(self).__name__}: {no_dash}>"
93 
94     def repr_short(self) -> str:
95         """Returns a SHORT human-readable version of SpecificLocation
96 
97         Return a SHORT human-readable version of the ID which
98         makes it print nicer when embedded (often alongside other
99         UID objects) within other object __repr__ methods."""
100 
101         return f"<{type(self).__name__}:{self.id.repr_short()}>"
102 
103     def _object2proto(self) -> ObjectWithID_PB:
104         """Returns a protobuf serialization of self.
105 
106         As a requirement of all objects which inherit from Serializable,
107         this method transforms the current object into the corresponding
108         Protobuf object so that it can be further serialized.
109 
110         :return: returns a protobuf object
111         :rtype: ObjectWithID_PB
112 
113         .. note::
114             This method is purely an internal method. Please use object.serialize() or one of
115             the other public serialization methods if you wish to serialize an
116             object.
117         """
118         return ObjectWithID_PB(id=self.id.serialize())
119 
120     @staticmethod
121     def _proto2object(proto: ObjectWithID_PB) -> "ObjectWithID":
122         """Creates a ObjectWithID from a protobuf
123 
124         As a requirement of all objects which inherit from Serializable,
125         this method transforms a protobuf object into an instance of this class.
126 
127         :return: returns an instance of ObjectWithID
128         :rtype: ObjectWithID
129 
130         .. note::
131             This method is purely an internal method. Please use syft.deserialize()
132             if you wish to deserialize an object.
133         """
134         _id = validate_type(_object=_deserialize(proto.id), _type=UID, optional=True)
135         return ObjectWithID(id=_id)
136 
137     @staticmethod
138     def get_protobuf_schema() -> GeneratedProtocolMessageType:
139         """Return the type of protobuf object which stores a class of this type
140 
141         As a part of serialization and deserialization, we need the ability to
142         lookup the protobuf object type directly from the object type. This
143         static method allows us to do this.
144 
145         Importantly, this method is also used to create the reverse lookup ability within
146         the metaclass of Serializable. In the metaclass, it calls this method and then
147         it takes whatever type is returned from this method and adds an attribute to it
148         with the type of this class attached to it. See the MetaSerializable class for details.
149 
150         :return: the type of protobuf object which corresponds to this class.
151         :rtype: GeneratedProtocolMessageType
152 
153         """
154 
155         return ObjectWithID_PB
156
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/src/syft/core/common/object.py b/src/syft/core/common/object.py
--- a/src/syft/core/common/object.py
+++ b/src/syft/core/common/object.py
@@ -37,9 +37,8 @@
         primary purpose of this class. It also sets the 'as_wrapper' flag
         for the 'Serializable' superclass.
 
-        :param id: an override which can be used to set an ID for this object
-            manually. This is probably only used for deserialization.
-        :type id: UID
+        Args:
+            id: an override which can be used to set an ID for this object
 
         """
 
@@ -58,8 +57,8 @@
         developers of Syft from modifying .id attributes after an object
         has been initialized.
 
-        :return: returns the unique id of the object
-        :rtype: UID
+        Returns:
+            returns the unique id of the object
         """
         return self._id
 
@@ -70,10 +69,11 @@
         comparing whether they have the same .id objects. These objects
         come with their own __eq__ function which we assume to be correct.
 
-        :param other: this is the other ObjectWithIDs to be compared with
-        :type other: Any (note this must be Any or __eq__ fails on other types)
-        :return: returns True/False based on whether the objects are the same
-        :rtype: bool
+        Args:
+            other: this is the other ObjectWithIDs to be compared with
+
+        Returns:
+            True/False based on whether the objects are the same
         """
 
         try:
@@ -82,33 +82,39 @@
             return False
 
     def __repr__(self) -> str:
-        """Returns a human-readable version of the ObjectWithID
-
+        """
         Return a human-readable representation of the ObjectWithID with brackets
         so that it can be easily spotted when nested inside of the human-
-        readable representations of other objects."""
+        readable representations of other objects.
+
+        Returns:
+            a human-readable version of the ObjectWithID
+
+        """
 
         no_dash = str(self.id.value).replace("-", "")
         return f"<{type(self).__name__}: {no_dash}>"
 
     def repr_short(self) -> str:
-        """Returns a SHORT human-readable version of SpecificLocation
-
+        """
         Return a SHORT human-readable version of the ID which
         makes it print nicer when embedded (often alongside other
-        UID objects) within other object __repr__ methods."""
+        UID objects) within other object __repr__ methods.
+
+        Returns:
+            a SHORT human-readable version of SpecificLocation
+        """
 
         return f"<{type(self).__name__}:{self.id.repr_short()}>"
 
     def _object2proto(self) -> ObjectWithID_PB:
-        """Returns a protobuf serialization of self.
-
+        """
         As a requirement of all objects which inherit from Serializable,
         this method transforms the current object into the corresponding
         Protobuf object so that it can be further serialized.
 
-        :return: returns a protobuf object
-        :rtype: ObjectWithID_PB
+        Returns:
+            a protobuf object that is the serialization of self.
 
         .. note::
             This method is purely an internal method. Please use object.serialize() or one of
@@ -124,8 +130,11 @@
         As a requirement of all objects which inherit from Serializable,
         this method transforms a protobuf object into an instance of this class.
 
-        :return: returns an instance of ObjectWithID
-        :rtype: ObjectWithID
+        Args:
+            proto: a protobuf object that we wish to convert to instance of this class
+
+        Returns:
+            an instance of ObjectWithID
 
         .. note::
             This method is purely an internal method. Please use syft.deserialize()
@@ -147,8 +156,8 @@
         it takes whatever type is returned from this method and adds an attribute to it
         with the type of this class attached to it. See the MetaSerializable class for details.
 
-        :return: the type of protobuf object which corresponds to this class.
-        :rtype: GeneratedProtocolMessageType
+        Returns:
+            the type of protobuf object which corresponds to this class.
 
         """

{"golden_diff": "diff --git a/src/syft/core/common/object.py b/src/syft/core/common/object.py\n--- a/src/syft/core/common/object.py\n+++ b/src/syft/core/common/object.py\n@@ -37,9 +37,8 @@\n         primary purpose of this class. It also sets the 'as_wrapper' flag\n         for the 'Serializable' superclass.\n \n-        :param id: an override which can be used to set an ID for this object\n-            manually. This is probably only used for deserialization.\n-        :type id: UID\n+        Args:\n+            id: an override which can be used to set an ID for this object\n \n         \"\"\"\n \n@@ -58,8 +57,8 @@\n         developers of Syft from modifying .id attributes after an object\n         has been initialized.\n \n-        :return: returns the unique id of the object\n-        :rtype: UID\n+        Returns:\n+            returns the unique id of the object\n         \"\"\"\n         return self._id\n \n@@ -70,10 +69,11 @@\n         comparing whether they have the same .id objects. These objects\n         come with their own __eq__ function which we assume to be correct.\n \n-        :param other: this is the other ObjectWithIDs to be compared with\n-        :type other: Any (note this must be Any or __eq__ fails on other types)\n-        :return: returns True/False based on whether the objects are the same\n-        :rtype: bool\n+        Args:\n+            other: this is the other ObjectWithIDs to be compared with\n+\n+        Returns:\n+            True/False based on whether the objects are the same\n         \"\"\"\n \n         try:\n@@ -82,33 +82,39 @@\n             return False\n \n     def __repr__(self) -> str:\n-        \"\"\"Returns a human-readable version of the ObjectWithID\n-\n+        \"\"\"\n         Return a human-readable representation of the ObjectWithID with brackets\n         so that it can be easily spotted when nested inside of the human-\n-        readable representations of other objects.\"\"\"\n+        readable representations of other objects.\n+\n+        Returns:\n+            a human-readable version of the ObjectWithID\n+\n+        \"\"\"\n \n         no_dash = str(self.id.value).replace(\"-\", \"\")\n         return f\"<{type(self).__name__}: {no_dash}>\"\n \n     def repr_short(self) -> str:\n-        \"\"\"Returns a SHORT human-readable version of SpecificLocation\n-\n+        \"\"\"\n         Return a SHORT human-readable version of the ID which\n         makes it print nicer when embedded (often alongside other\n-        UID objects) within other object __repr__ methods.\"\"\"\n+        UID objects) within other object __repr__ methods.\n+\n+        Returns:\n+            a SHORT human-readable version of SpecificLocation\n+        \"\"\"\n \n         return f\"<{type(self).__name__}:{self.id.repr_short()}>\"\n \n     def _object2proto(self) -> ObjectWithID_PB:\n-        \"\"\"Returns a protobuf serialization of self.\n-\n+        \"\"\"\n         As a requirement of all objects which inherit from Serializable,\n         this method transforms the current object into the corresponding\n         Protobuf object so that it can be further serialized.\n \n-        :return: returns a protobuf object\n-        :rtype: ObjectWithID_PB\n+        Returns:\n+            a protobuf object that is the serialization of self.\n \n         .. note::\n             This method is purely an internal method. Please use object.serialize() or one of\n@@ -124,8 +130,11 @@\n         As a requirement of all objects which inherit from Serializable,\n         this method transforms a protobuf object into an instance of this class.\n \n-        :return: returns an instance of ObjectWithID\n-        :rtype: ObjectWithID\n+        Args:\n+            proto: a protobuf object that we wish to convert to instance of this class\n+\n+        Returns:\n+            an instance of ObjectWithID\n \n         .. note::\n             This method is purely an internal method. Please use syft.deserialize()\n@@ -147,8 +156,8 @@\n         it takes whatever type is returned from this method and adds an attribute to it\n         with the type of this class attached to it. See the MetaSerializable class for details.\n \n-        :return: the type of protobuf object which corresponds to this class.\n-        :rtype: GeneratedProtocolMessageType\n+        Returns:\n+            the type of protobuf object which corresponds to this class.\n \n         \"\"\"\n", "issue": "Fix all darglint docs warnings\n## Description\r\nCurrently there are 419 warnings:\r\n```\r\n$ flake8 src tests | wc -l\r\n419\r\n```\r\n\r\nWe can progressively improve this with multiple PRs.\r\nIf you are interested, please run the checker on the `src` and `tests` folders and try to fix the warnings until there are none.\r\nSome will require adding docs that don't exist while others are just fixes.\r\n\r\nThis will likely require multiple PRs so if you are interested open a PR with a few fixes and we will go from there.\r\n\r\n## Definition of Done\r\nAll docstring warnings are fixed and CI has the darglint checker turned on to fail the build.\n", "before_files": [{"content": "# stdlib\nfrom typing import Any\nfrom typing import Optional\n\n# third party\nfrom google.protobuf.reflection import GeneratedProtocolMessageType\n\n# syft relative\nfrom ...proto.core.common.common_object_pb2 import ObjectWithID as ObjectWithID_PB\nfrom ...util import validate_type\nfrom ..common.serde.deserialize import _deserialize\nfrom ..common.serde.serializable import Serializable\nfrom .uid import UID\n\n\nclass ObjectWithID(Serializable):\n    \"\"\"This object is the superclass for nearly all Syft objects. Subclassing\n    from this object will cause an object to be initialized with a unique id\n    using the process specified in the UID class.\n\n    .. note::\n        At the time of writing, the only class in Syft which doesn't have an ID\n        of some kind is the Client class because it's job is to point to another\n        object (which has an ID).\n\n    .. note::\n        Be aware of performance choices in this class because it is used so\n        heavily across the entire codebase. Assume every method is going to\n        be called thousands of times during the working day of an average\n        data scientist using syft (and millions of times in the context of a\n        machine learning job).\n\n    \"\"\"\n\n    def __init__(self, id: Optional[UID] = None):\n        \"\"\"This initializer only exists to set the id attribute, which is the\n        primary purpose of this class. It also sets the 'as_wrapper' flag\n        for the 'Serializable' superclass.\n\n        :param id: an override which can be used to set an ID for this object\n            manually. This is probably only used for deserialization.\n        :type id: UID\n\n        \"\"\"\n\n        if id is None:\n            id = UID()\n\n        self._id: UID = id\n\n        # while this class is never used as a simple wrapper,\n        # it's possible that sub-classes of this class will be.\n        super().__init__()\n\n    @property\n    def id(self) -> UID:\n        \"\"\"We reveal ObjectWithID.id as a property to discourage users and\n        developers of Syft from modifying .id attributes after an object\n        has been initialized.\n\n        :return: returns the unique id of the object\n        :rtype: UID\n        \"\"\"\n        return self._id\n\n    def __eq__(self, other: Any) -> bool:\n        \"\"\"Checks to see if two ObjectWithIDs are actually the same object.\n\n        This checks to see whether this ObjectWithIDs is equal to another by\n        comparing whether they have the same .id objects. These objects\n        come with their own __eq__ function which we assume to be correct.\n\n        :param other: this is the other ObjectWithIDs to be compared with\n        :type other: Any (note this must be Any or __eq__ fails on other types)\n        :return: returns True/False based on whether the objects are the same\n        :rtype: bool\n        \"\"\"\n\n        try:\n            return self.id == other.id\n        except Exception:\n            return False\n\n    def __repr__(self) -> str:\n        \"\"\"Returns a human-readable version of the ObjectWithID\n\n        Return a human-readable representation of the ObjectWithID with brackets\n        so that it can be easily spotted when nested inside of the human-\n        readable representations of other objects.\"\"\"\n\n        no_dash = str(self.id.value).replace(\"-\", \"\")\n        return f\"<{type(self).__name__}: {no_dash}>\"\n\n    def repr_short(self) -> str:\n        \"\"\"Returns a SHORT human-readable version of SpecificLocation\n\n        Return a SHORT human-readable version of the ID which\n        makes it print nicer when embedded (often alongside other\n        UID objects) within other object __repr__ methods.\"\"\"\n\n        return f\"<{type(self).__name__}:{self.id.repr_short()}>\"\n\n    def _object2proto(self) -> ObjectWithID_PB:\n        \"\"\"Returns a protobuf serialization of self.\n\n        As a requirement of all objects which inherit from Serializable,\n        this method transforms the current object into the corresponding\n        Protobuf object so that it can be further serialized.\n\n        :return: returns a protobuf object\n        :rtype: ObjectWithID_PB\n\n        .. note::\n            This method is purely an internal method. Please use object.serialize() or one of\n            the other public serialization methods if you wish to serialize an\n            object.\n        \"\"\"\n        return ObjectWithID_PB(id=self.id.serialize())\n\n    @staticmethod\n    def _proto2object(proto: ObjectWithID_PB) -> \"ObjectWithID\":\n        \"\"\"Creates a ObjectWithID from a protobuf\n\n        As a requirement of all objects which inherit from Serializable,\n        this method transforms a protobuf object into an instance of this class.\n\n        :return: returns an instance of ObjectWithID\n        :rtype: ObjectWithID\n\n        .. note::\n            This method is purely an internal method. Please use syft.deserialize()\n            if you wish to deserialize an object.\n        \"\"\"\n        _id = validate_type(_object=_deserialize(proto.id), _type=UID, optional=True)\n        return ObjectWithID(id=_id)\n\n    @staticmethod\n    def get_protobuf_schema() -> GeneratedProtocolMessageType:\n        \"\"\"Return the type of protobuf object which stores a class of this type\n\n        As a part of serialization and deserialization, we need the ability to\n        lookup the protobuf object type directly from the object type. This\n        static method allows us to do this.\n\n        Importantly, this method is also used to create the reverse lookup ability within\n        the metaclass of Serializable. In the metaclass, it calls this method and then\n        it takes whatever type is returned from this method and adds an attribute to it\n        with the type of this class attached to it. See the MetaSerializable class for details.\n\n        :return: the type of protobuf object which corresponds to this class.\n        :rtype: GeneratedProtocolMessageType\n\n        \"\"\"\n\n        return ObjectWithID_PB\n", "path": "src/syft/core/common/object.py"}], "after_files": [{"content": "# stdlib\nfrom typing import Any\nfrom typing import Optional\n\n# third party\nfrom google.protobuf.reflection import GeneratedProtocolMessageType\n\n# syft relative\nfrom ...proto.core.common.common_object_pb2 import ObjectWithID as ObjectWithID_PB\nfrom ...util import validate_type\nfrom ..common.serde.deserialize import _deserialize\nfrom ..common.serde.serializable import Serializable\nfrom .uid import UID\n\n\nclass ObjectWithID(Serializable):\n    \"\"\"This object is the superclass for nearly all Syft objects. Subclassing\n    from this object will cause an object to be initialized with a unique id\n    using the process specified in the UID class.\n\n    .. note::\n        At the time of writing, the only class in Syft which doesn't have an ID\n        of some kind is the Client class because it's job is to point to another\n        object (which has an ID).\n\n    .. note::\n        Be aware of performance choices in this class because it is used so\n        heavily across the entire codebase. Assume every method is going to\n        be called thousands of times during the working day of an average\n        data scientist using syft (and millions of times in the context of a\n        machine learning job).\n\n    \"\"\"\n\n    def __init__(self, id: Optional[UID] = None):\n        \"\"\"This initializer only exists to set the id attribute, which is the\n        primary purpose of this class. It also sets the 'as_wrapper' flag\n        for the 'Serializable' superclass.\n\n        Args:\n            id: an override which can be used to set an ID for this object\n\n        \"\"\"\n\n        if id is None:\n            id = UID()\n\n        self._id: UID = id\n\n        # while this class is never used as a simple wrapper,\n        # it's possible that sub-classes of this class will be.\n        super().__init__()\n\n    @property\n    def id(self) -> UID:\n        \"\"\"We reveal ObjectWithID.id as a property to discourage users and\n        developers of Syft from modifying .id attributes after an object\n        has been initialized.\n\n        Returns:\n            returns the unique id of the object\n        \"\"\"\n        return self._id\n\n    def __eq__(self, other: Any) -> bool:\n        \"\"\"Checks to see if two ObjectWithIDs are actually the same object.\n\n        This checks to see whether this ObjectWithIDs is equal to another by\n        comparing whether they have the same .id objects. These objects\n        come with their own __eq__ function which we assume to be correct.\n\n        Args:\n            other: this is the other ObjectWithIDs to be compared with\n\n        Returns:\n            True/False based on whether the objects are the same\n        \"\"\"\n\n        try:\n            return self.id == other.id\n        except Exception:\n            return False\n\n    def __repr__(self) -> str:\n        \"\"\"\n        Return a human-readable representation of the ObjectWithID with brackets\n        so that it can be easily spotted when nested inside of the human-\n        readable representations of other objects.\n\n        Returns:\n            a human-readable version of the ObjectWithID\n\n        \"\"\"\n\n        no_dash = str(self.id.value).replace(\"-\", \"\")\n        return f\"<{type(self).__name__}: {no_dash}>\"\n\n    def repr_short(self) -> str:\n        \"\"\"\n        Return a SHORT human-readable version of the ID which\n        makes it print nicer when embedded (often alongside other\n        UID objects) within other object __repr__ methods.\n\n        Returns:\n            a SHORT human-readable version of SpecificLocation\n        \"\"\"\n\n        return f\"<{type(self).__name__}:{self.id.repr_short()}>\"\n\n    def _object2proto(self) -> ObjectWithID_PB:\n        \"\"\"\n        As a requirement of all objects which inherit from Serializable,\n        this method transforms the current object into the corresponding\n        Protobuf object so that it can be further serialized.\n\n        Returns:\n            a protobuf object that is the serialization of self.\n\n        .. note::\n            This method is purely an internal method. Please use object.serialize() or one of\n            the other public serialization methods if you wish to serialize an\n            object.\n        \"\"\"\n        return ObjectWithID_PB(id=self.id.serialize())\n\n    @staticmethod\n    def _proto2object(proto: ObjectWithID_PB) -> \"ObjectWithID\":\n        \"\"\"Creates a ObjectWithID from a protobuf\n\n        As a requirement of all objects which inherit from Serializable,\n        this method transforms a protobuf object into an instance of this class.\n\n        Args:\n            proto: a protobuf object that we wish to convert to instance of this class\n\n        Returns:\n            an instance of ObjectWithID\n\n        .. note::\n            This method is purely an internal method. Please use syft.deserialize()\n            if you wish to deserialize an object.\n        \"\"\"\n        _id = validate_type(_object=_deserialize(proto.id), _type=UID, optional=True)\n        return ObjectWithID(id=_id)\n\n    @staticmethod\n    def get_protobuf_schema() -> GeneratedProtocolMessageType:\n        \"\"\"Return the type of protobuf object which stores a class of this type\n\n        As a part of serialization and deserialization, we need the ability to\n        lookup the protobuf object type directly from the object type. This\n        static method allows us to do this.\n\n        Importantly, this method is also used to create the reverse lookup ability within\n        the metaclass of Serializable. In the metaclass, it calls this method and then\n        it takes whatever type is returned from this method and adds an attribute to it\n        with the type of this class attached to it. See the MetaSerializable class for details.\n\n        Returns:\n            the type of protobuf object which corresponds to this class.\n\n        \"\"\"\n\n        return ObjectWithID_PB\n", "path": "src/syft/core/common/object.py"}]}