Configuration¶
While this package does not require any configuration from the user, certain variables have been explicitly exposed and can be changed to alter different behaviors should one be inclined.
Package-Wide¶
The following snippet shows the various variables that can be configured and their default values. Setting a new value directly on the package itself as shown below will alter the behavior for all methods in the package.
# Import the disruptive package.
import disruptive as dt
# Set to either 'debug', 'info', 'warning', 'error', or 'critical' to enable logging.
dt.log_level = 'info'
# Number of seconds to wait for a response before giving up.
dt.request_timeout = 3
# Number of times a request is attempted if an error is returned.
dt.request_attempts = 3
# Base API URL from which all endpoints are expanded.
dt.base_url = 'https://api.d21s.com/v2'
# Same as the previous, but for the emulator API.
dt.emulator_base_url = 'https://emulator.d21s.com/v2'
Per-Request¶
Each API method in the package can also be configured individually with the aforementioned variables. This will not update the package-wide behavior, only affecting the one call.
# Fetch all temperature sensors in a project.
devices = dt.Device.list_devices(
project_id,
# The following configurations are specific for this call.
log=False,
base_url='https://api.d21s.com/v2',
request_attempts=3,
request_timeout=3,
)