# Main requirements
# Note that not all sub-dependencies are listed, but only ones we know could cause trouble
apprise==1.13.1
sabctools==9.7.1
CT3==3.4.0.post5
cffi==2.1.1
pycparser==3.0
feedparser==6.0.14
configobj==5.0.9
six==1.17.0
more-itertools==11.1.0
python-dateutil==2.9.0.post0
feedparser-sgmllib==2.1.0
PySocks==1.7.1
puremagic # Version-less for Python 3.11 and below
puremagic==2.2.0; python_version > '3.11'
rarfile==4.5
guessit==4.4.0
babelfish==0.6.1
rebulk==6.0.1
hachoir==3.3.0

# New for starlette/uvicorn
starlette==1.6.0
itsdangerous==2.2.0
anyio==4.14.2
sniffio==1.3.1
uvicorn==0.52.4
click==8.5.0
h11==0.16.0
python-multipart==0.0.32
httptools==0.8.0

# Recent cryptography versions require Rust. If you run into issues compiling this
# SABnzbd will also work with older pre-Rust versions such as cryptography==3.3.2
# Using older versions can have security implications!
cryptography>=3.0

# We recommend using "orjson" as it is 2x as fast as "ujson". However, it requires
# Rust so SABnzbd works just as well with "ujson" or the Python built in "json" module
ujson==5.13.0
orjson==3.12.0

# Windows system integration
pywin32==312; sys_platform == 'win32'
windows-toasts==1.3.1; sys_platform == 'win32'
winrt-runtime==3.2.1; sys_platform == 'win32'
winrt-Windows.Data.Xml.Dom==3.2.1; sys_platform == 'win32'
winrt-Windows.Foundation==3.2.1; sys_platform == 'win32'
winrt-Windows.Foundation.Collections==3.2.1; sys_platform == 'win32'
winrt-Windows.UI.Notifications==3.2.1; sys_platform == 'win32'
typing_extensions==4.16.0; sys_platform == 'win32'

# macOS system calls
pyobjc-core==12.2.2; sys_platform == 'darwin'
pyobjc-framework-Cocoa==12.2.2; sys_platform == 'darwin'

# Linux notifications
notify2==0.3.1; sys_platform != 'win32' and sys_platform != 'darwin'

# Apprise Requirements
requests==2.34.2
requests-oauthlib==2.0.0
PyYAML==6.0.3
markdown==3.10.3
paho-mqtt==2.1.0

# Requests Requirements
charset_normalizer==3.5.1
idna==3.19
urllib3==2.7.0
certifi==2026.7.22
oauthlib==3.3.1
PyJWT==2.13.0
blinker==1.9.0

# Optional support for *nix tray icon.
# Note that pygobject depends on pycairo, which requires pkg-config and cairo headers.
# See https://pycairo.readthedocs.io/en/latest/getting_started.html
# Uncomment line below or manually install after installing requirements.
# pygobject>=3.10.2; sys_platform != 'win32' and sys_platform != 'darwin'

# Optional support for system power management on *nix.
# Requires libdbus-1-dev to be installed.
# Uncomment line below or manually install after installing requirements.
# dbus-python; sys_platform != 'win32' and sys_platform != 'darwin'
