def inner(fn):
    check.callable_param(fn, 'fn')
    schedule_name = (name or fn.__name__)
    tags_fn_for_partition_value = (lambda partition: {})
    if tags_fn_for_date:
        tags_fn_for_partition_value = (lambda partition: tags_fn_for_date(partition.value))
    partition_set = PartitionSetDefinition(name='{}_partitions'.format(schedule_name), pipeline_name=pipeline_name, partition_fn=partition_fn, run_config_fn_for_partition=(lambda partition: fn(partition.value)), solid_selection=solid_selection, tags_fn_for_partition=tags_fn_for_partition_value, mode=mode)
    return partition_set.create_schedule_definition(schedule_name, cron_schedule, should_execute=should_execute, environment_vars=environment_vars, partition_selector=create_offset_partition_selector(execution_time_to_partition_fn=execution_time_to_partition_fn), execution_timezone=execution_timezone)
def inner(fn):
    check.callable_param(fn, 'fn')
    schedule_name = (name or fn.__name__)
    tags_fn_for_partition_value = (lambda partition: {})
    if tags_fn_for_date:
        tags_fn_for_partition_value = (lambda partition: tags_fn_for_date(partition.value))
    partition_set = PartitionSetDefinition(name='{}_partitions'.format(schedule_name), pipeline_name=pipeline_name, partition_fn=partition_fn, run_config_fn_for_partition=(lambda partition: fn(partition.value)), solid_selection=solid_selection, tags_fn_for_partition=tags_fn_for_partition_value, mode=mode)
    return partition_set.create_schedule_definition(schedule_name, cron_schedule, should_execute=should_execute, environment_vars=environment_vars, partition_selector=create_offset_partition_selector(execution_time_to_partition_fn=execution_time_to_partition_fn), execution_timezone=execution_timezone)