Skip to main content

Python-Wrapper for Francesco Parrella's OnlineSVR C++ implementation.

Project description


pipeline status coverage report Code style: black release info License: GPL v3 python version 3.7|3.8|3.9

Python-Wrapper for Francesco Parrella's OnlineSVR [PAR2007] C++ implementation with scikit-learn-compatible interfaces. You can find more information about the OnlineSVR here and the original source code here.



PyOnlineSVR requires the following dependencies:

  • python (>=3.7)
  • numpy (>=1.13.3)
  • scipy (>=0.19.1)
  • joblib (>=0.11)
  • scikit-learn (>=0.23.0)


PyOnlineSVR is published to PyPi and can be installed using pip.



You can use pip to install PyOnlineSVR using:

pip install PyOnlineSVR

From Source (Linux)

If you are installing PyOnlineSVR from source, you will need Python 3.7 or later and a modern C++ compiler. We highly recommend using an Anaconda environment for building this project.

In the following, we explain the steps to build PyOnlineSVR using Anaconda and git.

Prepare environment

Create a new Anaconda environment and install the required dependencies. This includes python, SWIG to generate the C++ wrapper, and the C and C++ compiler toolchains.

conda create -n pyonlinesvr python swig gcc_linux-64 gxx_linux-64
conda activate pyonlinesvr

Install dependencies

conda install -n pyonlinesvr numpy scipy scikit-learn

Get the source code

git clone
cd pyonlinesvr

Install PyOnlineSVR

python install

Note that if your are using Anaconda, you may experience an error caused by the linker:

build/temp.linux-x86_64-3.7/torch/csrc/stub.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1

This is caused by the linker ld from the Conda environment shadowing the system ld. You should use a newer version of Python in your environment that fixes this issue. The recommended Python versions are (3.6.10+,) 3.7.6+ and 3.8.1+. For further details see the issue.


>>> import numpy as np
>>> from pyonlinesvr import OnlineSVR
>>> X = np.array([[0, 0], [2, 2]])
>>> y = np.array([0.5, 2.5])
>>> regr = OnlineSVR()
>>>[:1], y[:1])
>>> regr.predict([[1, 1]])
array([ 0.4])
>>> regr.partial_fit(X[1:], y[1:])
>>> regr.predict([[1, 1]])
array([ 1.5])


PyOnlineSVR is free software under the terms of the GNU General Public License, as found in the LICENSE file.


[PAR2007]: Parrelly, Francesco (2007). "Online Support Vector Machines for Regression." Master thesis. University of Genoa, Italy. PDF

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyOnlineSVR-0.0.3.tar.gz (47.7 kB view hashes)

Uploaded source

Built Distributions

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page