:param email: The email address of the user to add to the mailing list
    :param kwargs: Keyword arguments to pass to the individual newsletter provider

    This function acts as an alias to one of two functions, depending on your setup. If you use
    `Celery <http://www.celeryproject.org/>`_,
    this function will perform the API calls asynchronously. Otherwise the process will take place
    on the same thread.

def subscribe(email, **kwargs):
    """
    :param email: The email address of the user to add to the mailing list
    :param kwargs: Keyword arguments to pass to the individual newsletter provider

    This function acts as an alias to one of two functions, depending on your setup. If you use
    `Celery <http://www.celeryproject.org/>`_,
    this function will perform the API calls asynchronously. Otherwise the process will take place
    on the same thread.
    """
    if 'djcelery' in settings.INSTALLED_APPS:
        subscribe_task.delay(
            email,
            **kwargs
        )
    else:
        subscribe_task(
            email,
            **kwargs
        )