{"id":28017,"library":"orange3","title":"Orange3 Data Mining Framework","description":"Orange3 is a component-based data mining framework for Python, offering visual programming and a rich set of widgets for data preprocessing, modeling, and evaluation. The current stable version is 3.40.0, with a release cadence of approximately 2-3 minor versions per year.","status":"active","version":"3.40.0","language":"python","source_language":"en","source_url":"https://github.com/biolab/orange3","tags":["data-mining","machine-learning","visual-programming","gui","orange"],"install":[{"cmd":"pip install orange3","lang":"bash","label":"Standard installation"},{"cmd":"conda install -c conda-forge orange3","lang":"bash","label":"Conda installation (recommended on Windows for Qt bindings)"}],"dependencies":[{"reason":"Core numerical dependency","package":"numpy","optional":false},{"reason":"Scientific computing","package":"scipy","optional":false},{"reason":"Machine learning algorithms","package":"scikit-learn","optional":false},{"reason":"GUI framework (automatically installed on Linux/macOS, may conflict on Windows if preinstalled)","package":"PyQt5","optional":false}],"imports":[{"note":"Direct import is idiomatic; avoid importing the top-level Orange module and then accessing submodules.","wrong":"import Orange; Orange.data.Table","symbol":"Orange.data.Table","correct":"from Orange.data import Table"},{"note":"Submodule imports are clearer and avoid long chained accesses.","wrong":"import Orange.preprocess; p = Orange.preprocess.Normalize()","symbol":"Orange.preprocess","correct":"from Orange.preprocess import Normalize, Continuize, Impute"},{"note":"CrossValidation is a class in orange.evaluation module, not a submodule.","wrong":"import Orange.evaluation.CrossValidation","symbol":"Orange.evaluation","correct":"from Orange.evaluation import CrossValidation, scoring"}],"quickstart":{"code":"from Orange.data import Table\nfrom Orange.preprocess import Normalize\nfrom Orange.classification import RandomForestLearner\nfrom Orange.evaluation import CrossValidation, scoring\n\n# Load dataset (automatically downloads if not present)\ndata = Table('iris')\n\n# Preprocess: normalize features\nnormalizer = Normalize()\ndata_norm = normalizer(data)\n\n# Train a random forest model\nlearner = RandomForestLearner(n_estimators=50, random_state=42)\n\n# Cross-validation\nresults = CrossValidation(data_norm, [learner], k=5)\nprint('CA:', scoring.CA(results)[0])","lang":"python","description":"Loads the Iris dataset, normalizes features, trains a Random Forest, and evaluates with 5-fold cross-validation."},"warnings":[{"fix":"Upgrade Python to 3.11+.","message":"Orange3 requires Python >=3.11 as of version 3.40.0. Python 3.10 or earlier will fail to install.","severity":"breaking","affected_versions":">=3.40.0"},{"fix":"Use: conda install -c conda-forge orange3","message":"On Windows, pip install orange3 may fail due to missing Qt DLLs. Conda install (conda-forge) is strongly recommended.","severity":"gotcha","affected_versions":"all"},{"fix":"Manually download datasets and use local file paths: Table('/path/to/data.tab')","message":"Loading datasets with Table('dataset_name') will automatically download the dataset to ~/Orange/datasets if not present. This can cause silent network access in production environments.","severity":"gotcha","affected_versions":"all"},{"fix":"Replace SimpleRandomForestLearner with RandomForestLearner.","message":"Orange.classification.SimpleRandomForestLearner is deprecated as of 3.33. Use RandomForestLearner (wraps sklearn's RandomForestClassifier).","severity":"deprecated","affected_versions":">=3.33"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Ensure you have orange3 (not orange) installed: pip install orange3 and use 'from Orange.data import Table'.","cause":"Typo or outdated Orange version; Table is in Orange.data since Orange 3.x. In Orange 2.x it was Orange.OrangeTable.","error":"ImportError: cannot import name 'Table' from 'Orange.data'"},{"fix":"Install PyQt5: pip install PyQt5 or use conda: conda install pyqt. Alternatively, set environment variable DISPLAY if using GUI.","cause":"Orange3 GUI requires PyQt5; missing on some headless Linux systems or Python installations without Qt.","error":"ModuleNotFoundError: No module named 'PyQt5'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}