Standard quality of life utilities used across StratoDem Analytics projects.
- Logging
- Type checking for pandas,xarrayanddask
- Conversion from pandastoxarray
- File reading (multiprocessed) into pandasanddaskfrom various formats- Mainly simple wrappers for pandas.read_*with standard settings
 
- Mainly simple wrappers for 
To set up global Slack configuration for, e.g., a data processing pipeline that logs messages to a Slack channel
from sd_utils.sd_config import SDConfig
SDConfig.slack_api_token = 'my-api-token-here'
SDConfig.slack_channel = 'channel-id-to-post-to'
SDConfig.slack_personal_prefix = 'user-id-to-tag'Anything with sdu.SDLog(..., slack=True) will now log the message to the
given Slack channel with an optional user tagged in the message.
with sdu.SDLog('My process', slack=True):
    print('my process')This will log a message to the Slack channel notifying that 'My process' has finished after starting at the start time.
Increasing the general number of cores to use for multiprocessing
from sd_utils.sd_config import SDConfig
SDConfig.cpu_count = 16     # Use 16 threadsModifying the default number of partitions to use for dask computations
from sd_utils.sd_config import SDConfig
SDConfig.npartitions = 25   # Use 25 partitions as the default for dask