Ankündigung

Einklappen
Keine Ankündigung bisher.

Supportthread für UZSU Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Supportthread für UZSU Plugin

    Nachdem die Entwicklung der Interpolation und der generelle Umbau erledigt sind, gibt es hier einen neuen, frischen Support Thread.

    Das größte Problem aktuell ist wohl die Installation von SciPy auf dem Raspi.

    Bei neueren SciPy Versionen wird der Build vermutlich scheitern. Es ist dann empfohlen, die aktuellste passende Datei (armv6 = Raspi1, armv7 = Rest) von hier herunterzuladen: https://www.piwheels.org/simple/scipy/
    Anschließend:
    Code:
    pip3 install scipy*.whl
    Außerdem ist es nötig, folgendes Debian Paket zu installieren:
    Code:
    apt-get install libatlas-base-dev
    Es sollte jedenfalls getestet werden, ob alles geklappt hat
    Code:
    python3
    from scipy import interpolate
    Ist ist elementar, etwaige Logiken, die den Inhalt der UZSU Items ersetzen, zu aktualisieren. Siehe auch Doku des Plugins! Außerdem ist es wichtig, die AKTUELLSTE Version des smartVISU Widgets zu verwenden!
    Zuletzt geändert von Onkelandy; 14.09.2019, 11:39.

    #2
    Hallo Zusammen,
    vielleicht komme ich hier weiter...
    Seit den gestrigen Upgrade auf 1.6 habe ich arge Probleme UZSU wieder ans laufen zu bekommen.

    Ich habe den obigen Supportablauf durchgespielt aber leider dabei keinen Erfolg gehabt, auch wenn unter python3 der Befehl "from scipy import interpolate" funktioniert

    Wenn ich die aktuelle Version von scipy (1.3.1) installiere, bricht mir SmarthomeNG sofort ab mit der Nachricht, dass die Version zu neu wäre. 1.2.1 wäre die richtige!
    Also alles wieder deinstalliert via "sudo pip3 uninstall scipy" und mal die 1.2.1 installiert. Funktioniert alles prima kein Fehler zu sehen.

    Beim Aufruf der UZSU in der Smartvisu 2.8 bekomme ich immer Fehler:



    Bildschirmfoto 2019-09-08 um 19.48.56.png



    Die log sieht wie folgt, sehr verwirrend aus:
    Code:
    2019-09-08  19:38:52 WARNING  __main__          --------------------   Init SmartHomeNG 1.6.master (1dcb4fb5)   --------------------
    2019-09-08  19:38:52 WARNING  __main__          Running in Python interpreter 'v3.5.3 final' (pid=650) on linux platform
    2019-09-08  19:39:05 WARNING  lib.item          load_itemdefinitions(): For testing the joined item structs are saved to /usr/local/smarthome/etc/structs_joined.yaml
    2019-09-08  19:39:34 WARNING  logics.gardena_status Mäher: Neuer Status : Geparkt bis Timer
    2019-09-08  19:39:46 WARNING  plugins.backend   get_requirements_info: get_packagelist = [{'pypi_doc_url': 'https://pypi.org/pypi/cherrypy', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '18.2.0', 'is_required_for_plugins': False, 'name': 'cherrypy', 'vers_req_msg': '', 'vers_req_min': '8.1.2', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '18.1.0', 'sort': '1cherrypy', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ephem', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.7.7.0', 'is_required_for_plugins': False, 'name': 'ephem', 'vers_req_msg': '', 'vers_req_min': '3.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '3.7.6.0', 'sort': '1ephem', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/jinja2', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.10.1', 'is_required_for_plugins': False, 'name': 'jinja2', 'vers_req_msg': '', 'vers_req_min': '2.9', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '2.10', 'sort': '1jinja2', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/numpy', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.17.2', 'is_required_for_plugins': False, 'name': 'numpy', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '1.17.2', 'sort': '1numpy', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/paho-mqtt', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.4.0', 'is_required_for_plugins': False, 'name': 'paho-mqtt', 'vers_req_msg': '', 'vers_req_min': '1.2.2', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '1.4.0', 'sort': '1paho-mqtt', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/psutil', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '5.6.3', 'is_required_for_plugins': False, 'name': 'psutil', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '5.6.1', 'sort': '1psutil', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyjwt', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.7.1', 'is_required_for_plugins': False, 'name': 'pyjwt', 'vers_req_msg': '', 'vers_req_min': '1.6.4', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '1.7.1', 'sort': '1pyjwt', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/python-dateutil', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.8.0', 'is_required_for_plugins': False, 'name': 'python-dateutil', 'vers_req_msg': '', 'vers_req_min': '2.5.3', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '2.8.0', 'sort': '1python-dateutil', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/requests', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.22.0', 'is_required_for_plugins': False, 'name': 'requests', 'vers_req_msg': '', 'vers_req_min': '2.20.0', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '2.22.0', 'sort': '1requests', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ruamel.yaml', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.16.5', 'is_required_for_plugins': False, 'name': 'ruamel.yaml', 'vers_req_msg': '', 'vers_req_min': '0.13.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '0.15.0', 'sort': '1ruamel.yaml', 'vers_req_max': '0.15.74', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/scipy', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.3.1', 'is_required_for_plugins': False, 'name': 'scipy', 'vers_req_msg': '', 'vers_req_min': '1.1.0', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '1.2.1', 'sort': '1scipy', 'vers_req_max': '1.2.1', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'beautifulsoup4', 'vers_req_msg': '', 'vers_req_min': '4.1.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4beautifulsoup4', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'betamax', 'vers_req_msg': '', 'vers_req_min': '0.5.1', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4betamax', 'vers_req_max': '0.5.1', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'coveralls', 'vers_req_msg': '', 'vers_req_min': '1.1', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4coveralls', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'flake8', 'vers_req_msg': '', 'vers_req_min': '2.5.1', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4flake8', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'pydocstyle', 'vers_req_msg': '', 'vers_req_min': '1.0.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pydocstyle', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'pylint', 'vers_req_msg': '', 'vers_req_min': '1.5.3', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pylint', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'pytest', 'vers_req_msg': '', 'vers_req_min': '3.6.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '5.1.1', 'sort': '4pytest', 'vers_req_max': '3.6.0', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'pytest-cov', 'vers_req_msg': '', 'vers_req_min': '2.2.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pytest-cov', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'pytest-timeout', 'vers_req_msg': '', 'vers_req_min': '1.0.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pytest-timeout', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '5', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'recommonmark', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '5recommonmark', 'vers_req_max': '*', 'is_required_for_docbuild': True, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '5', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'sphinx', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '5sphinx', 'vers_req_max': '*', 'is_required_for_docbuild': True, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '5', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'sphinx-rtd-theme', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '5sphinx-rtd-theme', 'vers_req_max': '*', 'is_required_for_docbuild': True, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'adafruit-gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.0.4', 'sort': '6adafruit-gpio', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'adafruit-pureio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.2.3', 'sort': '6adafruit-pureio', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'adafruit-ssd1306', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.6.2', 'sort': '6adafruit-ssd1306', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/atomicwrites', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.3.0', 'is_required_for_plugins': False, 'name': 'atomicwrites', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.3.0', 'sort': '6atomicwrites', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'attrs', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '19.1.0', 'sort': '6attrs', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/backports.functools-lru-cache', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.5', 'is_required_for_plugins': False, 'name': 'backports.functools-lru-cache', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.5', 'sort': '6backports.functools-lru-cache', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/certifi', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2019.6.16', 'is_required_for_plugins': False, 'name': 'certifi', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2019.6.16', 'sort': '6certifi', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/chardet', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.0.4', 'is_required_for_plugins': False, 'name': 'chardet', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '3.0.4', 'sort': '6chardet', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'cheroot', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '6.5.4', 'sort': '6cheroot', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/cryptography', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.7', 'is_required_for_plugins': False, 'name': 'cryptography', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.7.1', 'sort': '6cryptography', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'decorator', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '4.0.11', 'sort': '6decorator', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'idna', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2.8', 'sort': '6idna', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/importlib-metadata', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.20', 'is_required_for_plugins': False, 'name': 'importlib-metadata', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.19', 'sort': '6importlib-metadata', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'jaraco.functools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2.0', 'sort': '6jaraco.functools', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'keyring', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '10.1', 'sort': '6keyring', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'keyrings.alt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.3', 'sort': '6keyrings.alt', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'markupsafe', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.1.1', 'sort': '6markupsafe', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/mock', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.0.5', 'is_required_for_plugins': False, 'name': 'mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '3.0.5', 'sort': '6mock', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/more-itertools', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '7.2.0', 'is_required_for_plugins': False, 'name': 'more-itertools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '6.0.0', 'sort': '6more-itertools', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'packaging', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '19.1', 'sort': '6packaging', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pathlib2', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.3.4', 'is_required_for_plugins': False, 'name': 'pathlib2', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.3.4', 'sort': '6pathlib2', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pillow', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '6.1.0', 'is_required_for_plugins': False, 'name': 'pillow', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '4.0.0', 'sort': '6pillow', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pip', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '19.2.3', 'is_required_for_plugins': False, 'name': 'pip', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '19.2.3', 'sort': '6pip', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pluggy', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.12.0', 'is_required_for_plugins': False, 'name': 'pluggy', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.12.0', 'sort': '6pluggy', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/portend', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.5', 'is_required_for_plugins': False, 'name': 'portend', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2.3', 'sort': '6portend', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'py', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.8.0', 'sort': '6py', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/py-smart-gardena', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.5.2', 'is_required_for_plugins': False, 'name': 'py-smart-gardena', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.5.2', 'sort': '6py-smart-gardena', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pyasn1', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.4.7', 'is_required_for_plugins': False, 'name': 'pyasn1', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.1.9', 'sort': '6pyasn1', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pycrypto', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.6.1', 'is_required_for_plugins': False, 'name': 'pycrypto', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.6.1', 'sort': '6pycrypto', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pygobject', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.32.2', 'is_required_for_plugins': False, 'name': 'pygobject', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '3.22.0', 'sort': '6pygobject', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pyparsing', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.4.2', 'is_required_for_plugins': False, 'name': 'pyparsing', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.4.2', 'sort': '6pyparsing', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'python-apt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.1.0b5', 'sort': '6python-apt', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytz', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2019.2', 'is_required_for_plugins': False, 'name': 'pytz', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2018.9', 'sort': '6pytz', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pyxdg', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.26', 'is_required_for_plugins': False, 'name': 'pyxdg', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.25', 'sort': '6pyxdg', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'requests-mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.6.0', 'sort': '6requests-mock', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'rpi.gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.6.5', 'sort': '6rpi.gpio', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/secretstorage', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.1.1', 'is_required_for_plugins': False, 'name': 'secretstorage', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2.3.1', 'sort': '6secretstorage', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'setuptools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '33.1.1', 'sort': '6setuptools', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/six', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.12.0', 'is_required_for_plugins': False, 'name': 'six', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.12.0', 'sort': '6six', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'spidev', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '3.4', 'sort': '6spidev', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ssh-import-id', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '5.6', 'is_required_for_plugins': False, 'name': 'ssh-import-id', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '5.6', 'sort': '6ssh-import-id', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/tempora', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.14.1', 'is_required_for_plugins': False, 'name': 'tempora', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.14', 'sort': '6tempora', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/urllib3', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.25.3', 'is_required_for_plugins': False, 'name': 'urllib3', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.25.3', 'sort': '6urllib3', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/wcwidth', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.1.7', 'is_required_for_plugins': False, 'name': 'wcwidth', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.1.7', 'sort': '6wcwidth', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/wheel', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.33.6', 'is_required_for_plugins': False, 'name': 'wheel', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.29.0', 'sort': '6wheel', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': '', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '', 'is_required_for_plugins': False, 'name': 'zc.lockfile', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.4', 'sort': '6zc.lockfile', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/zipp', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.6.0', 'is_required_for_plugins': False, 'name': 'zipp', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.6.0', 'sort': '6zipp', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}]
    2019-09-08  19:39:51 WARNING  plugins.backend   get_requirements_info: get_packagelist = [{'pypi_doc_url': 'https://pypi.org/pypi/cherrypy', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '18.2.0', 'is_required_for_plugins': False, 'name': 'cherrypy', 'vers_req_msg': '', 'vers_req_min': '8.1.2', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '18.1.0', 'sort': '1cherrypy', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ephem', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.7.7.0', 'is_required_for_plugins': False, 'name': 'ephem', 'vers_req_msg': '', 'vers_req_min': '3.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '3.7.6.0', 'sort': '1ephem', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/jinja2', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.10.1', 'is_required_for_plugins': False, 'name': 'jinja2', 'vers_req_msg': '', 'vers_req_min': '2.9', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '2.10', 'sort': '1jinja2', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/numpy', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.17.2', 'is_required_for_plugins': False, 'name': 'numpy', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '1.17.2', 'sort': '1numpy', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/paho-mqtt', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.4.0', 'is_required_for_plugins': False, 'name': 'paho-mqtt', 'vers_req_msg': '', 'vers_req_min': '1.2.2', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '1.4.0', 'sort': '1paho-mqtt', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/psutil', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '5.6.3', 'is_required_for_plugins': False, 'name': 'psutil', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '5.6.1', 'sort': '1psutil', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyjwt', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.7.1', 'is_required_for_plugins': False, 'name': 'pyjwt', 'vers_req_msg': '', 'vers_req_min': '1.6.4', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '1.7.1', 'sort': '1pyjwt', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/python-dateutil', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.8.0', 'is_required_for_plugins': False, 'name': 'python-dateutil', 'vers_req_msg': '', 'vers_req_min': '2.5.3', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '2.8.0', 'sort': '1python-dateutil', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/requests', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.22.0', 'is_required_for_plugins': False, 'name': 'requests', 'vers_req_msg': '', 'vers_req_min': '2.20.0', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': True, 'vers_installed': '2.22.0', 'sort': '1requests', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ruamel.yaml', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.16.5', 'is_required_for_plugins': False, 'name': 'ruamel.yaml', 'vers_req_msg': '', 'vers_req_min': '0.13.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '0.15.0', 'sort': '1ruamel.yaml', 'vers_req_max': '0.15.74', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/scipy', 'required_group': '1', 'vers_ok': True, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.3.1', 'is_required_for_plugins': False, 'name': 'scipy', 'vers_req_msg': '', 'vers_req_min': '1.1.0', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': True, 'vers_installed': '1.2.1', 'sort': '1scipy', 'vers_req_max': '1.2.1', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/beautifulsoup4', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '4.8.0', 'is_required_for_plugins': False, 'name': 'beautifulsoup4', 'vers_req_msg': '', 'vers_req_min': '4.1.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4beautifulsoup4', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/betamax', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.8.1', 'is_required_for_plugins': False, 'name': 'betamax', 'vers_req_msg': '', 'vers_req_min': '0.5.1', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4betamax', 'vers_req_max': '0.5.1', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/coveralls', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.8.2', 'is_required_for_plugins': False, 'name': 'coveralls', 'vers_req_msg': '', 'vers_req_min': '1.1', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4coveralls', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/flake8', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.7.8', 'is_required_for_plugins': False, 'name': 'flake8', 'vers_req_msg': '', 'vers_req_min': '2.5.1', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4flake8', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pydocstyle', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '4.0.1', 'is_required_for_plugins': False, 'name': 'pydocstyle', 'vers_req_msg': '', 'vers_req_min': '1.0.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pydocstyle', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pylint', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.3.1', 'is_required_for_plugins': False, 'name': 'pylint', 'vers_req_msg': '', 'vers_req_min': '1.5.3', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pylint', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytest', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '5.1.2', 'is_required_for_plugins': False, 'name': 'pytest', 'vers_req_msg': '', 'vers_req_min': '3.6.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '5.1.1', 'sort': '4pytest', 'vers_req_max': '3.6.0', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pytest-cov', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.7.1', 'is_required_for_plugins': False, 'name': 'pytest-cov', 'vers_req_msg': '', 'vers_req_min': '2.2.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pytest-cov', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytest-timeout', 'required_group': '4', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.3.3', 'is_required_for_plugins': False, 'name': 'pytest-timeout', 'vers_req_msg': '', 'vers_req_min': '1.0.0', 'is_required_for_testsuite': True, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '4pytest-timeout', 'vers_req_max': '*', 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/recommonmark', 'required_group': '5', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.6.0', 'is_required_for_plugins': False, 'name': 'recommonmark', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '5recommonmark', 'vers_req_max': '*', 'is_required_for_docbuild': True, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/sphinx', 'required_group': '5', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.2.0', 'is_required_for_plugins': False, 'name': 'sphinx', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '5sphinx', 'vers_req_max': '*', 'is_required_for_docbuild': True, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/sphinx-rtd-theme', 'required_group': '5', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.4.3', 'is_required_for_plugins': False, 'name': 'sphinx-rtd-theme', 'vers_req_msg': '', 'vers_req_min': '*', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '-', 'sort': '5sphinx-rtd-theme', 'vers_req_max': '*', 'is_required_for_docbuild': True, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/adafruit-gpio', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.0.3', 'is_required_for_plugins': False, 'name': 'adafruit-gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.0.4', 'sort': '6adafruit-gpio', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/adafruit-pureio', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.2.3', 'is_required_for_plugins': False, 'name': 'adafruit-pureio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.2.3', 'sort': '6adafruit-pureio', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/adafruit-ssd1306', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.6.2', 'is_required_for_plugins': False, 'name': 'adafruit-ssd1306', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.6.2', 'sort': '6adafruit-ssd1306', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/atomicwrites', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.3.0', 'is_required_for_plugins': False, 'name': 'atomicwrites', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.3.0', 'sort': '6atomicwrites', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/attrs', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '19.1.0', 'is_required_for_plugins': False, 'name': 'attrs', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '19.1.0', 'sort': '6attrs', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/backports.functools-lru-cache', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.5', 'is_required_for_plugins': False, 'name': 'backports.functools-lru-cache', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.5', 'sort': '6backports.functools-lru-cache', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/certifi', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2019.6.16', 'is_required_for_plugins': False, 'name': 'certifi', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2019.6.16', 'sort': '6certifi', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/chardet', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.0.4', 'is_required_for_plugins': False, 'name': 'chardet', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '3.0.4', 'sort': '6chardet', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/cheroot', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '6.5.8', 'is_required_for_plugins': False, 'name': 'cheroot', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '6.5.4', 'sort': '6cheroot', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/cryptography', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.7', 'is_required_for_plugins': False, 'name': 'cryptography', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.7.1', 'sort': '6cryptography', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/decorator', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '4.4.0', 'is_required_for_plugins': False, 'name': 'decorator', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '4.0.11', 'sort': '6decorator', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/idna', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.8', 'is_required_for_plugins': False, 'name': 'idna', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.8', 'sort': '6idna', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/importlib-metadata', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.20', 'is_required_for_plugins': False, 'name': 'importlib-metadata', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.19', 'sort': '6importlib-metadata', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/jaraco.functools', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.0', 'is_required_for_plugins': False, 'name': 'jaraco.functools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.0', 'sort': '6jaraco.functools', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/keyring', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '19.1.0', 'is_required_for_plugins': False, 'name': 'keyring', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '10.1', 'sort': '6keyring', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/keyrings.alt', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.1.1', 'is_required_for_plugins': False, 'name': 'keyrings.alt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.3', 'sort': '6keyrings.alt', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/markupsafe', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.1.1', 'is_required_for_plugins': False, 'name': 'markupsafe', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.1.1', 'sort': '6markupsafe', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/mock', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.0.5', 'is_required_for_plugins': False, 'name': 'mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '3.0.5', 'sort': '6mock', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/more-itertools', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '7.2.0', 'is_required_for_plugins': False, 'name': 'more-itertools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '6.0.0', 'sort': '6more-itertools', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/packaging', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '19.1', 'is_required_for_plugins': False, 'name': 'packaging', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '19.1', 'sort': '6packaging', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pathlib2', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.3.4', 'is_required_for_plugins': False, 'name': 'pathlib2', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.3.4', 'sort': '6pathlib2', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pillow', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '6.1.0', 'is_required_for_plugins': False, 'name': 'pillow', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '4.0.0', 'sort': '6pillow', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pip', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '19.2.3', 'is_required_for_plugins': False, 'name': 'pip', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '19.2.3', 'sort': '6pip', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pluggy', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.12.0', 'is_required_for_plugins': False, 'name': 'pluggy', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.12.0', 'sort': '6pluggy', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/portend', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.5', 'is_required_for_plugins': False, 'name': 'portend', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2.3', 'sort': '6portend', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/py', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.8.0', 'is_required_for_plugins': False, 'name': 'py', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.8.0', 'sort': '6py', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/py-smart-gardena', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.5.2', 'is_required_for_plugins': False, 'name': 'py-smart-gardena', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.5.2', 'sort': '6py-smart-gardena', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pyasn1', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.4.7', 'is_required_for_plugins': False, 'name': 'pyasn1', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.1.9', 'sort': '6pyasn1', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pycrypto', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.6.1', 'is_required_for_plugins': False, 'name': 'pycrypto', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.6.1', 'sort': '6pycrypto', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pygobject', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.32.2', 'is_required_for_plugins': False, 'name': 'pygobject', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '3.22.0', 'sort': '6pygobject', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pyparsing', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.4.2', 'is_required_for_plugins': False, 'name': 'pyparsing', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '2.4.2', 'sort': '6pyparsing', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/python-apt', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.7.8', 'is_required_for_plugins': False, 'name': 'python-apt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.1.0b5', 'sort': '6python-apt', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pytz', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2019.2', 'is_required_for_plugins': False, 'name': 'pytz', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2018.9', 'sort': '6pytz', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/pyxdg', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.26', 'is_required_for_plugins': False, 'name': 'pyxdg', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.25', 'sort': '6pyxdg', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/requests-mock', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.7.0', 'is_required_for_plugins': False, 'name': 'requests-mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.6.0', 'sort': '6requests-mock', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/rpi.gpio', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.7.0', 'is_required_for_plugins': False, 'name': 'rpi.gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.6.5', 'sort': '6rpi.gpio', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/secretstorage', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.1.1', 'is_required_for_plugins': False, 'name': 'secretstorage', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '2.3.1', 'sort': '6secretstorage', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/setuptools', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '41.2.0', 'is_required_for_plugins': False, 'name': 'setuptools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '33.1.1', 'sort': '6setuptools', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/six', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.12.0', 'is_required_for_plugins': False, 'name': 'six', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.12.0', 'sort': '6six', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/spidev', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '3.4', 'is_required_for_plugins': False, 'name': 'spidev', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '3.4', 'sort': '6spidev', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/ssh-import-id', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '5.6', 'is_required_for_plugins': False, 'name': 'ssh-import-id', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '5.6', 'sort': '6ssh-import-id', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/tempora', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.14.1', 'is_required_for_plugins': False, 'name': 'tempora', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.14', 'sort': '6tempora', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/urllib3', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '1.25.3', 'is_required_for_plugins': False, 'name': 'urllib3', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '1.25.3', 'sort': '6urllib3', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/wcwidth', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.1.7', 'is_required_for_plugins': False, 'name': 'wcwidth', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.1.7', 'sort': '6wcwidth', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/wheel', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.33.6', 'is_required_for_plugins': False, 'name': 'wheel', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '0.29.0', 'sort': '6wheel', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/zc.lockfile', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '2.0', 'is_required_for_plugins': False, 'name': 'zc.lockfile', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'is_required': False, 'vers_installed': '1.4', 'sort': '6zc.lockfile', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/zipp', 'required_group': '6', 'vers_ok': False, 'pypi_version_not_available_msg': '', 'vers_req_source': '', 'pypi_version': '0.6.0', 'is_required_for_plugins': False, 'name': 'zipp', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'is_required': False, 'vers_installed': '0.6.0', 'sort': '6zipp', 'vers_req_max': '', 'is_required_for_docbuild': False, 'pypi_version_ok': False}]
    2019-09-08  19:39:56 WARNING  plugins.backend   req_dict: {'requests': '>=2.20.0', 'cherrypy': '>=8.1.2', 'python-dateutil': '>=2.5.3<br/>>=2.5.3 (backend)', 'jinja2': '>=2.9', 'ephem': '>=3.7', 'paho-mqtt': '>=1.2.2 (mqtt)', 'numpy': '==* (uzsu)', 'pyjwt': '>=1.6.4', 'ruamel.yaml': ">=0.13.7,<=0.15.74;python_version<'3.7' | >0.15.0,<=0.15.74;python_version>='3.7'", 'scipy': '>=1.1.0,<=1.2.1 (uzsu)', 'psutil': '==*'}
    2019-09-08  19:39:56 WARNING  plugins.backend   pkgname_list: ['zipp', 'zc.lockfile', 'wcwidth', 'urllib3', 'tempora', 'scipy', 'ruamel.yaml', 'requests', 'requests-mock', 'pytz', 'python-dateutil', 'pytest', 'pyparsing', 'pyjwt', 'py', 'py-smart-gardena', 'psutil', 'portend', 'pluggy', 'pip', 'pathlib2', 'paho-mqtt', 'packaging', 'numpy', 'more-itertools', 'mock', 'markupsafe', 'jinja2', 'jaraco.functools', 'importlib-metadata', 'idna', 'ephem', 'cherrypy', 'cheroot', 'chardet', 'certifi', 'backports.functools-lru-cache', 'attrs', 'atomicwrites', 'adafruit-ssd1306', 'adafruit-gpio', 'spidev', 'adafruit-pureio', 'wheel', 'ssh-import-id', 'six', 'setuptools', 'secretstorage', 'rpi.gpio', 'pyxdg', 'python-apt', 'pygobject', 'pycrypto', 'pyasn1', 'pillow', 'keyrings.alt', 'keyring', 'decorator', 'cryptography']
    2019-09-08  19:39:56 WARNING  plugins.backend   package_list: [{'pypi_doc_url': 'https://pypi.org/pypi/zipp', 'vers_ok': False, 'sort': '4zipp', 'vers_req_source': '', 'pypi_version': '0.6.0', 'vers_req_max': '', 'name': 'zipp', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.6.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/zc.lockfile', 'vers_ok': False, 'sort': '4zc.lockfile', 'vers_req_source': '', 'pypi_version': '2.0', 'vers_req_max': '', 'name': 'zc.lockfile', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/wcwidth', 'vers_ok': False, 'sort': '4wcwidth', 'vers_req_source': '', 'pypi_version': '0.1.7', 'vers_req_max': '', 'name': 'wcwidth', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.1.7', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/urllib3', 'vers_ok': False, 'sort': '4urllib3', 'vers_req_source': '', 'pypi_version': '1.25.3', 'vers_req_max': '', 'name': 'urllib3', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.25.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/tempora', 'vers_ok': False, 'sort': '4tempora', 'vers_req_source': '', 'pypi_version': '1.14.1', 'vers_req_max': '', 'name': 'tempora', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.14', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/scipy', 'vers_ok': True, 'sort': '1scipy', 'vers_req_source': '>=1.1.0,<=1.2.1 (uzsu)', 'pypi_version': '1.3.1', 'vers_req_max': '1.2.1', 'name': 'scipy', 'vers_req_msg': '', 'vers_req_min': '1.1.0', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.2.1', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/ruamel.yaml', 'vers_ok': True, 'sort': '1ruamel.yaml', 'vers_req_source': ">=0.13.7,<=0.15.74;python_version<'3.7' | >0.15.0,<=0.15.74;python_version>='3.7'", 'pypi_version': '0.16.5', 'vers_req_max': '0.15.74', 'name': 'ruamel.yaml', 'vers_req_msg': '', 'vers_req_min': '0.13.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.15.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/requests', 'vers_ok': True, 'sort': '1requests', 'vers_req_source': '>=2.20.0', 'pypi_version': '2.22.0', 'vers_req_max': '', 'name': 'requests', 'vers_req_msg': '', 'vers_req_min': '2.20.0', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.22.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/requests-mock', 'vers_ok': False, 'sort': '4requests-mock', 'vers_req_source': '', 'pypi_version': '1.7.0', 'vers_req_max': '', 'name': 'requests-mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.6.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytz', 'vers_ok': False, 'sort': '4pytz', 'vers_req_source': '', 'pypi_version': '2019.2', 'vers_req_max': '', 'name': 'pytz', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2018.9', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/python-dateutil', 'vers_ok': True, 'sort': '1python-dateutil', 'vers_req_source': '>=2.5.3<br/>>=2.5.3 (backend)', 'pypi_version': '2.8.0', 'vers_req_max': '', 'name': 'python-dateutil', 'vers_req_msg': '', 'vers_req_min': '2.5.3', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.8.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytest', 'vers_ok': False, 'sort': '4pytest', 'vers_req_source': '', 'pypi_version': '5.1.2', 'vers_req_max': '', 'name': 'pytest', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '5.1.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyparsing', 'vers_ok': False, 'sort': '4pyparsing', 'vers_req_source': '', 'pypi_version': '2.4.2', 'vers_req_max': '', 'name': 'pyparsing', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.4.2', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/PyJWT', 'vers_ok': True, 'sort': '1pyjwt', 'vers_req_source': '>=1.6.4', 'pypi_version': '1.7.1', 'vers_req_max': '', 'name': 'pyjwt', 'vers_req_msg': '', 'vers_req_min': '1.6.4', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.7.1', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/py', 'vers_ok': False, 'sort': '4py', 'vers_req_source': '', 'pypi_version': '1.8.0', 'vers_req_max': '', 'name': 'py', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.8.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/py-smart-gardena', 'vers_ok': False, 'sort': '4py-smart-gardena', 'vers_req_source': '', 'pypi_version': '0.5.2', 'vers_req_max': '', 'name': 'py-smart-gardena', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.5.2', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/psutil', 'vers_ok': True, 'sort': '1psutil', 'vers_req_source': '==*', 'pypi_version': '5.6.3', 'vers_req_max': '', 'name': 'psutil', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '5.6.1', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/portend', 'vers_ok': False, 'sort': '4portend', 'vers_req_source': '', 'pypi_version': '2.5', 'vers_req_max': '', 'name': 'portend', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pluggy', 'vers_ok': False, 'sort': '4pluggy', 'vers_req_source': '', 'pypi_version': '0.12.0', 'vers_req_max': '', 'name': 'pluggy', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.12.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pip', 'vers_ok': False, 'sort': '4pip', 'vers_req_source': '', 'pypi_version': '19.2.3', 'vers_req_max': '', 'name': 'pip', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '19.2.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pathlib2', 'vers_ok': False, 'sort': '4pathlib2', 'vers_req_source': '', 'pypi_version': '2.3.4', 'vers_req_max': '', 'name': 'pathlib2', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.3.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/paho-mqtt', 'vers_ok': True, 'sort': '1paho-mqtt', 'vers_req_source': '>=1.2.2 (mqtt)', 'pypi_version': '1.4.0', 'vers_req_max': '', 'name': 'paho-mqtt', 'vers_req_msg': '', 'vers_req_min': '1.2.2', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.4.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/packaging', 'vers_ok': False, 'sort': '4packaging', 'vers_req_source': '', 'pypi_version': '19.1', 'vers_req_max': '', 'name': 'packaging', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '19.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/numpy', 'vers_ok': True, 'sort': '1numpy', 'vers_req_source': '==* (uzsu)', 'pypi_version': '1.17.2', 'vers_req_max': '', 'name': 'numpy', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.17.2', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/more-itertools', 'vers_ok': False, 'sort': '4more-itertools', 'vers_req_source': '', 'pypi_version': '7.2.0', 'vers_req_max': '', 'name': 'more-itertools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '6.0.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/mock', 'vers_ok': False, 'sort': '4mock', 'vers_req_source': '', 'pypi_version': '3.0.5', 'vers_req_max': '', 'name': 'mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '3.0.5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/MarkupSafe', 'vers_ok': False, 'sort': '4markupsafe', 'vers_req_source': '', 'pypi_version': '1.1.1', 'vers_req_max': '', 'name': 'markupsafe', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.1.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Jinja2', 'vers_ok': True, 'sort': '1jinja2', 'vers_req_source': '>=2.9', 'pypi_version': '2.10.1', 'vers_req_max': '', 'name': 'jinja2', 'vers_req_msg': '', 'vers_req_min': '2.9', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2.10', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/jaraco.functools', 'vers_ok': False, 'sort': '4jaraco.functools', 'vers_req_source': '', 'pypi_version': '2.0', 'vers_req_max': '', 'name': 'jaraco.functools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/importlib-metadata', 'vers_ok': False, 'sort': '4importlib-metadata', 'vers_req_source': '', 'pypi_version': '0.20', 'vers_req_max': '', 'name': 'importlib-metadata', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.19', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/idna', 'vers_ok': False, 'sort': '4idna', 'vers_req_source': '', 'pypi_version': '2.8', 'vers_req_max': '', 'name': 'idna', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.8', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ephem', 'vers_ok': True, 'sort': '1ephem', 'vers_req_source': '>=3.7', 'pypi_version': '3.7.7.0', 'vers_req_max': '', 'name': 'ephem', 'vers_req_msg': '', 'vers_req_min': '3.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '3.7.6.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/CherryPy', 'vers_ok': True, 'sort': '1cherrypy', 'vers_req_source': '>=8.1.2', 'pypi_version': '18.2.0', 'vers_req_max': '', 'name': 'cherrypy', 'vers_req_msg': '', 'vers_req_min': '8.1.2', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '18.1.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/cheroot', 'vers_ok': False, 'sort': '4cheroot', 'vers_req_source': '', 'pypi_version': '6.5.8', 'vers_req_max': '', 'name': 'cheroot', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '6.5.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/chardet', 'vers_ok': False, 'sort': '4chardet', 'vers_req_source': '', 'pypi_version': '3.0.4', 'vers_req_max': '', 'name': 'chardet', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '3.0.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/certifi', 'vers_ok': False, 'sort': '4certifi', 'vers_req_source': '', 'pypi_version': '2019.6.16', 'vers_req_max': '', 'name': 'certifi', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2019.6.16', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/backports.functools-lru-cache', 'vers_ok': False, 'sort': '4backports.functools-lru-cache', 'vers_req_source': '', 'pypi_version': '1.5', 'vers_req_max': '', 'name': 'backports.functools-lru-cache', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/attrs', 'vers_ok': False, 'sort': '4attrs', 'vers_req_source': '', 'pypi_version': '19.1.0', 'vers_req_max': '', 'name': 'attrs', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '19.1.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/atomicwrites', 'vers_ok': False, 'sort': '4atomicwrites', 'vers_req_source': '', 'pypi_version': '1.3.0', 'vers_req_max': '', 'name': 'atomicwrites', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.3.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Adafruit-SSD1306', 'vers_ok': False, 'sort': '4adafruit-ssd1306', 'vers_req_source': '', 'pypi_version': '1.6.2', 'vers_req_max': '', 'name': 'adafruit-ssd1306', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.6.2', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Adafruit-GPIO', 'vers_ok': False, 'sort': '4adafruit-gpio', 'vers_req_source': '', 'pypi_version': '1.0.3', 'vers_req_max': '', 'name': 'adafruit-gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.0.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/spidev', 'vers_ok': False, 'sort': '4spidev', 'vers_req_source': '', 'pypi_version': '3.4', 'vers_req_max': '', 'name': 'spidev', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '3.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Adafruit-PureIO', 'vers_ok': False, 'sort': '4adafruit-pureio', 'vers_req_source': '', 'pypi_version': '0.2.3', 'vers_req_max': '', 'name': 'adafruit-pureio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.2.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/wheel', 'vers_ok': False, 'sort': '4wheel', 'vers_req_source': '', 'pypi_version': '0.33.6', 'vers_req_max': '', 'name': 'wheel', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.29.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ssh-import-id', 'vers_ok': False, 'sort': '4ssh-import-id', 'vers_req_source': '', 'pypi_version': '5.6', 'vers_req_max': '', 'name': 'ssh-import-id', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '5.6', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/six', 'vers_ok': False, 'sort': '4six', 'vers_req_source': '', 'pypi_version': '1.12.0', 'vers_req_max': '', 'name': 'six', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.12.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/setuptools', 'vers_ok': False, 'sort': '4setuptools', 'vers_req_source': '', 'pypi_version': '41.2.0', 'vers_req_max': '', 'name': 'setuptools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '33.1.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/SecretStorage', 'vers_ok': False, 'sort': '4secretstorage', 'vers_req_source': '', 'pypi_version': '3.1.1', 'vers_req_max': '', 'name': 'secretstorage', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2.3.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/RPi.GPIO', 'vers_ok': False, 'sort': '4rpi.gpio', 'vers_req_source': '', 'pypi_version': '0.7.0', 'vers_req_max': '', 'name': 'rpi.gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.6.5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyxdg', 'vers_ok': False, 'sort': '4pyxdg', 'vers_req_source': '', 'pypi_version': '0.26', 'vers_req_max': '', 'name': 'pyxdg', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.25', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/python-apt', 'vers_ok': False, 'sort': '4python-apt', 'vers_req_source': '', 'pypi_version': '0.7.8', 'vers_req_max': '', 'name': 'python-apt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.1.0b5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pygobject', 'vers_ok': False, 'sort': '4pygobject', 'vers_req_source': '', 'pypi_version': '3.32.2', 'vers_req_max': '', 'name': 'pygobject', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '3.22.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pycrypto', 'vers_ok': False, 'sort': '4pycrypto', 'vers_req_source': '', 'pypi_version': '2.6.1', 'vers_req_max': '', 'name': 'pycrypto', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.6.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyasn1', 'vers_ok': False, 'sort': '4pyasn1', 'vers_req_source': '', 'pypi_version': '0.4.7', 'vers_req_max': '', 'name': 'pyasn1', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.1.9', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Pillow', 'vers_ok': False, 'sort': '4pillow', 'vers_req_source': '', 'pypi_version': '6.1.0', 'vers_req_max': '', 'name': 'pillow', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '4.0.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/keyrings.alt', 'vers_ok': False, 'sort': '4keyrings.alt', 'vers_req_source': '', 'pypi_version': '3.1.1', 'vers_req_max': '', 'name': 'keyrings.alt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/keyring', 'vers_ok': False, 'sort': '4keyring', 'vers_req_source': '', 'pypi_version': '19.1.0', 'vers_req_max': '', 'name': 'keyring', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '10.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/decorator', 'vers_ok': False, 'sort': '4decorator', 'vers_req_source': '', 'pypi_version': '4.4.0', 'vers_req_max': '', 'name': 'decorator', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '4.0.11', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/cryptography', 'vers_ok': False, 'sort': '4cryptography', 'vers_req_source': '', 'pypi_version': '2.7', 'vers_req_max': '', 'name': 'cryptography', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.7.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}]
    2019-09-08  19:40:01 WARNING  plugins.backend   req_dict: {'requests': '>=2.20.0', 'cherrypy': '>=8.1.2', 'python-dateutil': '>=2.5.3<br/>>=2.5.3 (backend)', 'jinja2': '>=2.9', 'ephem': '>=3.7', 'paho-mqtt': '>=1.2.2<br/>>=1.2.2 (mqtt)', 'ruamel.yaml': ">=0.13.7,<=0.15.74;python_version<'3.7' | >0.15.0,<=0.15.74;python_version>='3.7'", 'pyjwt': '>=1.6.4', 'numpy': '==*<br/>==* (uzsu)', 'scipy': '>=1.1.0,<=1.2.1<br/>>=1.1.0,<=1.2.1 (uzsu)', 'psutil': '==*'}
    2019-09-08  19:40:01 WARNING  plugins.backend   pkgname_list: ['zipp', 'zc.lockfile', 'wcwidth', 'urllib3', 'tempora', 'scipy', 'ruamel.yaml', 'requests', 'requests-mock', 'pytz', 'python-dateutil', 'pytest', 'pyparsing', 'pyjwt', 'py', 'py-smart-gardena', 'psutil', 'portend', 'pluggy', 'pip', 'pathlib2', 'paho-mqtt', 'packaging', 'numpy', 'more-itertools', 'mock', 'markupsafe', 'jinja2', 'jaraco.functools', 'importlib-metadata', 'idna', 'ephem', 'cherrypy', 'cheroot', 'chardet', 'certifi', 'backports.functools-lru-cache', 'attrs', 'atomicwrites', 'adafruit-ssd1306', 'adafruit-gpio', 'spidev', 'adafruit-pureio', 'wheel', 'ssh-import-id', 'six', 'setuptools', 'secretstorage', 'rpi.gpio', 'pyxdg', 'python-apt', 'pygobject', 'pycrypto', 'pyasn1', 'pillow', 'keyrings.alt', 'keyring', 'decorator', 'cryptography']
    2019-09-08  19:40:01 WARNING  plugins.backend   package_list: [{'pypi_doc_url': 'https://pypi.org/pypi/zipp', 'vers_ok': False, 'sort': '4zipp', 'vers_req_source': '', 'pypi_version': '0.6.0', 'vers_req_max': '', 'name': 'zipp', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.6.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/zc.lockfile', 'vers_ok': False, 'sort': '4zc.lockfile', 'vers_req_source': '', 'pypi_version': '2.0', 'vers_req_max': '', 'name': 'zc.lockfile', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/wcwidth', 'vers_ok': False, 'sort': '4wcwidth', 'vers_req_source': '', 'pypi_version': '0.1.7', 'vers_req_max': '', 'name': 'wcwidth', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.1.7', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/urllib3', 'vers_ok': False, 'sort': '4urllib3', 'vers_req_source': '', 'pypi_version': '1.25.3', 'vers_req_max': '', 'name': 'urllib3', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.25.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/tempora', 'vers_ok': False, 'sort': '4tempora', 'vers_req_source': '', 'pypi_version': '1.14.1', 'vers_req_max': '', 'name': 'tempora', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.14', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/scipy', 'vers_ok': True, 'sort': '1scipy', 'vers_req_source': '>=1.1.0,<=1.2.1<br/>>=1.1.0,<=1.2.1 (uzsu)', 'pypi_version': '1.3.1', 'vers_req_max': '1.2.1', 'name': 'scipy', 'vers_req_msg': '', 'vers_req_min': '1.1.0', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.2.1', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/ruamel.yaml', 'vers_ok': True, 'sort': '1ruamel.yaml', 'vers_req_source': ">=0.13.7,<=0.15.74;python_version<'3.7' | >0.15.0,<=0.15.74;python_version>='3.7'", 'pypi_version': '0.16.5', 'vers_req_max': '0.15.74', 'name': 'ruamel.yaml', 'vers_req_msg': '', 'vers_req_min': '0.13.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.15.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': False}, {'pypi_doc_url': 'https://pypi.org/pypi/requests', 'vers_ok': True, 'sort': '1requests', 'vers_req_source': '>=2.20.0', 'pypi_version': '2.22.0', 'vers_req_max': '', 'name': 'requests', 'vers_req_msg': '', 'vers_req_min': '2.20.0', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.22.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/requests-mock', 'vers_ok': False, 'sort': '4requests-mock', 'vers_req_source': '', 'pypi_version': '1.7.0', 'vers_req_max': '', 'name': 'requests-mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.6.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytz', 'vers_ok': False, 'sort': '4pytz', 'vers_req_source': '', 'pypi_version': '2019.2', 'vers_req_max': '', 'name': 'pytz', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2018.9', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/python-dateutil', 'vers_ok': True, 'sort': '1python-dateutil', 'vers_req_source': '>=2.5.3<br/>>=2.5.3 (backend)', 'pypi_version': '2.8.0', 'vers_req_max': '', 'name': 'python-dateutil', 'vers_req_msg': '', 'vers_req_min': '2.5.3', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.8.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pytest', 'vers_ok': False, 'sort': '4pytest', 'vers_req_source': '', 'pypi_version': '5.1.2', 'vers_req_max': '', 'name': 'pytest', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '5.1.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyparsing', 'vers_ok': False, 'sort': '4pyparsing', 'vers_req_source': '', 'pypi_version': '2.4.2', 'vers_req_max': '', 'name': 'pyparsing', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.4.2', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/PyJWT', 'vers_ok': True, 'sort': '1pyjwt', 'vers_req_source': '>=1.6.4', 'pypi_version': '1.7.1', 'vers_req_max': '', 'name': 'pyjwt', 'vers_req_msg': '', 'vers_req_min': '1.6.4', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.7.1', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/py', 'vers_ok': False, 'sort': '4py', 'vers_req_source': '', 'pypi_version': '1.8.0', 'vers_req_max': '', 'name': 'py', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.8.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/py-smart-gardena', 'vers_ok': False, 'sort': '4py-smart-gardena', 'vers_req_source': '', 'pypi_version': '0.5.2', 'vers_req_max': '', 'name': 'py-smart-gardena', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.5.2', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/psutil', 'vers_ok': True, 'sort': '1psutil', 'vers_req_source': '==*', 'pypi_version': '5.6.3', 'vers_req_max': '', 'name': 'psutil', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '5.6.1', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/portend', 'vers_ok': False, 'sort': '4portend', 'vers_req_source': '', 'pypi_version': '2.5', 'vers_req_max': '', 'name': 'portend', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pluggy', 'vers_ok': False, 'sort': '4pluggy', 'vers_req_source': '', 'pypi_version': '0.12.0', 'vers_req_max': '', 'name': 'pluggy', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.12.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pip', 'vers_ok': False, 'sort': '4pip', 'vers_req_source': '', 'pypi_version': '19.2.3', 'vers_req_max': '', 'name': 'pip', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '19.2.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pathlib2', 'vers_ok': False, 'sort': '4pathlib2', 'vers_req_source': '', 'pypi_version': '2.3.4', 'vers_req_max': '', 'name': 'pathlib2', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.3.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/paho-mqtt', 'vers_ok': True, 'sort': '1paho-mqtt', 'vers_req_source': '>=1.2.2<br/>>=1.2.2 (mqtt)', 'pypi_version': '1.4.0', 'vers_req_max': '', 'name': 'paho-mqtt', 'vers_req_msg': '', 'vers_req_min': '1.2.2', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.4.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/packaging', 'vers_ok': False, 'sort': '4packaging', 'vers_req_source': '', 'pypi_version': '19.1', 'vers_req_max': '', 'name': 'packaging', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '19.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/numpy', 'vers_ok': True, 'sort': '1numpy', 'vers_req_source': '==*<br/>==* (uzsu)', 'pypi_version': '1.17.2', 'vers_req_max': '', 'name': 'numpy', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.17.2', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/more-itertools', 'vers_ok': False, 'sort': '4more-itertools', 'vers_req_source': '', 'pypi_version': '7.2.0', 'vers_req_max': '', 'name': 'more-itertools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '6.0.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/mock', 'vers_ok': False, 'sort': '4mock', 'vers_req_source': '', 'pypi_version': '3.0.5', 'vers_req_max': '', 'name': 'mock', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '3.0.5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/MarkupSafe', 'vers_ok': False, 'sort': '4markupsafe', 'vers_req_source': '', 'pypi_version': '1.1.1', 'vers_req_max': '', 'name': 'markupsafe', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.1.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Jinja2', 'vers_ok': True, 'sort': '1jinja2', 'vers_req_source': '>=2.9', 'pypi_version': '2.10.1', 'vers_req_max': '', 'name': 'jinja2', 'vers_req_msg': '', 'vers_req_min': '2.9', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2.10', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/jaraco.functools', 'vers_ok': False, 'sort': '4jaraco.functools', 'vers_req_source': '', 'pypi_version': '2.0', 'vers_req_max': '', 'name': 'jaraco.functools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/importlib-metadata', 'vers_ok': False, 'sort': '4importlib-metadata', 'vers_req_source': '', 'pypi_version': '0.20', 'vers_req_max': '', 'name': 'importlib-metadata', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.19', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/idna', 'vers_ok': False, 'sort': '4idna', 'vers_req_source': '', 'pypi_version': '2.8', 'vers_req_max': '', 'name': 'idna', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.8', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ephem', 'vers_ok': True, 'sort': '1ephem', 'vers_req_source': '>=3.7', 'pypi_version': '3.7.7.0', 'vers_req_max': '', 'name': 'ephem', 'vers_req_msg': '', 'vers_req_min': '3.7', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '3.7.6.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/CherryPy', 'vers_ok': True, 'sort': '1cherrypy', 'vers_req_source': '>=8.1.2', 'pypi_version': '18.2.0', 'vers_req_max': '', 'name': 'cherrypy', 'vers_req_msg': '', 'vers_req_min': '8.1.2', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '18.1.0', 'pypi_version_not_available_msg': '', 'is_required': True, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/cheroot', 'vers_ok': False, 'sort': '4cheroot', 'vers_req_source': '', 'pypi_version': '6.5.8', 'vers_req_max': '', 'name': 'cheroot', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '6.5.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/chardet', 'vers_ok': False, 'sort': '4chardet', 'vers_req_source': '', 'pypi_version': '3.0.4', 'vers_req_max': '', 'name': 'chardet', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '3.0.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/certifi', 'vers_ok': False, 'sort': '4certifi', 'vers_req_source': '', 'pypi_version': '2019.6.16', 'vers_req_max': '', 'name': 'certifi', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2019.6.16', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/backports.functools-lru-cache', 'vers_ok': False, 'sort': '4backports.functools-lru-cache', 'vers_req_source': '', 'pypi_version': '1.5', 'vers_req_max': '', 'name': 'backports.functools-lru-cache', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/attrs', 'vers_ok': False, 'sort': '4attrs', 'vers_req_source': '', 'pypi_version': '19.1.0', 'vers_req_max': '', 'name': 'attrs', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '19.1.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/atomicwrites', 'vers_ok': False, 'sort': '4atomicwrites', 'vers_req_source': '', 'pypi_version': '1.3.0', 'vers_req_max': '', 'name': 'atomicwrites', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.3.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Adafruit-SSD1306', 'vers_ok': False, 'sort': '4adafruit-ssd1306', 'vers_req_source': '', 'pypi_version': '1.6.2', 'vers_req_max': '', 'name': 'adafruit-ssd1306', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.6.2', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Adafruit-GPIO', 'vers_ok': False, 'sort': '4adafruit-gpio', 'vers_req_source': '', 'pypi_version': '1.0.3', 'vers_req_max': '', 'name': 'adafruit-gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.0.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/spidev', 'vers_ok': False, 'sort': '4spidev', 'vers_req_source': '', 'pypi_version': '3.4', 'vers_req_max': '', 'name': 'spidev', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '3.4', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Adafruit-PureIO', 'vers_ok': False, 'sort': '4adafruit-pureio', 'vers_req_source': '', 'pypi_version': '0.2.3', 'vers_req_max': '', 'name': 'adafruit-pureio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '0.2.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/wheel', 'vers_ok': False, 'sort': '4wheel', 'vers_req_source': '', 'pypi_version': '0.33.6', 'vers_req_max': '', 'name': 'wheel', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.29.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/ssh-import-id', 'vers_ok': False, 'sort': '4ssh-import-id', 'vers_req_source': '', 'pypi_version': '5.6', 'vers_req_max': '', 'name': 'ssh-import-id', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '5.6', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/six', 'vers_ok': False, 'sort': '4six', 'vers_req_source': '', 'pypi_version': '1.12.0', 'vers_req_max': '', 'name': 'six', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.12.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/setuptools', 'vers_ok': False, 'sort': '4setuptools', 'vers_req_source': '', 'pypi_version': '41.2.0', 'vers_req_max': '', 'name': 'setuptools', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '33.1.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/SecretStorage', 'vers_ok': False, 'sort': '4secretstorage', 'vers_req_source': '', 'pypi_version': '3.1.1', 'vers_req_max': '', 'name': 'secretstorage', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '2.3.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/RPi.GPIO', 'vers_ok': False, 'sort': '4rpi.gpio', 'vers_req_source': '', 'pypi_version': '0.7.0', 'vers_req_max': '', 'name': 'rpi.gpio', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.6.5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyxdg', 'vers_ok': False, 'sort': '4pyxdg', 'vers_req_source': '', 'pypi_version': '0.26', 'vers_req_max': '', 'name': 'pyxdg', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.25', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/python-apt', 'vers_ok': False, 'sort': '4python-apt', 'vers_req_source': '', 'pypi_version': '0.7.8', 'vers_req_max': '', 'name': 'python-apt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '1.1.0b5', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pygobject', 'vers_ok': False, 'sort': '4pygobject', 'vers_req_source': '', 'pypi_version': '3.32.2', 'vers_req_max': '', 'name': 'pygobject', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '3.22.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pycrypto', 'vers_ok': False, 'sort': '4pycrypto', 'vers_req_source': '', 'pypi_version': '2.6.1', 'vers_req_max': '', 'name': 'pycrypto', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': True, 'vers_installed': '2.6.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/pyasn1', 'vers_ok': False, 'sort': '4pyasn1', 'vers_req_source': '', 'pypi_version': '0.4.7', 'vers_req_max': '', 'name': 'pyasn1', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '0.1.9', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/Pillow', 'vers_ok': False, 'sort': '4pillow', 'vers_req_source': '', 'pypi_version': '6.1.0', 'vers_req_max': '', 'name': 'pillow', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '4.0.0', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/keyrings.alt', 'vers_ok': False, 'sort': '4keyrings.alt', 'vers_req_source': '', 'pypi_version': '3.1.1', 'vers_req_max': '', 'name': 'keyrings.alt', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.3', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/keyring', 'vers_ok': False, 'sort': '4keyring', 'vers_req_source': '', 'pypi_version': '19.1.0', 'vers_req_max': '', 'name': 'keyring', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '10.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/decorator', 'vers_ok': False, 'sort': '4decorator', 'vers_req_source': '', 'pypi_version': '4.4.0', 'vers_req_max': '', 'name': 'decorator', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '4.0.11', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}, {'pypi_doc_url': 'https://pypi.org/pypi/cryptography', 'vers_ok': False, 'sort': '4cryptography', 'vers_req_source': '', 'pypi_version': '2.7', 'vers_req_max': '', 'name': 'cryptography', 'vers_req_msg': '', 'vers_req_min': '', 'is_required_for_testsuite': False, 'vers_recent': False, 'vers_installed': '1.7.1', 'pypi_version_not_available_msg': '', 'is_required': False, 'is_required_for_docbuild': False, 'pypi_version_ok': True}]
    2019-09-08  19:40:24 ERROR    lib.item          Item AUSSEN.Garten.BodenLED.uzsu: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x72caae50>>: 'interpolation'
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/item.py", line 2224, in __update
        method(self, caller, source, dest)
      File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 447, in update_item
        self._schedule(item, caller='update')
      File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 465, in _schedule
        if not self._items[item]['interpolation'].get('itemtype'):
    KeyError: 'interpolation'
    2019-09-08  19:48:40 ERROR    lib.item          Item AUSSEN.Garten.KorbLED.uzsu: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x72caae50>>: 'interpolation'
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/item.py", line 2224, in __update
        method(self, caller, source, dest)
      File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 447, in update_item
        self._schedule(item, caller='update')
      File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 465, in _schedule
        if not self._items[item]['interpolation'].get('itemtype'):
    KeyError: 'interpolation'
    2019-09-08  19:48:42 ERROR    lib.item          Item AUSSEN.Garten.HangLED.uzsu: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x72caae50>>: 'interpolation'
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/item.py", line 2224, in __update
        method(self, caller, source, dest)
      File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 447, in update_item
        self._schedule(item, caller='update')
      File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 465, in _schedule
        if not self._items[item]['interpolation'].get('itemtype'):
    KeyError: 'interpolation'

    Jemand ne Idee was ich machen könnte?

    Besten Dank.
    Gruß
    Christian

    Kommentar


      #3
      Das mit der scipy Version war mal nötig als es kein piwheel für die neue Version gab. Könnte man in den requirements auch rauslöschen.

      Hast du shng schon mal neu gestartet?

      Kommentar


        #4
        Ja. Habe ich. Die log entsteht nach kompletten reboot.

        Könnte ich also Scipy löschen und aus den requirements löschen und geht uzsu normal?
        Gruß
        Christian

        Kommentar


          #5
          Hm, also für uzsu relevant sind ja nur die letzten 3 Zeilen des Logs. Offenbar wurden die Items nicht aktualisiert, was äußerst sonderbar ist.
          Was aber notfalls machen kannst, ist scipy tatsächlich raus zu nehmen aus den requirements. Dann funktioniert UZSU, aber nicht das Interpolations-Feature.

          Dennoch, sollte das nicht so sein wie es ist. Wie sehen die Items aus? Wurde der Wert eventuell überschrieben durch eine Logik o.ä.? Das müsste unbedingt geändert werden. Probleme gibt es auch mit ner alten SmartVISU.

          Kommentar


            #6
            Könnte man die version in den requirements auf 1.3.1 anpassen und dann updaten ohne fehler, oder wird das in smarthomeng nochmal gegen geprüft?

            Meine Items sehen wie folgt aus, habe ich seit upgrade auf 1.6 nicht mehr angepasst..
            Code:
            KorbLED:
                        type: bool
                        knx_dpt: 1
                        knx_cache: 1/7/15    # Status Schalten
                        knx_send: 1/7/14    # Schalten
            
                        uzsu:
                            type: dict
                            uzsu_item: AUSSEN.Garten.KorbLED
                            cache: 'True'
                            visu_acl: rw
            
                    HangLED:
                        type: bool
                        knx_dpt: 1
                        knx_cache: 1/7/9    # Status Schalten
                        knx_send: 1/7/8    # Schalten
            
                        uzsu:
                            type: dict
                            uzsu_item: AUSSEN.Garten.HangLED
                            cache: 'True'
                            visu_acl: rw
            Die Visu2.8 hat das UZSU plugin v5.0

            Bildschirmfoto 2019-09-09 um 16.35.04.png
            Zuletzt geändert von Polecat; 09.09.2019, 15:40.
            Gruß
            Christian

            Kommentar


              #7
              Hallo,
              ich hänge mich da mal an dieses Thema dran. Hab eine ähnliche Fehlermeldung, beim Deaktivierung der UZSU:

              Code:
              2019-09-11 13:38:57 CEST DEBUG    item              Main         Item ab.garten.wasser_ventil1.uzsu = {'list': [{'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeOffsetType': 'm', 'time': '05:05', 'timeMin': '', 'value': '1', 'event': 'time', 'timeCron': '05:05', 'active': True, 'timeOffset': '', 'timeMax': ''}, {'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeOffsetType': 'm', 'time': '05:15', 'timeMin': '', 'value': '0', 'event': 'time', 'timeCron': '05:15', 'active': True, 'timeOffset': '', 'timeMax': ''}], 'active': False} via Visu 192.168.204.252:38380 None  --  (item.py:__update:2207)
              2019-09-11 13:38:57 CEST DEBUG    scheduler         Main         remove scheduler entry with name:plugins.uzsu.uzsu_ab.garten.wasser_ventil1.uzsu  --  (scheduler.py:remove:258)
              2019-09-11 13:38:57 CEST ERROR    item              Main         Item ab.garten.wasser_ventil1.uzsu: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x7f34085d2eb8>>: 'interpolation'  --  (item.py:__update:2226)
              Traceback (most recent call last):
                File "/usr/local/smarthome/lib/item.py", line 2224, in __update
                  method(self, caller, source, dest)
                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 442, in update_item
                  self._schedule(item, caller='update')
                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 460, in _schedule
                  if not self._items[item]['interpolation'].get('itemtype'):
              KeyError: 'interpolation'
              Aber auch beim Aktivieren der UZSU:
              Code:
              2019-09-11 13:38:57 CEST DEBUG    item              Main         Item ab.garten.wasser_ventil1.uzsu = {'list': [{'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeOffsetType': 'm', 'time': '05:05', 'timeMin': '', 'value': '1', 'event': 'time', 'timeCron': '05:05', 'active': True, 'timeOffset': '', 'timeMax': ''}, {'rrule': 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU', 'timeOffsetType': 'm', 'time': '05:15', 'timeMin': '', 'value': '0', 'event': 'time', 'timeCron': '05:15', 'active': True, 'timeOffset': '', 'timeMax': ''}], 'active': False} via Visu 192.168.204.252:38380 None  --  (item.py:__update:2207)
              2019-09-11 13:38:57 CEST DEBUG    scheduler         Main         remove scheduler entry with name:plugins.uzsu.uzsu_ab.garten.wasser_ventil1.uzsu  --  (scheduler.py:remove:258)
              2019-09-11 13:38:57 CEST ERROR    item              Main         Item ab.garten.wasser_ventil1.uzsu: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x7f34085d2eb8>>: 'interpolation'  --  (item.py:__update:2226)
              Traceback (most recent call last):
                File "/usr/local/smarthome/lib/item.py", line 2224, in __update
                  method(self, caller, source, dest)
                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 442, in update_item
                  self._schedule(item, caller='update')
                File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 460, in _schedule
                  if not self._items[item]['interpolation'].get('itemtype'):
              KeyError: 'interpolation'
              Problem ist allerdings, dass die UZSU nach Aktivieren nicht läuft. Erst wenn ich SHNG restarte funkt die UZSU wieder.

              Code:
              2019-09-11  13:38:19 WARNING  __main__          --------------------   Init SmartHomeNG 1.6.master (1b2cb3e6)   --------------------
              2019-09-11  13:38:19 WARNING  __main__          Running in Python interpreter 'v3.5.3 final' (pid=57882) on linux platform
              Hab zwar SmartVisu 2.9 am laufen, bin mir da aber nicht sicher, ob das nicht so ein prerelease gewesen ist, was ich installiert habe. Meine Vermutung ist, dass das Widget in SmartVisu nicht das Neueste ist, die Datei ist vom 19.1.2018.
              Bei mir fehlten die Einträge für die Interpolation, wie z.B.:

              Code:
               [TABLE]
               	 		[TR]
               			[TD]// Interpolation für SmartHomeNG setzen[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]if(designType == '0') {[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]if(response.interpolation === undefined){[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]this.hasInterpolation = false[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]console.log('UZSU interpolation not available. You have to update the plugin version');[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]//response.interpolation = {type:'none',interval:0,initage:0,initialized:false,itemtype:'none'};[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]}[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]else if(!response.interpolation.itemtype in ['num']) {[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]this.hasInterpolation = false[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]notify.warn('UZSU interpolation not supported by itemtype');[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]}[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]else {[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]this.hasInterpolation = true[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]console.log('UZSU interpolation set to ' + response.interpolation.type);[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]}[/TD]
               		[/TR]
               		[TR]
               			[TD] [/TD]
               			[TD]}[/TD]
               		[/TR]
               	 [/TABLE]
              Welche Dateien in SmartVISU sind da abzudaten?
              Möchte ungern über alles drüberrödeln, da ja der Rest funktioniert :-)

              Danke,
              Peter
              Zuletzt geändert von stromi1; 11.09.2019, 13:10.

              Kommentar


                #8
                Unbedingt aktuellste smartvisu widget nutzen, ich empfehle ein gesamtupdate der sv (nach backup). Zumindest die device files im widgets ordner

                Kommentar


                  #9
                  ok ich werde es nochmal probieren. letztens lief meine visu mit 2.9 gar nicht mehr, alle Icon uns Menü's waren riesig.

                  Gruß
                  Christian

                  Kommentar


                    #10
                    Am ehesten Rechteproblem
                    chown www-data hast du nach Clone gemacht?

                    Kommentar


                      #11
                      So, heute habe ich mal endlich auf 2.9 erfolgreich umgestellt.

                      Nun klappt die UZSU auch wieder. Scheint wirklich an 2.8 und der alten Schnittstelle zu liegen.

                      Danke nochmals...
                      Gruß
                      Christian

                      Kommentar


                        #12
                        Hi,

                        Ich bin Anfänger mit dem UZSU Plugin - und habe das gleiche Problem. Ich versuche seit 6 Stunden, das zum Laufen zu bringen ohne Erfolg.

                        Ich habe SHNG und SmartVisu als develop branch ausgecheckt, die items-Konfig scheint auch zu funktionieren.
                        Alle requirements in SHNG sind aufgelöst, keine Fehlermeldung

                        Im Widget-Ordner der SmartVisu ist kein UZSU-Widget, also habe ich mir die beiden Dateien hier besorgt: https://github.com/mworion/uzsu_widget
                        Ich sehe auch das Icon (fehlt wenn nicht aktiv, ist da, wenn aktiv) und kann einen Timer einstellen.

                        Allerdings funktioniert es nicht, wird nicht geschaltet.


                        items.yaml

                        Code:
                        EG:
                        
                        Wohnzimmer:
                        
                                Deckenspots:
                        
                                                
                                    Schalten:
                        
                                        type: bool
                        
                                        enforce_updates: [B]true[/B]
                        
                                        visu_acl: rw
                        
                                        knx_dpt: 1
                        
                                        knx_listen: 6/1/13
                        
                                        knx_send: 6/1/10
                        
                                        Schaltuhr:
                        
                                            name: Schaltuhr
                        
                                            type: dict
                        
                                            struct: uzsu.child
                        
                                            uzsu_item: ..
                        
                                            cache: 'True'
                        room_xx_html:

                        Code:
                        {% extends "rooms.html" %}
                        {% block content %}
                        
                        {% import "widget_uzsu.html" as uzsu %}
                        
                        [B]<script [/B]type[B]=[/B]"text/javascript"src[B]=[/B]"widgets/widget.js"[B]></script>[/B]
                        
                        [B]<h1><img [/B]class[B]=[/B]"icon"src[B]=[/B]'{{ icon0 }}scene_livingroom.svg'[B] />[/B]Wohnzimmer[B]</h1>[/B]
                        
                        [B]<div [/B]class[B]=[/B]"block"[B]>[/B]
                        
                        [B]<div [/B]class[B]=[/B]"set-2"data-role[B]=[/B]"collapsible-set"data-theme[B]=[/B]"c"data-content-theme[B]=[/B]"a"data-mini[B]=[/B]"true"[B]>[/B]
                        
                        [B]<div [/B]data-role[B]=[/B]"collapsible"data-collapsed[B]=[/B]"false"[B]>[/B]
                        
                        [B]<h3>[/B]Licht[B]</h3>[/B]
                        
                        {{ device.dimmer('WZ.Deckenspots', 'Deckenspots', 'EG.Wohnzimmer.Deckenspots.Schalten', 'EG.Wohnzimmer.Deckenspots.Dimmen', 0, 255, 10) }}
                        
                                        {{ uzsu.uzsu_icon('uzsu_example1', 'EG.Wohnzimmer.Deckenspots.Schalten.Schaltuhr', 'Schaltuhr', '', '', 'num') }}
                        warning log:

                        Code:
                        2019-11-17  04:39:35 ERROR    lib.item          Item EG.Wohnzimmer.Deckenspots.Schalten.Schaltuhr: problem running <bound method UZSU.update_item of <plugins.uzsu.UZSU object at 0x7608e6d0>>: 'interpolation'
                        
                        Traceback (most recent call last):
                        
                          File "/usr/local/smarthome/lib/item.py", line 2224, in __update
                        
                            method(self, caller, source, dest)
                        
                          File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 447, in update_item
                        
                            self._schedule(item, caller='update')
                        
                          File "/usr/local/smarthome/plugins/uzsu/__init__.py", line 465, in _schedule
                        
                            if not self._items[item]['interpolation'].get('itemtype'):
                        
                        KeyError: 'interpolation'
                        Gibt es irgendwo eine Anleitung in der Form:
                        1. Konfiguriere Plugin in SHNG so
                        2. Kopiere folgende Dateien von nach ...
                        3. So sieht eine Beispiel items + rooms+xxx aus

                        Ich bin mir nicht sicher, habe ich die richtige widget.html, die richtige SmartVisu-Version, etc.
                        Ich google mich seit Stunden durch alle möglichen Foren - dabei kann das doch eigentlich nicht so schwer sein ... dachte ich

                        Liebe Grüße
                        greppie
                        Zuletzt geändert von Greppie; 17.11.2019, 04:48. Grund: Gruß vergessen :P

                        Kommentar


                          #13
                          Hm. SmartHomeNG.de kennst Du?
                          Es gibt wohl ein Problem bezüglich der Interpolation der Werte in der uzsu. Entweder fehlen die Einträge aus der SmartVISU im dict oder es könnte ein Problem mit scipy geben.
                          Außerdem wäre die Smartvisu 2.9 und SHNG 1.6.1 master das richtige aus anderen Quellen solltest Du keine Widgets brauchen.
                          Hast Du einen Raspi?
                          Hast Du das Image von Onkelandy im Einsatz oder selber nach Komplettanleitung installiert?
                          Zuletzt geändert von bmx; 17.11.2019, 09:15.

                          Kommentar


                            #14
                            Du musst unbedingt das widget der aktuellen smartvisu 2.9 nutzen. Device.uzsuicon oder device.uzsugraph

                            hab nun korrekte fehlermeldung eingebaut.
                            Zuletzt geändert von Onkelandy; 17.11.2019, 14:23.

                            Kommentar


                              #15
                              Hallo zusammen,

                              vielen lieben Dank für Eure schnellen Antworten.

                              Zitat von bmx Beitrag anzeigen
                              Hm. SmartHomeNG.de kennst Du?
                              Es gibt wohl ein Problem bezüglich der Interpolation der Werte in der uzsu. Entweder fehlen die Einträge aus der SmartVISU im dict oder es könnte ein Problem mit scipy geben.
                              Außerdem wäre die Smartvisu 2.9 und SHNG 1.6.1 master das richtige aus anderen Quellen solltest Du keine Widgets brauchen.
                              Hast Du einen Raspi?
                              Hast Du das Image von Onkelandy im Einsatz oder selber nach Komplettanleitung installiert?
                              Ich habe SmartHomeNG 1.6.1. bzw. den aktuellen Developer Branch über git von https://github.com/smarthomeNG
                              Switch auf den Master Branch ändert übrigens nichts.

                              Wenn ich direkt mit python3 die interpolation lade, gibt es keine Fehlermeldung, auch scipy lies sich korrekt bauen.


                              Habe einen Raspi 2 und einen Raspi3 jeweils mit der aktuellen Buster Version läuft auch, kann über KNX schalten.
                              Ich habe nach Komplettanleitung installiert, sowohl SHNG als auch SmartVisu.

                              SmartVisu habe ich von hier: https://github.com/Martin-Gleiss/smartvisu

                              Kommentar

                              Lädt...
                              X