{"library":"orange-widget-base","title":"Orange Widget Base","description":"Base classes for creating Orange Canvas widgets. Provides OWBaseWidget and its derived classes for building interactive data mining components. Current version 4.27.0, requires Python >=3.10. Released as part of the Orange data mining suite.","language":"python","status":"active","last_verified":"Sat May 09","install":{"commands":["pip install orange-widget-base"],"cli":null},"imports":["from orangewidget.widget import OWBaseWidget","from orangewidget import gui","from orangewidget.utils.signals import InputSignal"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from orangewidget.widget import OWBaseWidget, Input, Output\nfrom orangewidget import gui\nfrom orangewidget.settings import Setting\n\nclass MyWidget(OWBaseWidget):\n    name = \"My Widget\"\n    description = \"A custom widget\"\n    icon = \"icons/my.svg\"\n    priority = 10\n\n    class Inputs:\n        data = Input(\"Data\", object, \"set_data\")\n\n    class Outputs:\n        result = Output(\"Result\", object)\n\n    settings = {\"threshold\": Setting(0.5)}\n    want_main_area = False\n\n    def __init__(self):\n        super().__init__()\n        self.threshold = 0.5\n        gui.doubleSpin(self.controlArea, self, \"threshold\", 0, 1, 0.1, label=\"Threshold:\")\n\n    def set_data(self, data):\n        pass\n\nif __name__ == \"__main__\":\n    from orangewidget.utils.widgetpreview import WidgetPreview\n    WidgetPreview(MyWidget).run()","lang":"python","description":"Minimal OWBaseWidget subclass with inputs, outputs, settings, and control area.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}