diff --git a/murakami/runner.py b/murakami/runner.py index bcef865..35c23f3 100644 --- a/murakami/runner.py +++ b/murakami/runner.py @@ -5,8 +5,6 @@ from datetime import datetime import logging -from webthing import Thing - from murakami.errors import RunnerError import murakami.utils as utils diff --git a/murakami/server.py b/murakami/server.py index 3f91eff..b628f22 100644 --- a/murakami/server.py +++ b/murakami/server.py @@ -12,10 +12,8 @@ from apscheduler.triggers.base import BaseTrigger from tornado.ioloop import IOLoop from tornado import gen -from webthing import WebThingServer, SingleThing import murakami.defaults as defaults -from murakami.thing import MurakamiThing import murakami.utils as utils _logger = logging.getLogger(__name__) @@ -140,6 +138,9 @@ def _load_runners(self): # Start webthings server if enabled if self._webthings: + from webthing import WebThingServer, SingleThing + from murakami.thing import MurakamiThing + self._server = WebThingServer( SingleThing(MurakamiThing(self._runners.values())), port=self._port, diff --git a/pyproject.toml b/pyproject.toml index fa667bb..2a9a252 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,9 +12,12 @@ murakami = 'murakami.__main__:main' murakami-convert = 'scripts.convert:main' murakami-upload = 'scripts.upload:main' +[tool.poetry.extras] +webthings = ["webthing"] + [tool.poetry.dependencies] python = "^3.6" -webthing = "^0.12.0" +webthing = {version = "^0.12.0", optional = true} configargparse = "^0.14.0" tomlkit = "^0.5.5" apscheduler = "^3.6"