# primary_deps.ini
# This file should list primary dependencies in terms of both core and
# extras, in setup.cfg format. A primary dependency is one which is
# used directly in Red, or otherwise is forced to be listed as a
# dependency. Version specifiers should be as liberal as possible.

[options]
install_requires =
    aiohttp
    aiohttp-json-rpc
    aiosqlite
    appdirs
    apsw-wheels
    babel
    click
    colorama
    discord.py
    distro; sys_platform == "linux"
    fuzzywuzzy
    python-Levenshtein-wheels
    PyYAML
    Red-Lavalink
    schema
    tqdm
    uvloop; sys_platform != "win32" and platform_python_implementation == "CPython"
    # Websockets is a secondary dependency, but until pip has a complete dependency resolver, we
    # need to list it here to avoid an incompatible version being installed.
    # See under point 2 here: https://pip.pypa.io/en/stable/user_guide/#requirements-files
    websockets<9.0

[options.extras_require]
docs =
    Sphinx
    sphinx_rtd_theme
    sphinxcontrib-trio
postgres =
    asyncpg
style =
    black
test =
    pylint
    pytest
    pytest-asyncio
    pytest-mock
