Incorrect or missing information? SABCTools
Introduction to SABCTools
SABnzbd uses a module called sabctools to optimise (essential) CPU intensive tasks.
The Windows- and macOS-packages of SABnzbd automatically contain that module. On other platforms (like Linux and FreeBSD) you have to make sure the module is installed. The information below is for packagers and source code users on those platforms.
Installation with Python’s packaging manager pip
python and pip refer to the Python 3 installation on your system.On some older systems Python 2 is the default
python and you should instead use the python3 and pip3 commands.
Inside the source directory of SABnzbd, run this command
pip install -r requirements.txt
It will take care of installing the right version of sabctools. This will work for x86 and ARM.
You might need to first install the python-development module (python3-dev or python3-devel), and then run the above pip command.
If you need to install a specific version to match your version of SABnzbd, you can specify this in the command:
pip install sabctools==7.0.1
Installation on Linux
Jump to: Ubuntu (via PPA), Ubuntu, Fedora / RedHat, OpenSuSE or FreeBSD.
Installation on Ubuntu via PPA
For Ubuntu there is a PPA with sabctools, by the same creator (JCFP) as the SABnzbd PPA. This will work on x86, x86-64, ARM (32bit) and ARM64 architectures.
Install it like this:
sudo add-apt-repository ppa:jcfp/sab-addons
sudo apt-get update
sudo apt-get install sabctools
Installation on Ubuntu (without PPA)
Short method:
sudo apt-get install python3-pip
sudo -H pip install sabctools --upgrade
Long, with your own compiling:
sudo apt-get install python3-dev python3-pip
sudo -H pip install -r requirements.txt
Installation on Fedora / RedHat
Short method:
All as root:
pip install --upgrade pip
pip install -r requirements.txt
Long, with your own compiling:
yum install -y python-devel gcc redhat-rpm-config
pip install --upgrade pip
pip install -r requirements.txt
Installation on OpenSuSE
All as root
Short method:
zypper install -y python-pip
pip install --upgrade pip
pip install -r requirements.txt
Long, with your own compiling:
zypper install -y python-pip python-devel gcc
pip install --upgrade pip
pip install -r requirements.txt
Multiple installations of python
If you have multiple installations of Python on your machine (python/python2/python3 or different versions of Python 3), you have to make sure SABCTools is installed into the correct Python environment. And ‘correct’ means the Python installation used by SABnzbd. The command is then:
/path/to/correct/python -m pip install -r requirements.txt
Check if SABCTools is correctly installed
To check if SABCTools is correctly installed, run this Python oneliner:
python -c "import sabctools; print(sabctools.__version__, sabctools.__file__);"
It should print the version of the installed sabctools module, without any errors.
SABnzbd’s Checking & Logging
SABnzbd will check if SABCTools is installed. If SABCTools is installed, and the version is correct, SABnzbd will print in the log:
SABCTools module (v7.0.1)... found!
If your version of sabctools does not match the version required by SABnzbd, you get:
SABCTools disabled: no correct version found! (Found v6.0.0, expecting v7.0.1)
Issues
If you experience any issues, please let us know on our Forums or Github!