Datetimes for Humans™

Overview

Maya: Datetimes for Humans™

Datetimes are very frustrating to work with in Python, especially when dealing with different locales on different systems. This library exists to make the simple things much easier, while admitting that time is an illusion (timezones doubly so).

Datetimes should be interacted with via an API written for humans.

Maya is mostly built around the headaches and use-cases around parsing datetime data from websites.

☤ Basic Usage of Maya

Behold, datetimes for humans!

>>> now = maya.now()
<MayaDT epoch=1481850660.9>

>>> tomorrow = maya.when('tomorrow')
<MayaDT epoch=1481919067.23>

>>> tomorrow.slang_date()
'tomorrow'

>>> tomorrow.slang_time()
'23 hours from now'

# Also: MayaDT.from_iso8601(...)
>>> tomorrow.iso8601()
'2017-02-10T22:17:01.445418Z'

# Also: MayaDT.from_rfc2822(...)
>>> tomorrow.rfc2822()
'Fri, 10 Feb 2017 22:17:01 GMT'

# Also: MayaDT.from_rfc3339(...)
>>> tomorrow.rfc3339()
'2017-02-10T22:17:01.44Z'

>>> tomorrow.datetime()
datetime.datetime(2016, 12, 16, 15, 11, 30, 263350, tzinfo=<UTC>)

# Automatically parse datetime strings and generate naive datetimes.
>>> scraped = '2016-12-16 18:23:45.423992+00:00'
>>> maya.parse(scraped).datetime(to_timezone='US/Eastern', naive=True)
datetime.datetime(2016, 12, 16, 13, 23, 45, 423992)

>>> rand_day = maya.when('2011-02-07', timezone='US/Eastern')
<MayaDT epoch=1297036800.0>

# Maya speaks Python.
>>> m = maya.MayaDT.from_datetime(datetime.utcnow())
>>> print(m)
Wed, 20 Sep 2017 17:24:32 GMT

>>> m = maya.MayaDT.from_struct(time.gmtime())
>>> print(m)
Wed, 20 Sep 2017 17:24:32 GMT

>>> m = maya.MayaDT(time.time())
>>> print(m)
Wed, 20 Sep 2017 17:24:32 GMT

>>> rand_day.day
7

>>> rand_day.add(days=10).day
17

# Always.
>>> rand_day.timezone
UTC

# Range of hours in a day:
>>> maya.intervals(start=maya.now(), end=maya.now().add(days=1), interval=60*60)
<generator object intervals at 0x105ba5820>

# snap modifiers
>>> dt = maya.when('Mon, 21 Feb 1994 21:21:42 GMT')
>>> dt.snap('@d+3h').rfc2822()
'Mon, 21 Feb 1994 03:00:00 GMT'

    # snap modifiers within a timezone
>>> dt = maya.when('Mon, 21 Feb 1994 21:21:42 GMT')
>>> dt.snap_tz('[email protected]', 'Australia/Perth').rfc2822()
    'Mon, 21 Feb 1994 16:00:00 GMT'

☤ Advanced Usage of Maya

In addition to timestamps, Maya also includes a wonderfully powerful MayaInterval class, which represents a range of time (e.g. an event). With this class, you can perform a multitude of advanced calendar calculations with finesse and ease.

For example:

>>> from maya import MayaInterval

# Create an event that is one hour long, starting now.
>>> event_start = maya.now()
>>> event_end = event_start.add(hours=1)

>>> event = MayaInterval(start=event_start, end=event_end)

From here, there are a number of methods available to you, which you can use to compare this event to another event.

☤ Why is this useful?

  • All timezone algebra will behave identically on all machines, regardless of system locale.
  • Complete symmetric import and export of both ISO 8601 and RFC 2822 datetime stamps.
  • Fantastic parsing of both dates written for/by humans and machines (maya.when() vs maya.parse()).
  • Support for human slang, both import and export (e.g. an hour ago).
  • Datetimes can very easily be generated, with or without tzinfo attached.
  • This library is based around epoch time, but dates before Jan 1 1970 are indeed supported, via negative integers.
  • Maya never panics, and always carries a towel.

☤ What about Delorean, Arrow, & Pendulum?

All these projects complement each other, and are friends. Pendulum, for example, helps power Maya's parsing.

Arrow, for example, is a fantastic library, but isn't what I wanted in a datetime library. In many ways, it's better than Maya for certain things. In some ways, in my opinion, it's not.

I simply desire a sane API for datetimes that made sense to me for all the things I'd ever want to do—especially when dealing with timezone algebra. Arrow doesn't do all of the things I need (but it does a lot more!). Maya does do exactly what I need.

I think these projects complement each-other, personally. Maya is great for parsing websites, and dealing with calendar events!

☤ Installing Maya

Installation is easy, with:

$ pip install maya

☤ Demo

Try maya interactively using this online demo:

Open Live Demo

How to Contribute

  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
  2. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
  3. Write a test which shows that the bug was fixed or that the feature works as expected.
  4. Send a pull request and bug the maintainer until it gets merged and published. :)
Comments
  • Pip failed to install maya on Windows

    Pip failed to install maya on Windows

    Tried to install, failed with a UnicodeDecodeError. Changed the terminal encoding to UTF-8, problem persisted. Am I doing something wrong? I'm using Windows 10, 64 bits, with Python 3.5.

    C:\Windows\system32>pip install maya
    Collecting maya
      Downloading maya-0.1.0.tar.gz
        Complete output from command python setup.py egg_info:
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "C:\Users\BoppreH\AppData\Local\Temp\pip-build-cuz437_p\maya\setup.py", line 26, in <module>
            long_description=open('README.rst').read(),
          File "c:\program files\python35\lib\encodings\cp1252.py", line 23, in decode
            return codecs.charmap_decode(input,self.errors,decoding_table)[0]
        UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 2172: character maps to <undefined>
    
        ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in C:\Users\BoppreH\AppData\Local\Temp\pip-build-cuz437_p\maya\
    
    C:\Windows\system32>chcp 65001
    Active code page: 65001
    
    C:\Windows\system32>pip install maya
    Collecting maya
      Using cached maya-0.1.0.tar.gz
        Complete output from command python setup.py egg_info:
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "C:\Users\BoppreH\AppData\Local\Temp\pip-build-044jp0hk\maya\setup.py", line 26, in <module>
            long_description=open('README.rst').read(),
          File "c:\program files\python35\lib\encodings\cp1252.py", line 23, in decode
            return codecs.charmap_decode(input,self.errors,decoding_table)[0]
        UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 2172: character maps to <undefined>
    
        ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in C:\Users\BoppreH\AppData\Local\Temp\pip-build-044jp0hk\maya\
    
    
    opened by boppreh 17
  • Incomplete ISO8601 parsing support

    Incomplete ISO8601 parsing support

    The support for ISO8601 parsing is incomplete. Here are some valid ISO8601 strings that will raise an error or will return the wrong result:

    • 20161001T1430.4+05:30 gives 2016-10-01T08:30:30.400000+00:00 (should be 2016-10-01T09:00:00.400000+00:00).
    • 2016T14
    • 2016-10T14
    • 2012W05
    • 2012W055
    • 2012007
    • 2016-W07T09
    opened by sdispater 11
  • Fix RFC3339 representation

    Fix RFC3339 representation

    https://now.httpbin.org/ returns an invalid RFC3339 representation. It currently shows 2-digit milliseconds. I hope I tracked it correctly back to Maya core.py.

    RFC3339 5.6 allows at most 1 digit for milliseconds: https://tools.ietf.org/html/rfc3339#section-5.6.

    time-secfrac    = "." 1*DIGIT
    partial-time    = time-hour ":" time-minute ":" time-second [time-secfrac]
    

    I'm not 100% happy with the fix as .%f apparently isn't guaranteed to always return 6 digits (platform dependent). https://stackoverflow.com/a/35643540/131929 shows a more stable version based on splitting and reformatting the original string.

    opened by marcelstoer 10
  • Interactive demo for `maya` code examples

    Interactive demo for `maya` code examples

    Hello @kennethreitz,

    I've been recently taking a look at maya and found it really interesting. I'm even thinking about adding it in our curriculum to teach our students at https://rmotr.com/ (co-founder and teacher here). It might be interesting to use it in comparison with the built-in datetime module.

    While looking at the code examples in the README file I thought it would be great to provide some interactive demo that people can use to play with the library before committing to download and install it locally.

    A demo is worth a thousand words 😉

    I spent a few minutes compiling all maya examples into a Jupyter Notebook file, and adapted it in a way that we can open it with a small service we have at RMOTR to launch Jupyter environments online. No account or subscription required to use it, so it's pretty convenient for people that wants to get hands on the library with a low entrance barrier. Note that maya is already installed when the env is loaded, so people can start using it right away.

    The result is what you can see in my fork of the repo (see the new "Demo" section): https://github.com/martinzugnoni/maya

    Do you think that having such interactive demo would help people to know and use maya? Let's use this issue as a kick off to start a discussion. Nothing here is written in stone and we can change everything as you wish.

    I hope you like it, and I truly appreciate any feedback.

    thanks.

    discussion 
    opened by martinzugnoni 7
  • Maya Long Count

    Maya Long Count

    Although Maya in name refers to Far East concept of maya, I thought it was ironic that it did not offer conversion to and from Maya Long Count calendar itself.

    state 
    opened by kubasobon 7
  • Incorrect date when using .when with weekdays

    Incorrect date when using .when with weekdays

    hello! :wave:

    There appears to be an issue with maya.when() when using weekday names.

    >>> today = maya.now()
    >>> print(today)
    'Sun, 15 Apr 2018 16:58:03 GMT'
    
    >>> tomorrow = maya.when("monday", prefer_past=False)
    >>> print(tomorrow)
    'Mon, 09 Apr 2018 00:00:00 GMT'
    

    dateparser seems to handle this correctly, but only when the setting 'PREFER_DATES_FROM' is set to 'future'.

    >>> dateparser.parse("monday")
    datetime.datetime(2018, 4, 9, 0, 0)
    
    >>> dateparser.parse("monday", settings={"PREFER_DATES_FROM": "future"})
    datetime.datetime(2018, 4, 16, 0, 0)
    
    >>> dateparser.parse("Apr 16")
    datetime.datetime(2018, 4, 16, 0, 0)
    
    >>> dateparser.parse("Apr 16", settings={"PREFER_DATES_FROM": "past"})
    datetime.datetime(2017, 4, 16, 0, 0)
    

    The default setting for dateparser appears to be "current_period" from dateparser/dateparser_data/settings.py.

    As the only way to alter the 'PREFER_DATES_FROM' setting is change prefer_past, there is currently no way to get the future day in this instance.

    I'll open a PR with a failing test.

    enhancement 
    opened by alxwrd 7
  • Can not install with pipenv

    Can not install with pipenv

    I can't be the only one experiencing this, can I? Lockfile attached

    MacOS 10.13.3 Python 3.6.4 Pipenv 9.0.3

    (barberscore-api)$ pipenv install maya
    Installing maya…
    Collecting maya
      Using cached maya-0.3.3-py2.py3-none-any.whl
    Collecting dateparser (from maya)
      Using cached dateparser-0.7.0-py2.py3-none-any.whl
    Collecting pendulum (from maya)
      Using cached pendulum-1.4.1-cp36-cp36m-macosx_10_13_x86_64.whl
    Collecting ruamel.yaml (from maya)
    Requirement already satisfied: pytz in ./.venv/lib/python3.6/site-packages (from maya)
    Collecting tzlocal (from maya)
    Collecting humanize (from maya)
    Requirement already satisfied: python-dateutil in ./.venv/lib/python3.6/site-packages (from dateparser->maya)
    Collecting regex (from dateparser->maya)
    Collecting pytzdata (from pendulum->maya)
      Using cached pytzdata-2018.3-py2.py3-none-any.whl
    Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.6/site-packages (from python-dateutil->dateparser->maya)
    Installing collected packages: regex, tzlocal, dateparser, pytzdata, pendulum, ruamel.yaml, humanize, maya
    Successfully installed dateparser-0.7.0 humanize-0.5.1 maya-0.3.3 pendulum-1.4.1 pytzdata-2018.3 regex-2018.2.8 ruamel.yaml-0.15.35 tzlocal-1.5.1
    
    Adding maya to Pipfile's [packages]…
      PS: You have excellent taste! ✨ 🍰 ✨
    Locking [dev-packages] dependencies…
    Locking [packages] dependencies…
    An unexpected error occurred while accessing your virtualenv's python installation!
    Please run $ pipenv --rm to re-create your environment.
    (barberscore-api)$ pipenv --rm
    Removing virtualenv (/Users/dbinetti/repos/barberscore-api/.venv)…
    (barberscore-api)$ pipenv install --dev
    Creating a virtualenv for this project…
    Using /usr/local/bin/python3.6m to create virtualenv…
    ⠋Running virtualenv with interpreter /usr/local/bin/python3.6m
    Using base prefix '/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6'
    New python executable in /Users/dbinetti/repos/barberscore-api/.venv/bin/python3.6
    Also creating executable in /Users/dbinetti/repos/barberscore-api/.venv/bin/python
    Installing setuptools, pip, wheel...done.
    
    Virtualenv location: /Users/dbinetti/repos/barberscore-api/.venv
    Pipfile.lock not found, creating…
    Locking [dev-packages] dependencies…
    Locking [packages] dependencies…
    Updated Pipfile.lock (699501)!
    Installing dependencies from Pipfile.lock (699501)…
    An error occurred while installing astroid==1.6.1! Will try again.
    An error occurred while installing attrs==17.4.0! Will try again.
    An error occurred while installing autopep8==1.3.4! Will try again.
    An error occurred while installing django==2.0.2! Will try again.
    An error occurred while installing django-debug-toolbar==1.9.1! Will try again.
    An error occurred while installing factory-boy==2.10.0! Will try again.
    An error occurred while installing faker==0.8.11! Will try again.
    An error occurred while installing graphviz==0.8.2! Will try again.
    An error occurred while installing isort==4.3.4! Will try again.
    An error occurred while installing lazy-object-proxy==1.3.1! Will try again.
    An error occurred while installing mccabe==0.6.1! Will try again.
    An error occurred while installing pluggy==0.6.0! Will try again.
    An error occurred while installing py==1.5.2! Will try again.
    An error occurred while installing pycodestyle==2.3.1! Will try again.
    An error occurred while installing pydocstyle==2.1.1! Will try again.
    An error occurred while installing pylint==1.8.2! Will try again.
      🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 106/106 — 00:01:28
    An error occurred while installing pytest==3.4.0! Will try again.
    An error occurred while installing pytest-django==3.1.2! Will try again.
    An error occurred while installing python-dateutil==2.6.1! Will try again.
    An error occurred while installing pytz==2018.3! Will try again.
    An error occurred while installing six==1.11.0! Will try again.
    An error occurred while installing snowballstemmer==1.2.1! Will try again.
    An error occurred while installing sqlparse==0.2.4! Will try again.
    An error occurred while installing text-unidecode==1.1! Will try again.
    An error occurred while installing wrapt==1.10.11! Will try again.
    An error occurred while installing git+git://github.com/barberscore/django-fsm-log.git#egg=django-fsm-log! Will try again.
    Installing initially–failed dependencies…
      ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/26 — 00:00:00
    Failed to import the site module
    Traceback (most recent call last):
      File "/Users/dbinetti/repos/barberscore-api/.venv/bin/../lib/python3.6/site.py", line 703, in <module>
        main()
      File "/Users/dbinetti/repos/barberscore-api/.venv/bin/../lib/python3.6/site.py", line 683, in main
        paths_in_sys = addsitepackages(paths_in_sys)
      File "/Users/dbinetti/repos/barberscore-api/.venv/bin/../lib/python3.6/site.py", line 282, in addsitepackages
        addsitedir(sitedir, known_paths)
      File "/Users/dbinetti/repos/barberscore-api/.venv/bin/../lib/python3.6/site.py", line 204, in addsitedir
        addpackage(sitedir, name, known_paths)
      File "/Users/dbinetti/repos/barberscore-api/.venv/bin/../lib/python3.6/site.py", line 173, in addpackage
        exec(line)
      File "<string>", line 1, in <module>
      File "/Users/dbinetti/repos/barberscore-api/.venv/lib/python3.6/types.py", line 6, in <module>
        import functools as _functools
      File "/Users/dbinetti/repos/barberscore-api/.venv/lib/python3.6/functools.py", line 24, in <module>
        from types import MappingProxyType
    ImportError: cannot import name 'MappingProxyType'
    
      ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/26 — 00:00:00
    (barberscore-api)$ 
    
    opened by dbinetti 7
  • "seconds_or_timedelta" as private

    Defined "seconds_or_timedelta" as a private function because it is a utility function for the internal usage within the library, and not for the external usage.

    Updated the related test case.

    opened by moin18 7
  • Maya gains an extra microsecond when parsing dates after the year 2243

    Maya gains an extra microsecond when parsing dates after the year 2243

    Consider the following program:

    import datetime
    import maya
    
    d = datetime.datetime(2243, 1, 1, 0, 0, 0, 1)
    print(d)
    print(str(d))
    
    parsed_d = maya.parse(str(d)).datetime()
    print(parsed_d)
    print(str(parsed_d))
    
    assert d == parsed_d
    
    2243-01-01 00:00:00.000001
    2243-01-01 00:00:00.000001
    2243-01-01 00:00:00.000002+00:00
    2243-01-01 00:00:00.000002+00:00
    Traceback (most recent call last):
      File "counterexample.py", line 15, in <module>
        assert d == parsed_d
    AssertionError
    

    This is a bug introduced somewhere in Maya – I see that Maya is using dateutil for the main machinery of its parse function, but if I try this with dateutil everything is fine:

    import datetime
    from dateutil import parser
    
    d = datetime.datetime(2243, 1, 1, 0, 0, 0, 1)
    print(d)
    print(str(d))
    
    parsed_d = parser.parse(str(d))
    print(parsed_d)
    print(str(parsed_d))
    
    assert d == parsed_d
    
    2243-01-01 00:00:00.000001
    2243-01-01 00:00:00.000001
    2243-01-01 00:00:00.000001
    2243-01-01 00:00:00.000001
    

    Environment details:

    $ pip freeze
    dateparser==0.5.0
    humanize==0.5.1
    iso8601==0.1.11
    jdatetime==1.8.1
    -e [email protected]:kennethreitz/[email protected]#egg=maya-master
    python-dateutil==2.6.0
    pytz==2016.10
    regex==2016.11.21
    ruamel.yaml==0.13.4
    six==1.10.0
    tzlocal==1.3
    umalqurra==0.2
    wheel==0.24.0
    

    I don’t actually care if you fix this (by 2243, I’ll either be dead, or hopefully have better things to do with my time), but having found it, I thought I’d share.

    Yes, I know I’m a terrible person for finding this.

    opened by alexwlchan 7
  • Pendulum 2.0.2 compatibility

    Pendulum 2.0.2 compatibility

    Does the minimal work required to get maya working with pendulum 2.0.2, and run the test suite clean on py2.7 and py3.6.

    Possible area for improvement:

    • make better use of pendulum's Duration class for parsed duration strings, and not assume that everything passed back by pendulum is a DateTime
    • be more robust around MayaInterval parsing to cope with strings that have a duration as the starting component, as well as the ending component

    Addresses issue #160

    opened by ViktorHaag 6
  • Allow slang methods to change locale

    Allow slang methods to change locale

    This attempts to add internationalisation/localisation to the slang_ methods to address #84.

    I originally attempted to use the localisation built into humanize. However, I had the issue that the last release for humanize was in 2014, and at the time it only supported 3 locales.

    Because of this, I switched to using pendulum which has a much bigger locale selection.

    However, pendulum only has diff_for_humans() which is for time. This leaves slang_date without localisation.

    I think the questions that are left are:

    • Does slang_date just get left for now?
    • Do we just use the limited locales provided by humanize?
    opened by alxwrd 6
  • docs: Fix a few typos

    docs: Fix a few typos

    There are small typos in:

    • src/maya/core.py

    Fixes:

    • Should read preferred rather than prefered.
    • Should read ambiguous rather than ambigous.

    Semi-automated pull request generated by https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

    opened by timgates42 0
  • Looking for a new maintainer

    Looking for a new maintainer

    The Git history makes it apparent that I don't have the time to maintain the maya package and haven't been able to do so for a long time.

    In case you have an interest in maintaining it, please let me know and I'm sure we can arrange something!

    opened by timofurrer 3
  • Incorrect Results for Parssing Data Time

    Incorrect Results for Parssing Data Time

    Hi, I am a high school student just starting to learn about testing techniques. I found a bug in the latest version (0.6.1) of maya while doing some fuzzing using the fuzzing tool Atheris. The reproducing process is shown below:

    maya.parse('may15,2021').datetime()
    

    result datetime.datetime(2022, 5, 15, 0, 0, tzinfo=<UTC>)

    my Environment

    Python 3.8.10 (default, Mar 15 2022, 12:22:08) 
    [GCC 9.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import maya
    >>> print(maya.__version__)
    0.6.1
    >>> 
    

    I am not very sure about the bug so I would very much appreciate any kind of feedback regarding it. Thanks.

    opened by OrianeK 0
  • Fallback on error in datetime() before year 1970

    Fallback on error in datetime() before year 1970

    Describe the bug

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Anaconda\python3\envs\***\lib\site-packages\maya\core.py", line 250, in datetime
        dt = Datetime.utcfromtimestamp(self._epoch)
    OSError: [Errno 22] Invalid argument
    

    when MayaDT.datatime() (calls utcfromtimestamp) with negative epoch MayaDT object.

    Environment and Version

    • OS (incl. terminal and shell used): Powershell with Microsoft Windows 10 Home 10.0.19042
    • Python Version: 3.7.9
    • maya Version: 0.6.1
    • Your timezone: Japan Time (+09:00)

    To Reproduce ( note that occured on Windows environment , but maybe not on Linux environment )

    import maya
    maya.when("1949-01-01").datetime()
    

    Expected behavior

    >>> import maya
    >>> maya.when("1949-01-01").datetime()
    datetime.datetime(1949, 1, 1, 0, 0, tzinfo=<UTC>)
    
    opened by Lenqth 0
  • Architecture not supported - Mac OS 10.15 in pipenv

    Architecture not supported - Mac OS 10.15 in pipenv

    Describe the bug Unable to install Maya on Mac OS Catalina 10.15.7, due to regex failing build. While not necessarily a bug in Maya, I can't use Maya as a dependency won't build

    Environment and Version

    • OS - Mac OS 10.15.7
    • Python Version: 3.8.2
    • maya Version: latest
    • Your timezone: UTC + 6

    To Reproduce pipenv install maya.

    Receive architecture not supported error, with issues around uint32.

    typedef __uint32_t __darwin_wctype_t;

    Expected behavior Maya should install

    *** Stack

    Installing maya…
    Error:  An error occurred while installing maya!
    Error text: Collecting maya
      Using cached maya-0.6.1-py2.py3-none-any.whl (12 kB)
    Requirement already satisfied, skipping upgrade: humanize in ./.venv/lib/python3.8/site-packages (from maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (3.0.1)
    Requirement already satisfied, skipping upgrade: snaptime in ./.venv/lib/python3.8/site-packages (from maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (0.2.4)
    Requirement already satisfied, skipping upgrade: pendulum>=2.0.2 in ./.venv/lib/python3.8/site-packages (from maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (2.1.2)
    Collecting dateparser>=0.7.0
      Using cached dateparser-0.7.6-py2.py3-none-any.whl (362 kB)
    Requirement already satisfied, skipping upgrade: pytz in ./.venv/lib/python3.8/site-packages (from maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (2020.1)
    Requirement already satisfied, skipping upgrade: tzlocal in ./.venv/lib/python3.8/site-packages (from maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (2.1)
    Requirement already satisfied, skipping upgrade: setuptools in ./.venv/lib/python3.8/site-packages (from humanize->maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (49.6.0)
    Requirement already satisfied, skipping upgrade: python-dateutil in ./.venv/lib/python3.8/site-packages (from snaptime->maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (2.8.1)
    Requirement already satisfied, skipping upgrade: pytzdata>=2020.1 in ./.venv/lib/python3.8/site-packages (from pendulum>=2.0.2->maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (2020.1)
    Collecting regex!=2019.02.19
      Using cached regex-2020.10.15.tar.gz (690 kB)
    Requirement already satisfied, skipping upgrade: six>=1.5 in ./.venv/lib/python3.8/site-packages (from python-dateutil->snaptime->maya->-r /var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pipenv-wc5ulpw2-requirements/pipenv-ch7wekax-requirement.txt (line 1)) (1.15.0)
    Building wheels for collected packages: regex
      Building wheel for regex (setup.py): started
      Building wheel for regex (setup.py): finished with status 'error'
      Running setup.py clean for regex
    Failed to build regex
    Installing collected packages: regex, dateparser, maya
        Running setup.py install for regex: started
        Running setup.py install for regex: finished with status 'error'
    
      ERROR: Command errored out with exit status 1:
       command: /Users/shawn/Sites/fastapi/.venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/setup.py'"'"'; __file__='"'"'/private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-wheel-mmy1dvok
           cwd: /private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/
      Complete output (116 lines):
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.14.6-x86_64-3.8
      creating build/lib.macosx-10.14.6-x86_64-3.8/regex
      copying regex_3/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
      copying regex_3/regex.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
      copying regex_3/_regex_core.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
      copying regex_3/test_regex.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
      warning: build_py: byte-compiling is disabled, skipping.
      
      running build_ext
      building 'regex._regex' extension
      creating build/temp.macosx-10.14.6-x86_64-3.8
      creating build/temp.macosx-10.14.6-x86_64-3.8/regex_3
      xcrun -sdk macosx clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -I/Users/shawn/Sites/fastapi/.venv/include -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8 -c regex_3/_regex.c -o build/temp.macosx-10.14.6-x86_64-3.8/regex_3/_regex.o
      In file included from regex_3/_regex.c:48:
      In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:11:
      In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/limits.h:21:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/limits.h:63:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
      #error Unsupported architecture
       ^
      In file included from regex_3/_regex.c:48:
      In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:11:
      In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/limits.h:21:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/limits.h:64:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/limits.h:8:2: error: architecture not supported
      #error architecture not supported
       ^
      In file included from regex_3/_regex.c:48:
      In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_types.h:27:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:33:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
      #error architecture not supported
       ^
      In file included from regex_3/_regex.c:48:
      In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_types.h:27:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
      typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
              ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
      typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
              ^
      note: '__int128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
      typedef __int32_t       __darwin_dev_t;         /* dev_t */
              ^
      note: '__int128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
      typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
              ^
      note: '__uint128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
      typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
              ^
      note: '__uint128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'
      typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
              ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
      typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
              ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'; did you mean '__uint128_t'?
      typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
              ^
      note: '__uint128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
      typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
              ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
      typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
              ^
      note: '__int128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
      typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
              ^
      note: '__uint128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
      typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
              ^
      note: '__int128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
      typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
              ^
      note: '__uint128_t' declared here
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
      typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
              ^
      note: '__uint128_t' declared here
      In file included from regex_3/_regex.c:48:
      In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
      typedef __uint32_t      __darwin_wctype_t;
              ^
      note: '__uint128_t' declared here
      In file included from regex_3/_regex.c:48:
      In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:75:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_va_list.h:31:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
      #error architecture not supported
       ^
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      20 errors generated.
      error: command 'xcrun' failed with exit status 1
      ----------------------------------------
      ERROR: Failed building wheel for regex
    DEPRECATION: Could not build wheels for regex which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
        ERROR: Command errored out with exit status 1:
         command: /Users/shawn/Sites/fastapi/.venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/setup.py'"'"'; __file__='"'"'/private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-record-lz29663u/install-record.txt --single-version-externally-managed --compile --install-headers /Users/shawn/Sites/fastapi/.venv/include/site/python3.8/regex
             cwd: /private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/
        Complete output (116 lines):
        running install
        running build
        running build_py
        creating build
        creating build/lib.macosx-10.14.6-x86_64-3.8
        creating build/lib.macosx-10.14.6-x86_64-3.8/regex
        copying regex_3/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
        copying regex_3/regex.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
        copying regex_3/_regex_core.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
        copying regex_3/test_regex.py -> build/lib.macosx-10.14.6-x86_64-3.8/regex
        warning: build_py: byte-compiling is disabled, skipping.
        
        running build_ext
        building 'regex._regex' extension
        creating build/temp.macosx-10.14.6-x86_64-3.8
        creating build/temp.macosx-10.14.6-x86_64-3.8/regex_3
        xcrun -sdk macosx clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -I/Users/shawn/Sites/fastapi/.venv/include -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8 -c regex_3/_regex.c -o build/temp.macosx-10.14.6-x86_64-3.8/regex_3/_regex.o
        In file included from regex_3/_regex.c:48:
        In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:11:
        In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/limits.h:21:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/limits.h:63:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
        #error Unsupported architecture
         ^
        In file included from regex_3/_regex.c:48:
        In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:11:
        In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/limits.h:21:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/limits.h:64:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/limits.h:8:2: error: architecture not supported
        #error architecture not supported
         ^
        In file included from regex_3/_regex.c:48:
        In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_types.h:27:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:33:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
        #error architecture not supported
         ^
        In file included from regex_3/_regex.c:48:
        In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_types.h:27:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
        typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
                ^
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
        typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
                ^
        note: '__int128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
        typedef __int32_t       __darwin_dev_t;         /* dev_t */
                ^
        note: '__int128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
        typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
                ^
        note: '__uint128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
        typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
                ^
        note: '__uint128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'
        typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
                ^
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
        typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
                ^
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'; did you mean '__uint128_t'?
        typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
                ^
        note: '__uint128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
        typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
                ^
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
        typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
                ^
        note: '__int128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
        typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
                ^
        note: '__uint128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
        typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
                ^
        note: '__int128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
        typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
                ^
        note: '__uint128_t' declared here
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
        typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
                ^
        note: '__uint128_t' declared here
        In file included from regex_3/_regex.c:48:
        In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
        typedef __uint32_t      __darwin_wctype_t;
                ^
        note: '__uint128_t' declared here
        In file included from regex_3/_regex.c:48:
        In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:75:
        In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_va_list.h:31:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
        #error architecture not supported
         ^
        fatal error: too many errors emitted, stopping now [-ferror-limit=]
        20 errors generated.
        error: command 'xcrun' failed with exit status 1
        ----------------------------------------
    ERROR: Command errored out with exit status 1: /Users/shawn/Sites/fastapi/.venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/setup.py'"'"'; __file__='"'"'/private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-install-7ryhxz47/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/r7/b4kt_sx93838nw85q7zpy80h0000gn/T/pip-record-lz29663u/install-record.txt --single-version-externally-managed --compile --install-headers /Users/shawn/Sites/fastapi/.venv/include/site/python3.8/regex Check the logs for full command output.
    
    ✘ Installation Failed 
    
    opened by holyoaks 0
  • Package not compatible with next version of tzlocal

    Package not compatible with next version of tzlocal

    The next version of tzlocal will switch from using pytz zones to zoneinfo (which is generally a good idea), which will break this package, since zoneinfo zones don't have the same interface as pytz zones.

    You should probably pin the version of tzlocal ASAP, and/or add in some logic to detect zoneinfo zones and convert them to whatever you want.

    In the longer term, you should probably also migrate away from pytz and on to zoneinfo. I have a pytz-deprecation-shim module that should help ease the pain (though it is not 100% backwards compatible - in the migration guide you'll find that the semantics of datetime addition are slightly different).

    opened by pganssle 1
Releases(v0.6.1)
Owner
Timo Furrer
Enthusiastic Hacker who loves Free Open Source Software, Linux, Python, Machine Learning and :penguin:. Commits are my own.
Timo Furrer
python parser for human readable dates

Python parser for human readable dates Key Features • How To Use • Installation • Common use cases • You may also like... • License Key Features Suppo

Scrapinghub 2.2k Jan 08, 2023
Delorean: Time Travel Made Easy

Delorean: Time Travel Made Easy Delorean is a library for clearing up the inconvenient truths that arise dealing with datetimes in Python. Understandi

Mahdi Yusuf 1.8k Dec 20, 2022
Make Python datetime formatting human readable

Make Python datetime formatting human readable

James Timmins 0 Oct 03, 2021
A simple in-process python scheduler library, designed to be integrated seamlessly with the `datetime` standard library.

scheduler A simple in-process python scheduler library, designed to be integrated seamlessly with the datetime standard library. Due to the support of

30 Dec 30, 2022
🏹 Better dates & times for Python

Arrow: Better dates & times for Python Arrow is a Python library that offers a sensible and human-friendly approach to creating, manipulating, formatt

Arrow 8.2k Jan 09, 2023
TimeTagger is a web-based time-tracking solution that can be run locally or on a server

TimeTagger is a web-based time-tracking solution that can be run locally or on a server. In the latter case, you'll want to add authentication, and also be aware of the license restrictions.

Almar Klein 626 Jan 06, 2023
PyTime is an easy-use Python module which aims to operate date/time/datetime by string.

PyTime PyTime is an easy-use Python module which aims to operate date/time/datetime by string. PyTime allows you using nonregular datetime string to g

Sinux 148 Dec 09, 2022
A Python module that tries to figure out what your local timezone is

tzlocal This Python module returns a tzinfo object with the local timezone information under Unix and Windows. It requires either Python 3.9+ or the b

Lennart Regebro 159 Dec 16, 2022
UNIX time from NTP or short UtfN is a simple CLI tool to set the time from an NTP-Server.

UNIX ⌚ from NTP UNIX time from NTP or short UtfN is a simple CLI tool to set the time from an NTP-Server. Sets time and date using the date command pr

Alexander 1 Jan 02, 2022
ISO 8601 date/time parser

ISO 8601 date/time parser This module implements ISO 8601 date, time and duration parsing. The implementation follows ISO8601:2004 standard, and imple

118 Dec 20, 2022
⌚️Internet Time reference and (eventually) converter site, for planning things with your internet friends who aren't (yet) obsessed with Internet Time 😉

Internet-Ti.me Internet Time reference and (eventually) converter site, for planning things with your internet friends who aren't (yet) obsessed with

Jessica Stokes 17 Nov 02, 2022
pytz Python historical timezone library and database

pytz Brings the IANA tz database into Python. This library allows accurate and cross platform timezone calculations. pytz contains generated code, and

Stub 236 Jan 03, 2023
Python datetimes made easy

Pendulum Python datetimes made easy. Supports Python 2.7 and 3.4+. import pendulum now_in_paris = pendulum.now('Europe/Paris') now_in_par

Sébastien Eustace 5.3k Jan 06, 2023
A datetime parser in Python by Ari24-cb24 and NekoFantic

datetimeparser A datetime parser in Python by Ari24-cb24 and NekoFantic V 1.0 Erinnerung für den Parser Auf falsche Eingaben überprüfen Liste an Event

AriDevelopment 13 Dec 30, 2022
A Python 3 library for parsing human-written times and dates

Chronyk A small Python 3 library containing some handy tools for handling time, especially when it comes to interfacing with those pesky humans. Featu

Felix Wiegand 339 Dec 19, 2022
Parse human-readable date/time strings

parsedatetime Parse human-readable date/time strings. Python 2.6 or greater is required for parsedatetime version 1.0 or greater. While we still test

Mike Taylor 651 Dec 23, 2022
Generate and work with holidays in Python

python-holidays A fast, efficient Python library for generating country, province and state specific sets of holidays on the fly. It aims to make dete

Maurizio Montel 881 Dec 29, 2022
E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

2.8k Jan 06, 2023
Better dates & times for Python

Arrow: Better dates & times for Python Arrow is a Python library that offers a sensible and human-friendly approach to creating, manipulating, formatt

Arrow 8.2k Jan 05, 2023
Croniter provides iteration for the datetime object with a cron like format

Introduction Contents Introduction Travis badge Usage About DST About second repeats Testing if a date matches a crontab Gaps between date matches Ite

kiorky 152 Dec 30, 2022