Returns a MayaDT instance for the machine-produced moment specified.

    Powered by pendulum.
    Accepts most known formats. Useful for working with data.

    Keyword Arguments:
        string -- string to be parsed
        timezone -- timezone referenced from (default: 'UTC')
        day_first -- if true, the first value (e.g. 01/05/2016)
                     is parsed as day.
                     if year_first is set to True, this distinguishes
                     between YDM and YMD. (default: False)
        year_first -- if true, the first value (e.g. 2016/05/01)
                      is parsed as year (default: True)
        strict -- if False, allow pendulum to fall back on datetime parsing
                  if pendulum's own parsing fails

def parse(string, timezone='UTC', day_first=False, year_first=True, strict=False):
    """"Returns a MayaDT instance for the machine-produced moment specified.

    Powered by pendulum.
    Accepts most known formats. Useful for working with data.

    Keyword Arguments:
        string -- string to be parsed
        timezone -- timezone referenced from (default: 'UTC')
        day_first -- if true, the first value (e.g. 01/05/2016)
                     is parsed as day.
                     if year_first is set to True, this distinguishes
                     between YDM and YMD. (default: False)
        year_first -- if true, the first value (e.g. 2016/05/01)
                      is parsed as year (default: True)
        strict -- if False, allow pendulum to fall back on datetime parsing
                  if pendulum's own parsing fails
    """
    options = {}
    options['tz'] = timezone
    options['day_first'] = day_first
    options['year_first'] = year_first
    options['strict'] = strict

    dt = pendulum.parse(str(string), **options)
    return MayaDT.from_datetime(dt)