Reference for ultralytics/hub/utils.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/hub/utils.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.hub.utils.Events
A class for collecting anonymous event analytics. Event analytics are enabled when sync=True in settings and disabled when sync=False. Run 'yolo settings' to see and update settings.
Attributes:
Name | Type | Description |
---|---|---|
url | str | The URL to send anonymous events. |
rate_limit | float | The rate limit in seconds for sending events. |
metadata | dict | A dictionary containing metadata about the environment. |
enabled | bool | A flag to enable or disable Events based on certain conditions. |
Source code in ultralytics/hub/utils.py
__call__
Attempts to add a new event to the events list and send events if the rate limit is reached.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
cfg | IterableSimpleNamespace | The configuration object containing mode and task information. | required |
Source code in ultralytics/hub/utils.py
ultralytics.hub.utils.request_with_credentials
Make an AJAX request with cookies attached in a Google Colab environment.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
url | str | The URL to make the request to. | required |
Returns:
Type | Description |
---|---|
any | The response data from the AJAX request. |
Raises:
Type | Description |
---|---|
OSError | If the function is not run in a Google Colab environment. |
Source code in ultralytics/hub/utils.py
ultralytics.hub.utils.requests_with_progress
Make an HTTP request using the specified method and URL, with an optional progress bar.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
method | str | The HTTP method to use (e.g. 'GET', 'POST'). | required |
url | str | The URL to send the request to. | required |
**kwargs | any | Additional keyword arguments to pass to the underlying | {} |
Returns:
Type | Description |
---|---|
Response | The response object from the HTTP request. |
Note
- If 'progress' is set to True, the progress bar will display the download progress for responses with a known content length.
- If 'progress' is a number then progress bar will display assuming content length = progress.
Source code in ultralytics/hub/utils.py
ultralytics.hub.utils.smart_request
smart_request(
method,
url,
retry=3,
timeout=30,
thread=True,
code=-1,
verbose=True,
progress=False,
**kwargs
)
Makes an HTTP request using the 'requests' library, with exponential backoff retries up to a specified timeout.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
method | str | The HTTP method to use for the request. Choices are 'post' and 'get'. | required |
url | str | The URL to make the request to. | required |
retry | int | Number of retries to attempt before giving up. Default is 3. | 3 |
timeout | int | Timeout in seconds after which the function will give up retrying. Default is 30. | 30 |
thread | bool | Whether to execute the request in a separate daemon thread. Default is True. | True |
code | int | An identifier for the request, used for logging purposes. Default is -1. | -1 |
verbose | bool | A flag to determine whether to print out to console or not. Default is True. | True |
progress | bool | Whether to show a progress bar during the request. Default is False. | False |
**kwargs | any | Keyword arguments to be passed to the requests function specified in method. | {} |
Returns:
Type | Description |
---|---|
Response | The HTTP response object. If the request is executed in a separate thread, returns None. |