def add_kwds(dictionary, key, value):
    """
    A simple helper function to initialize our dictionary if it is None and then add in a single keyword if
    the value is not None.
    It doesn't add any keywords at all if passed value==None.
    Parameters
    ----------
    dictionary: dict (or None)
        A dictionary to copy and update.  If none it will instantiate a new dictionary.
    key: str
        A the key to add to the dictionary
    value: object (or None)
        A value to add to the dictionary.  If None then no key, value pair will be added to the dictionary.

    Returns
    -------
    dictionary
        A copy of dictionary with (key,value) added into it or a new dictionary with (key,value) in it.
    """
    if dictionary is None:
        kwds = {}
    else:
        kwds = dictionary.copy()
    if (value is not None) and (key is not None):
        kwds.update({key: value})
    return kwds