{"package": "spintop-openhtf", "summary": "An opinionated fork of OpenHTF by the team behind Spintop. OpenHTF is currently vendored-in.", "pypi_url": "https://pypi.org/project/spintop-openhtf", "piwheels_url": "https://www.piwheels.org/project/spintop-openhtf", "releases": {"0.6.5": {"released": "2021-02-15 16:48:56", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.5-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.5-py3-none-any.whl", "filehash": "69f9d7c5437882311b12b15af85828241563332a216be2579494b3858fcc3df6", "filesize": 4560046, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": null, "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml"]}}}, "0.6.4": {"released": "2020-08-10 20:17:31", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.4-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.4-py3-none-any.whl", "filehash": "f4e409e645df70677c91809da8966016047b92daa9450fb26d71cd3685353f21", "filesize": 4559287, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml"]}}}, "0.6.3": {"released": "2020-06-09 20:47:29", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.3-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.3-py3-none-any.whl", "filehash": "b0e3982dd02542edcc56158e1cdaec1d8d32bbf55ac523a9bcb363c483e29a83", "filesize": 4558057, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml"]}}}, "0.6.2": {"released": "2020-06-09 17:39:40", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.2-py3-none-any.whl", "filehash": "ef182f73e75692fc2a45d4edc054d988f016c5ad515f6e54ba13569eed1a81ee", "filesize": 4554376, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.2a1": {"released": "2020-06-09 17:24:47", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.2a1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.2a1-py3-none-any.whl", "filehash": "387713215bf4abf70c76158dcabc9e966002643234fba84f9648dec67c5f9517", "filesize": 4554405, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.1": {"released": "2020-06-08 20:51:16", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.1-py3-none-any.whl", "filehash": "61549bcda748a4453e30350e56f4ed33f48e78547a6524329a9c3bf1ea53fc3c", "filesize": 4554864, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.1rc1": {"released": "2020-06-08 20:39:27", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.1rc1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.1rc1-py3-none-any.whl", "filehash": "8cc4547a59cfc9ad29252e13648f68357b23fa93fde7a5f9c012d24111e1aad5", "filesize": 4579527, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.1a1": {"released": "2020-05-21 20:44:26", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.1a1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.1a1-py3-none-any.whl", "filehash": "26eae92ba43c5e1bd6329a3d661743877bf1473ae4691de96915f9207b5a17d6", "filesize": 4579225, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "spintop"]}}}, "0.6.0": {"released": "2020-05-19 10:14:53", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0-py3-none-any.whl", "filehash": "fcf66c5b6174129599a9f01741d1b295b538265122ba3f0857bdc529c1164bdb", "filesize": 4578641, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.0rc2": {"released": "2020-05-07 17:54:48", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0rc2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0rc2-py3-none-any.whl", "filehash": "40bbe3a59a30a958e06dae3dd4e3856ec6b21fbabb68a391981f640c24376afc", "filesize": 4578679, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.0rc1": {"released": "2020-04-27 13:54:18", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0rc1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0rc1-py3-none-any.whl", "filehash": "4c2c4ea676787eb6fdaf3988c30c0b0bc4e97f939298aa1dbd3a5a0b85369b8a", "filesize": 4558859, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pytz", "pyyaml", "sheetfu"]}}}, "0.6.0a8": {"released": "2020-03-30 19:50:58", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a8-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a8-py3-none-any.whl", "filehash": "e7be734c607f958b7e5426c271f759ed775ca8bbc1561069c9be11aed1a4c4ac", "filesize": 4558593, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyyaml", "sheetfu"]}}}, "0.6.0a7": {"released": "2020-03-25 11:23:41", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a7-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a7-py3-none-any.whl", "filehash": "39850cc4115732f5352aa8e881e082abe934919676a23ccb2cfe67f516c8b760", "filesize": 15407586, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyyaml", "sheetfu"]}}}, "0.6.0a6": {"released": "2020-03-23 19:53:06", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a6-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a6-py3-none-any.whl", "filehash": "83a8eb026c839e2d7640cbaa90a484aa1436ebf5ea0e7b1fb60cccc344d73cdb", "filesize": 11328339, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyyaml", "sheetfu"]}}}, "0.6.0a5": {"released": "2020-03-17 11:56:11", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a5-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a5-py3-none-any.whl", "filehash": "b77e9422ab15e7da3f2122140b13c8534dc5802b5d7788b7d2d71c15cb164694", "filesize": 7175231, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "paramiko", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu"]}}}, "0.6.0a4": {"released": "2020-02-18 12:02:08", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a4-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a4-py3-none-any.whl", "filehash": "c14a2e3312c135c924c85025a8f841a70cfdecada360994cbbd18a7ad8479f1c", "filesize": 11255765, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "paramiko", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu"]}}}, "0.6.0a3": {"released": "2020-02-12 16:32:05", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a3-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a3-py3-none-any.whl", "filehash": "889b4f451ebd99acb02a7c559aaafb747ff12f6f8590c9d2027f6f9187a66bd4", "filesize": 7175152, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "paramiko", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu"]}}}, "0.6.0a2": {"released": "2020-02-10 20:03:55", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a2-py3-none-any.whl", "filehash": "3611e2d281348f42b8fb26bd2802cb9f20c4f155d447e5a8a533d5762defb384", "filesize": 7173020, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "paramiko", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu"]}}}, "0.6.0a1": {"released": "2020-02-04 22:10:41", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.6.0a1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.6.0a1-py3-none-any.whl", "filehash": "d6ec03ce6cc82fa88d1db84fa4b978985cc8c323ce3e4dbd81d0da4f2aa75859", "filesize": 11247015, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu"]}}}, "0.5.5": {"released": "2020-02-03 21:36:01", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.5-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.5-py3-none-any.whl", "filehash": "34a350204b1177a75965b7f12ca8f2ac65cff0477ba17dda65a100542543add4", "filesize": 11246898, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu"]}}}, "0.5.5rc1": {"released": "2019-12-09 21:59:12", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.5rc1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.5rc1-py3-none-any.whl", "filehash": "6e3a2d7b6cfa401836dabafacc4acbedbf9e3b995999e06505a828e65d509c58", "filesize": 7172828, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "markdown2", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.4": {"released": "2019-12-03 12:34:50", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.4-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.4-py3-none-any.whl", "filehash": "08ee6362cb997846afb15c65249571c55932cc649a611234ad3d1778f4b25da2", "filesize": 7172129, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.4rc2": {"released": "2019-12-03 12:30:23", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.4rc2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.4rc2-py3-none-any.whl", "filehash": "0c798d1b50d95d1daa0b9462dfca0ae490fcfa125af32f83661e70b445dc5f46", "filesize": 7172167, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.4rc1": {"released": "2019-11-29 19:30:10", "prerelease": true, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.4rc1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.4rc1-py3-none-any.whl", "filehash": "6d76f14ebc89a823afc5c2e171a0f60b19a79b1e7003e33b024746d12e27a6b8", "filesize": 7171320, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.3": {"released": "2019-11-29 18:15:41", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.3-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.3-py3-none-any.whl", "filehash": "799ffcdc5d41c1a886026c8bec2229a761b68dab34712eb81d8c60b97d171b82", "filesize": 7171118, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.2": {"released": "2019-11-28 21:53:01", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.2-py3-none-any.whl", "filehash": "dd8f554bbd9cf8af8366e01ae2feb167e16b4d8babf346d8add2e076f492a43c", "filesize": 7171052, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.1": {"released": "2019-11-28 21:37:09", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.1-py3-none-any.whl", "filehash": "ab4788bb24a406fe5b7a383cb93e0c8f09c7b7ffe48d61763fc67b4e25e65bc7", "filesize": 2925975, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["appdirs", "colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}, "0.5.0": {"released": "2019-11-28 20:28:21", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"spintop_openhtf-0.5.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/spintop-openhtf/spintop_openhtf-0.5.0-py3-none-any.whl", "filehash": "4cbdd1de0a507edc5c0deea7211bbfe59ab37721ebf457558d3c0e463146c817", "filesize": 2905793, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": ["colorama", "contextlib2", "future", "google-api-python-client", "gspread", "jsonschema", "mutablerecords", "oauth2client", "protobuf", "pyopenssl", "pyserial", "pyyaml", "sheetfu", "sockjs-tornado", "tornado"]}}}}}