# TODO: need to make more of these requirements optional with good error messages
# when a user tries to use functionality that requires them

ubelt>=1.3.6

psutil>=5.9.6     ; python_version < '4.0'  and python_version >= '3.12'    # Python 3.12+
psutil>=5.9.1     ; python_version < '3.12' and python_version >= '3.11'    # Python 3.11
psutil>=5.9.1     ; python_version < '3.11' and python_version >= '3.10'    # Python 3.10
psutil>=5.7.3     ; python_version < '3.10' and python_version >= '3.9'     # Python 3.9
psutil>=5.6.3     ; python_version < '3.9'  and python_version >= '3.8'     # Python 3.8

ruamel.yaml>=0.17.22
PyYAML>=6.0.1     ; python_version < '4.0'  and python_version >= '3.12'    # Python 3.12+
PyYAML>=6.0       ; python_version < '3.12'                                 # Python 3.6 - 3.11

lazy_loader>=0.1; python_version >= '3.7'     

pint>=0.23      ; python_version < '4.0'  and python_version >= '3.13'    # Python 3.13+
pint>=0.23      ; python_version < '3.13' and python_version >= '3.12'    # Python 3.12
pint>=0.18      ; python_version < '3.12' and python_version >= '3.11'    # Python 3.11
pint>=0.18      ; python_version < '3.11' and python_version >= '3.10'    # Python 3.10
pint>=0.18      ; python_version < '3.10' and python_version >= '3.9'     # Python 3.9
pint>=0.18      ; python_version < '3.9'  and python_version >= '3.8'     # Python 3.8

python_dateutil>=2.8.2
rich>=12.3.0

progiter>=1.1.0
