-
Notifications
You must be signed in to change notification settings - Fork 97
Description
rest_version is used to convey information about our REST implementation, and we populate it with versions of the dependencies we use in REST. We should either create a static string that we always send in all requests (for example, including the versions of requests and of auth, even though eg REST sync and REST async only use a different one of those); or we should include only the versions of the dependencies relevant for a given call (eg requests for REST sync and auth for REST async). I would favor the former.
The format of rest_value should label which libraries the version numbers we're providing apply to. So I propose a format like rest_version="[email protected],[email protected]".
Internally, we may want to implement rest_versions as a dictionary of library name to version string. And then in client_info.py, we can serialize the dictionary into the agreed format, such as the one I propose in the paragraph above. The advantage of this is that each module can independently add the dependencies it relies on, rather than us having to do it in a centralized place. This more moredular and scalable.