# Main requirements
# Note that not all sub-dependencies are listed, but only ones we know could cause trouble
apprise==1.9.2
sabctools==8.2.5
CT3==3.4.0
cffi==1.17.1
pycparser==2.22
feedparser==6.0.11
configobj==5.0.9
cheroot==10.0.1
six==1.17.0
cherrypy==18.10.0
jaraco.functools==4.1.0
jaraco.collections==5.0.0
jaraco.text==3.8.1 # Newer version introduces irrelevant extra dependencies
jaraco.classes==3.4.0
jaraco.context==4.3.0
more-itertools # List version-less for Python 3.8 to just get latest supported
more-itertools==10.6.0; python_version > '3.8'
zc.lockfile==3.0.post1
python-dateutil==2.9.0.post0
tempora # List version-less for Python 3.8 to just get latest supported
tempora==5.8.0; python_version > '3.8'
pytz==2025.1
sgmllib3k==1.0.0
portend==3.2.0
chardet==5.2.0
PySocks==1.7.1
puremagic==1.28
guessit==3.8.0
babelfish==0.6.1
rebulk==3.2.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
cryptography==44.0.2

# 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.10.0
orjson==3.10.15

# Windows system integration
pywin32==310; sys_platform == 'win32'
windows-toasts==1.3.0; sys_platform == 'win32' and python_version > '3.8'
winrt-runtime==2.3.0; sys_platform == 'win32' and python_version > '3.8'
winrt-Windows.Data.Xml.Dom==2.3.0; sys_platform == 'win32' and python_version > '3.8'
winrt-Windows.Foundation==2.3.0; sys_platform == 'win32' and python_version > '3.8'
winrt-Windows.Foundation.Collections==2.3.0; sys_platform == 'win32' and python_version > '3.8'
winrt-Windows.UI.Notifications==2.3.0; sys_platform == 'win32' and python_version > '3.8'

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

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

# Apprise Requirements
requests==2.32.3
requests-oauthlib==2.0.0
PyYAML==6.0.2
markdown==3.7
paho-mqtt==1.6.1 # Pinned, newer versions don't work with AppRise yet

# Requests Requirements
charset_normalizer==3.4.1
idna==3.10
urllib3 # List version-less for Python 3.8 to just get latest supported
urllib3==2.3.0; python_version > '3.8'
certifi==2025.1.31
oauthlib==3.2.2
PyJWT # List version-less for Python 3.8 to just get latest supported
PyJWT==2.10.1; python_version > '3.8'
blinker # List version-less for Python 3.8 to just get latest supported
blinker==1.9.0; python_version > '3.8'

# 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'
