Orange 3 data mining suite:
Python JavaScript Shell C NSIS CSS Other
Latest commit 67c587e Feb 24, 2017 @janezd janezd committed on GitHub Merge pull request #2028 from ajdapretnar/class-tree-schema
Updated Classification Tree schema
Failed to load latest commit information.
.ci_tools/appveyor Merge pull request #1854 from ales-erjavec/fixes/select-rows-enum-use Jan 18, 2017
.github github: Update PR template Oct 28, 2016
.travis travis: do not run report tests Jan 27, 2017
Orange Merge pull request #2028 from ajdapretnar/class-tree-schema Feb 24, 2017
benchmark Remove some leftovers. Aug 26, 2016
conda-recipe Merge learners: Update conda recipe Feb 23, 2017
distribute Install desktop file and icon on GNU/Linux/FreeBSD Apr 22, 2016
doc OWMergeData: Update documentation Feb 20, 2017
scripts Release 3.3.8 Oct 12, 2016
tutorials Update learners.ipynb May 15, 2015
.coveragerc travis: Include widgets in coverage Feb 13, 2017
.gitattributes Add line ending config. Sep 19, 2013
.gitignore Remove Orange.egg-info dir from .gitignore Jun 1, 2016
.scrutinizer.yml .scrutinizer.yml: Automated code reviews for Python Jul 16, 2015
.travis.yml Travis: make lint and pyqt5 mandatory checks Feb 13, 2017
ATTRIBUTION Highcharts: add license and attribution Jul 28, 2016 Release 3.3.12 Feb 14, 2017 WebviewWidget: debug=True if ORANGE_DEBUG env variable set Jan 23, 2017
LICENSE Unify COPYING and LICENSE file; simplify Jul 28, 2016 Merge pull request #1939 from ales-erjavec/fixes/linearprojection-nan… Feb 3, 2017 Add Gitter badge Jan 24, 2017
appveyor.yml Make OrangeDeprecationWarning an Exception when running CI tests Dec 13, 2016
codecov.yml Revert "Bottlechest, bottleneck" Jul 4, 2016
pylintrc pylintrc: Unify rules for naming args and attr with those for vars Sep 23, 2016
requirements-core.txt OWSaveClassifier: Pickle stuff with dill Nov 28, 2016
requirements-dev.txt new subcommand: lint Apr 1, 2016
requirements-doc.txt a single list of requirements + refreshments Mar 8, 2016
requirements-gui.txt canvas: Using AnyQt compatibility layer for Qt5 support Oct 21, 2016
requirements-opt.txt requirements: make qt-graph-helpers dependency optional Mar 11, 2016
requirements-sql.txt sql: Add pymssql backend Oct 21, 2016
requirements.txt MAINT: add requirements.txt (core+dev) for May 6, 2016
setup.cfg setup: Fix setup.cfg Sep 2, 2015 Merge learners: Remove classify/regression icons from Feb 23, 2017


Join the chat at

build: passing codecov

Orange is a component-based data mining software. It includes a range of data visualization, exploration, preprocessing and modeling techniques. It can be used through a nice and intuitive user interface or, for more advanced users, as a module for the Python programming language.

This is a development version of Orange 3. The stable version 2.7 is still available (binaries and sources).


This version of Orange requires Python 3.4 or newer. To build it and install it in a development environment, run:

# Install some build requirements via your system's package manager
sudo apt-get install virtualenv git build-essential

# Also install Qt dependencies for the GUI
sudo apt-get install python3-pyqt4
# or if python version is >= 3.5
#  pip install pyqt5 

# Create a separate Python environment for Orange and its dependencies ...
virtualenv --python=python3 --system-site-packages orange3venv
# ... and make it the active one
source orange3venv/bin/activate

# Clone the repository and move into it
git clone
cd orange3

# Install the minimum required dependencies first
pip install -r requirements-core.txt  # For Orange Python library
pip install -r requirements-gui.txt   # For Orange GUI

pip install -r requirements-sql.txt   # To use SQL support
pip install -r requirements-opt.txt   # Optional dependencies, may fail

# Finally install Orange in editable/development mode.
pip install -e .

Installation of SciPy and qt-graph-helpers is sometimes challenging because of their non-python dependencies that have to be installed manually. More detailed, if mostly obsolete, guides for some platforms can be found in the wiki.

Anaconda Installation

First, install Anaconda for your OS (Python version 3.5+). Create virtual environment for Orange:

conda create python=3 --name orange3 

In your Anaconda Prompt add conda-forge to your channels:

conda config --add channels conda-forge

This will enable access to the latest Orange release. Then install Orange3:

conda install orange3

Starting Orange GUI

Orange GUI requires PyQt, which is not pip-installable in Python 3. You have to download and install it system-wide. Make sure that the virtual environment for orange is created with --system-site-packages, so it will have access to the installed PyQt4.

To start Orange GUI from the command line, assuming it was successfully installed, run:

# or
python3 -m Orange.canvas

Append --help for a list of program options.

If you're running Orange with PyQt5 or if you have multiple PyQt versions available, set the environmental variable QT_API to the PyQt version to use, e.g.:

export QT_API=pyqt5

Compiling on Windows

Get appropriate wheels for missing libraries. You will need numpy+mkl and scipy.

Install them with

pip install some-wheel.whl

Install Visual Studio compiler. Then go to Orange3 folder and run:

python build_ext -i --compiler=msvc install