{ "info": { "author": "Sergey Prytkov", "author_email": "sergej.prytkov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Home Automation", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Hardware" ], "description": "NooLite-F\n=========\n\nPython module to work with NooLite-F (MTRF-64-USB, MTRF-64)\nYou can find more details about MTRF-64/MTRF-64-USB api on official NooLite site:\n\n* https://www.noo.com.by/\n* https://www.noo.com.by/assets/files/PDF/nooLite%20API_v1.0.pdf\n* https://www.noo.com.by/assets/files/PDF/MTRF-64-USB.pdf\n\n**Supported Python versions:** Python 3.5 and later\n\nSend commands to modules\n========================\n\nThere are possible three ways of sending commands to modules:\n\n\nUsing adapter\n-------------\nYou can work directly with adapter::\n\n adapter = MTRF64USBAdapter(\"COM3\")\n\n request = Request()\n request.action = Action.SEND_COMMAND\n request.mode = Mode.TX\n request.channel = 60\n request.command = Command.TEMPORARY_ON\n request.format = 6\n request.data[0] = 1\n\n response = adapter.send(request)\n\n print(response)\n\n request = Request()\n request.action = Action.SEND_COMMAND_TO_ID\n request.mode = Mode.TX_F\n request.id = 0x5023\n request.command = Command.SWITCH\n\n response = adapter.send(request)\n\n print(response)\n\n\n**Note:** Request and response directly maps to low-level api for adapter.\n\n\nUsing controller\n----------------\n\nYou can use MTRF64Controller and abstract from manual request data creating. Just call appropriate function::\n\n controller = MTRF64Controller(\"COM3\")\n controller.set_brightness(channel=60, brightness=0.3, module_mode=ModuleMode.NOOLITE)\n\n controller.switch(module_id=0x5435, module_mode=ModuleMode.NOOLITE_F)\n\n\nController supports following commands:\n\n* on - turn on the module\n* off - turn off the module\n* switch - switch module state\n\n* temporary_on - turn on the module for a specified time\n* set_temporary_on_mode - enable/disable \"temporary on\" mode\n\n* bright_tune - start to increase/decrease brightness\n* bright_tune_back - invert direction of the brightness change\n* bright_tune_stop - stop brightness changing\n* bright_tune_custom - start to increase/decrease brightness with a specified speed\n* bright_step - increase/decrease brightness once with a specified step\n* set_brightness - set brightness\n\n* load_preset - load saved module state from preset\n* save_preset - save current module state as preset\n\n* roll_rgb_color - start color changing **(only for RGB Led modules)**\n* switch_rgb_color - switch color **(only for RGB Led modules)**\n* switch_rgb_mode - switch color changing modes **(only for RGB Led modules)**\n* switch_rgb_mode_speed - switch speed of the color changing **(only for RGB Led modules)**\n* set_rgb_brightness - set brightness for each rgb color **(only for RGB Led modules)**\n\n* read_state - read module state **(only for NooLite-F modules)**\n* read_extra_state - read additional module state **(only for NooLite-F modules)**\n* read_channels_state - read information about available channels for binding **(only for NooLite-F modules)**\n\n* read_module_config - read current module configuration **(only for NooLite-F modules)**\n* write_module_config - write new module configuration **(only for NooLite-F modules)**\n\n* read_dimmer_correction - read dimmer corrections values **(only for NooLite-F modules)**\n* write_dimmer_correction - write new dimmer corrections values **(only for NooLite-F modules)**\n\n* bind - send bind command to module\n* unbind - send unbind command to module\n* set_service_mode - turn on/off the service mode on module **(only for NooLite-F modules)**\n\nEach command can accept following parameters:\n\n- module_id: the module id. The command will be send to module with specified id (used only for NOOLITE-F modules).\n- channel: the number of the channel. The command will be send to all modules that are binded with selected channel. If module_id is also specified then command will be send only to appropriate device in channel.\n- broadcast: broadcast mode. If True then command will be send simultaneously to all modules that are binded with selected channel (default - False). If module_id is specified or mode is NOOLITE then broadcast parameter will be ignored.\n- module_mode: module work mode, used to determine adapter mode for send command (default - NOOLITE_F).\n\nSome commands require additional parameters. For more details see inline help.\n\n\nIn response for each command returns:\n\n* for **nooLite-F** modules returns array which contains command result, module info and it state for each module that are binded with selected channel.\n* for **nooLite** modules returns nothing.\n\nCommand result equals True if command send successfully, otherwise False. Module info contains information about module: module, id, type, firmware version. Module state contains information about module state: (on/off/temporary on), current brightness and bind mode (on/off)::\n\n [\n [(True, , )],\n [(True, , )]\n ]\n\nSome state and config command can return extra info about module state/config.\nIf command result is False, then module info and state are None.::\n\n [(False, None, None)]\n\n\nUsing module wrappers\n---------------------\nYou can use special classes that are wrappers around controller. Each class is representation of the\nconcrete module or modules assigned with specific channel::\n\n controller = MTRF64Controller(\"COM3\")\n dimmer = Dimmer(controller, channel=62, module_mode=ModuleMode.NOOLITE)\n dimmer.set_brightness(0.4)\n\n switch = Switch(controller, channel=60, module_mode=ModuleMode.NOOLITE)\n switch.on()\n\n switch = Switch(controller, module_id=0x5023, module_mode=ModuleMode.NOOLITE_F)\n switch.switch()\n\n\nAvailable module wrappers:\n\n* **Switch** - supports on/off, toggle, preset. Also supports services methods for bind/unbind.\n* **ExtendedSwitch** - In additional to Switch, supports temporary on.\n* **Dimmer** - In additional to ExtendedSwitch supports brightness managing.\n* **RGBLed** - supports toggle, brightness management, rgb color management.\n* **Fan** - the same as **Dimmer**, uses for manage fans (thanks to mrukavishnikov ( https://github.com/mrukavishnikov )).\n\nReceiving commands from remote controls\n=======================================\n\nYou can also use several ways to receive data from remote controllers and sensors.\n\n\nUsing adapter listener\n----------------------\n\nYou can receive data from remote controllers using MTRF64USBAdapter directly. For it you should pass a listener method into adapter constructor.\nThis method will be call each time when adapter get data from sensors or remote controls::\n\n def on_receive_data(incoming_data: IncomingData):\n print(\"data: {0}\".format(incoming_data))\n\n adapter = MTRF64USBAdapter(\"COM3\", on_receive_data)\n\n\nUsing controller listener\n-------------------------\n\nYou can create special command listener and assign it with concrete channel in controller. The controller get incoming data, handle it and call appropriate method in listener.\nSo you should not worry about it::\n\n controller = MTRF64Controller(\"COM3\")\n switch = Dimmer(controller, channel=62, module_mode=ModuleMode.NOOLITE)\n\n class MyRemoteController(RemoteControllerListener):\n\n def on_on(self):\n switch.on()\n\n def on_off(self):\n switch.off()\n\n def on_switch(self):\n switch.switch()\n\n def on_brightness_tune(self, direction: BrightnessDirection):\n switch.brightness_tune(direction)\n\n def on_brightness_tune_stop(self):\n switch.brightness_tune_stop()\n\n def on_brightness_tune_back(self):\n switch.brightness_tune_back()\n\n\n class MySensor(RemoteControllerListener):\n def on_temp_humi(self, temp: float, humi: int, battery: BatteryState, analog: float):\n print(\"temp: {0}, humidity: {1}\".format(temp, humi))\n\n\n remoteController = MyRemoteController()\n sensor = MySensor()\n\n controller.add_listener(1, remoteController)\n controller.add_listener(2, sensor)\n \n while True:\n sleep(60)\n\n\nUsing sensor wrappers\n---------------------\n\nAnd in the end you can use a special wrappers around Controller and RemoteControllerListener. Just create it, set channel and appropriate listeners::\n\n def on_temp(temp, humi, battery, analog):\n print(\"temp: {0}, humi: {1}, battery_state: {2}, analog: {3}\".format(temp, humi, battery, analog))\n\n def on_battery():\n print(\"battery\")\n\n def on_switch():\n print(\"switch\")\n\n def on_tune_back():\n print(\"tune back\")\n\n def on_tune_stop():\n print(\"tune stop\")\n\n def on_roll_color():\n print(\"roll color\")\n\n def on_switch_color():\n print(\"switch color\")\n\n def on_switch_mode():\n print(\"switch mode\")\n\n def on_switch_speed():\n print(\"switch speed\")\n\n\n controller = MTRF64Controller(\"COM3\")\n\n tempSensor = TempHumiSensor(controller, 9, on_temp, on_battery)\n rgb = RGBRemoteController(controller, 63, on_switch, on_tune_back, on_tune_stop, on_roll_color, on_switch_color, on_switch_mode, on_switch_speed, on_battery)\n\n while True:\n sleep(60)\n\n\nAvailable wrappers:\n\n* **TempHumiSensor** - supports receiving data from temperature and humidity sensors.\n* **MotionSensor** - supports receiving data from motion sensor.\n* **BinarySensor** - supports receiving data from wet and opening sensor.\n* **RemoteController** - supports receiving commands from standard NooLite remote controllers.\n* **RGBRemoteController** - supports receiving commands from RGB Remote controller.\n\n\nNote\n====\n\nTested with MTRF-64-USB adapter and modules:\n\n* SLF-1-300 (NooLite-F, switch module)\n* SRF-1-3000 (NooLite-F, smart power socket)\n* SD-1-180 (NooLite, RGB Module)\n* SU-1-500 (NooLite, switch module)\n* SUF-1-300 (NooLite-F, switch module)\n* PM112 (NooLite, motion sensor)\n* PT111 (NooLite, temperature and humidity sensor)\n* PB211 (NooLite, remote controller)\n* PK315 (Noolite, remote controller)\n* PU112-2 (NooLite, RGB remote controller)\n\n\nBreaking changes:\n=================\n\nv0.1.0\n------\n\n* change parameters order in TempHumi sensor callback from *(temp, humi, battery, analog)* to *(temp, humi, analog, battery)*", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SergejPr/NooLite-F", "keywords": "noolite noolite-f noolitef", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "NooLite-F", "package_url": "https://pypi.org/project/NooLite-F/", "platform": "any", "project_url": "https://pypi.org/project/NooLite-F/", "project_urls": { "Homepage": "https://github.com/SergejPr/NooLite-F" }, "release_url": "https://pypi.org/project/NooLite-F/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "Module to work with NooLite/NooLite-F modules via MTRF-64/MTRF-64-USB adapter", "version": "0.1.2" }, "last_serial": 4889109, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cdf03f948df6c95bda4877defe44b911", "sha256": "a5d89914227836d9cc2db9d6fe52b17fcebe1dc4911e3915a9f32e0c7b515f5e" }, "downloads": -1, "filename": "NooLite_F-0.0.1.tar.gz", "has_sig": false, "md5_digest": "cdf03f948df6c95bda4877defe44b911", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5153, "upload_time": "2017-10-16T23:38:19", "url": "https://files.pythonhosted.org/packages/74/76/43c6a7eb72704e1adaafbab0e645f7686a03cca8b3ee54b36c67463b1e35/NooLite_F-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "e6b5040f4b2e51129af1e8118fb53abe", "sha256": "c8fa7e60c3eb11c6b4fb84b75d87df555839fe8a00858aac11c0d513d1f335aa" }, "downloads": -1, "filename": "NooLite_F-0.0.10.tar.gz", "has_sig": false, "md5_digest": "e6b5040f4b2e51129af1e8118fb53abe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12402, "upload_time": "2017-11-11T15:18:12", "url": "https://files.pythonhosted.org/packages/a2/e0/ce195a485d89baa045c07a9314343ebbed7e9004237e29912b9eb712a1be/NooLite_F-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "90d63e3a00fd3b63b8e3f7d56c472559", "sha256": "c57daaaacdd947cb5769b4d6d504f7026d7864ebcca3bddea7bbae5b2109500e" }, "downloads": -1, "filename": "NooLite_F-0.0.11.tar.gz", "has_sig": false, "md5_digest": "90d63e3a00fd3b63b8e3f7d56c472559", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12413, "upload_time": "2017-11-11T16:12:40", "url": "https://files.pythonhosted.org/packages/92/be/53aff4c9be620e87a457a7931ad3e46b296941c6fd88ca2646b20d1b4e38/NooLite_F-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "6e141e1a8afd7fbecb89c511d4a129fd", "sha256": "7300049947575de548ab1a1b1a53421faf149e73fb483a000b7fef29a1f5758c" }, "downloads": -1, "filename": "NooLite_F-0.0.12.tar.gz", "has_sig": false, "md5_digest": "6e141e1a8afd7fbecb89c511d4a129fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12712, "upload_time": "2017-11-12T13:42:25", "url": "https://files.pythonhosted.org/packages/cd/02/98811a239a803720420a4521d656dc3f25082eb26afbdab768f3e14f07d7/NooLite_F-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "a0770aa5f69cf06e1e01efcc6de1b9f7", "sha256": "31faf215cd8ddb4e817ee2d65c1d656e50cc6d7fc054ed16edfb5d2f0648f2f2" }, "downloads": -1, "filename": "NooLite_F-0.0.13.tar.gz", "has_sig": false, "md5_digest": "a0770aa5f69cf06e1e01efcc6de1b9f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27277, "upload_time": "2017-11-12T16:24:09", "url": "https://files.pythonhosted.org/packages/8c/f0/b8cff6af17060830b1f0f3c4a411b25962a225195da267c97d4f02e8b19e/NooLite_F-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "04d8a5b7405ddd9f29b1fa9795613f36", "sha256": "fe2e7f469070ef4e08559e98358aed9ce9a96ac50966bf948d6ec0aebaaa6d8f" }, "downloads": -1, "filename": "NooLite_F-0.0.14.tar.gz", "has_sig": false, "md5_digest": "04d8a5b7405ddd9f29b1fa9795613f36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27248, "upload_time": "2017-11-12T16:28:50", "url": "https://files.pythonhosted.org/packages/15/16/97137b6d0813f9a8aa1b8f18589625d0e52fb0300eab5e0573ac5c10c44d/NooLite_F-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "8e43a27aa0ed13e9e8c45aa00f18e414", "sha256": "e62ca4ea5c5756e77d882f6109f350604702b0e93e0ee7a7234f6cdba0eb297f" }, "downloads": -1, "filename": "NooLite_F-0.0.15.tar.gz", "has_sig": false, "md5_digest": "8e43a27aa0ed13e9e8c45aa00f18e414", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12689, "upload_time": "2017-11-12T18:30:09", "url": "https://files.pythonhosted.org/packages/33/a5/d678e5a9515e955e1e9cd02bd739aa5ec0474e01fbabd5e41991d8b881e2/NooLite_F-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "87b95560375b396f3d886d324e7176df", "sha256": "bd3cd148e9f9cb1402e190cae553c483fbe60721af15b44713e283ddee856107" }, "downloads": -1, "filename": "NooLite_F-0.0.16.tar.gz", "has_sig": false, "md5_digest": "87b95560375b396f3d886d324e7176df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14970, "upload_time": "2018-02-25T22:03:10", "url": "https://files.pythonhosted.org/packages/14/d9/53dfa7d91e3f92903770a6d7bb542ff3ce28ad81eff34f36603f40925130/NooLite_F-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "c5ebc9a9b3cb610d09faab335a80c2b1", "sha256": "078945a9ada7b2f68cdf086bfc95b105c13ebcac8e45c8fb2b90e112643b4600" }, "downloads": -1, "filename": "NooLite_F-0.0.17.tar.gz", "has_sig": false, "md5_digest": "c5ebc9a9b3cb610d09faab335a80c2b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15037, "upload_time": "2018-03-18T11:08:45", "url": "https://files.pythonhosted.org/packages/78/46/b2d6b4e69e82099906200ff72f683a1f032c395b5d0bb6a6900d8efe1f56/NooLite_F-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "729a370b6c51a25e78f0010f2591eef0", "sha256": "7ecfc2c5164784c074ca9d435a1cc7ab0e20be9491f07000553b52b2ad72d3d3" }, "downloads": -1, "filename": "NooLite_F-0.0.18.tar.gz", "has_sig": false, "md5_digest": "729a370b6c51a25e78f0010f2591eef0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15180, "upload_time": "2018-07-30T15:03:23", "url": "https://files.pythonhosted.org/packages/2f/ec/503fd5bbb3dc4fa23a30e579f44cbbc8638a311b4bfb01cf2927f2b54724/NooLite_F-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "34fd1384881ec805a5601ac95ec6c5d9", "sha256": "f26d6fa88781fd8e8efbaf39d03e9af1072e63ae2a34c018edc2f0923f63451e" }, "downloads": -1, "filename": "NooLite_F-0.0.19.tar.gz", "has_sig": false, "md5_digest": "34fd1384881ec805a5601ac95ec6c5d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15225, "upload_time": "2018-07-30T15:11:03", "url": "https://files.pythonhosted.org/packages/45/67/345906026491292d23eed50103bf160f071e7f634a74f0bf476c69016623/NooLite_F-0.0.19.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "24935081ad7f5c6e135c80b8c399e559", "sha256": "5a19764a0be9d70e4479d34b32e4503780473d804949fe645e0e8722517dbfcf" }, "downloads": -1, "filename": "NooLite_F-0.0.2.tar.gz", "has_sig": false, "md5_digest": "24935081ad7f5c6e135c80b8c399e559", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5122, "upload_time": "2017-10-16T23:45:22", "url": "https://files.pythonhosted.org/packages/77/58/e8a9e3360f39a3ac75a2bf42bc3d9da03044f745d382a496c49a074b767d/NooLite_F-0.0.2.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "2e9077e085c81338eb33b9fffd2de3d3", "sha256": "022eab92656d10f029ea2c1a664993da4544ccb543cce7cb0209eccca2985663" }, "downloads": -1, "filename": "NooLite_F-0.0.20.tar.gz", "has_sig": false, "md5_digest": "2e9077e085c81338eb33b9fffd2de3d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15321, "upload_time": "2018-10-13T16:16:17", "url": "https://files.pythonhosted.org/packages/83/c4/73f9fa4c08755eff4b38d81a594ad30989c2bbb5ff0e0b5f70a7114d77f9/NooLite_F-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "7bc5c3ef8bcaa750229f8f4a6ddc6e14", "sha256": "01b79a0f3428a3983178496c85f6f1ade6d931146cce2448779500065f4b1e37" }, "downloads": -1, "filename": "NooLite_F-0.0.21.tar.gz", "has_sig": false, "md5_digest": "7bc5c3ef8bcaa750229f8f4a6ddc6e14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15282, "upload_time": "2018-12-10T15:55:19", "url": "https://files.pythonhosted.org/packages/34/0d/4d66bafc26d148c6d88566cd584e903602375aabe0e3fce2aba33f1a4aba/NooLite_F-0.0.21.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "cfd84fc92ba1abf0307fec6fcbfca1f2", "sha256": "d421a1ebf86d4739b679f48828a553c64a7b8e3e80e6726773bc667b106318da" }, "downloads": -1, "filename": "NooLite_F-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cfd84fc92ba1abf0307fec6fcbfca1f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5096, "upload_time": "2017-10-16T23:53:06", "url": "https://files.pythonhosted.org/packages/d1/14/218c5203f50857de77311837dd79dbbf06c9e9256b17ccf845749689f121/NooLite_F-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a75a0c78b0754f4d73a13d0cb6b768e7", "sha256": "23b7e7e109fbe1793378c913dab1c68c7734b2ec33ca249787850f699e44444a" }, "downloads": -1, "filename": "NooLite_F-0.0.4.tar.gz", "has_sig": false, "md5_digest": "a75a0c78b0754f4d73a13d0cb6b768e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17091, "upload_time": "2017-10-21T22:30:41", "url": "https://files.pythonhosted.org/packages/2a/17/7548c491086816be48ece66aae06315ba1d2a51b4960a528de9cadb9350f/NooLite_F-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "84ed5ce3be23549b451ab4477cf8c9f1", "sha256": "4349661ac12735fbd762fb85b64d0edb14045c8d5dea06542f340635af2aca2c" }, "downloads": -1, "filename": "NooLite_F-0.0.5.tar.gz", "has_sig": false, "md5_digest": "84ed5ce3be23549b451ab4477cf8c9f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24940, "upload_time": "2017-10-26T21:05:42", "url": "https://files.pythonhosted.org/packages/8e/f6/d58a0d7f373862be2e4d9a500d5e91e10ed7449cc423efdfb3bd168ba78f/NooLite_F-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "2b28f2be85ed1073c1ea67bcc8db9340", "sha256": "efc985be44cee2491d451c7021d2d5971d8b0431c5f54fda28b2fd5ba4624681" }, "downloads": -1, "filename": "NooLite_F-0.0.6.tar.gz", "has_sig": false, "md5_digest": "2b28f2be85ed1073c1ea67bcc8db9340", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18462, "upload_time": "2017-10-27T20:11:43", "url": "https://files.pythonhosted.org/packages/c0/f8/21ccb21c2a7b849dc7076180fb732705f27dd40eac8fd8255d6687e0cb59/NooLite_F-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "4e9918e21fe6aba3edf8c5b561c6a13c", "sha256": "895ebc9075cb8a9b5ebbf962d7942e37673984039c5104ae6e45e9755de53fff" }, "downloads": -1, "filename": "NooLite_F-0.0.7.tar.gz", "has_sig": false, "md5_digest": "4e9918e21fe6aba3edf8c5b561c6a13c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10488, "upload_time": "2017-11-05T16:46:44", "url": "https://files.pythonhosted.org/packages/0b/c9/8eb80bee6a08a9ccc64dccd0e1b3b6572e9f1fc74c985fc96aac627aeeb4/NooLite_F-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "5465541ee9ca5aa0da8315661810fc56", "sha256": "3b9553f1d0e8f7bf383dff7e2afb18f0c68c8025d98f7ca32d63aceb7ce8690e" }, "downloads": -1, "filename": "NooLite_F-0.0.8.tar.gz", "has_sig": false, "md5_digest": "5465541ee9ca5aa0da8315661810fc56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12390, "upload_time": "2017-11-11T14:53:58", "url": "https://files.pythonhosted.org/packages/31/5e/4f84cb46ffe1488078efe24fa17ad5c1073131ac648abb76f751a10549f5/NooLite_F-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "fa840c5f7795b1d9ea56a98c6b1ba20d", "sha256": "e0bf636e50e9967d3c6d14ff6db50b008ba91d0284f0e385ec799e09818243af" }, "downloads": -1, "filename": "NooLite_F-0.0.9.tar.gz", "has_sig": false, "md5_digest": "fa840c5f7795b1d9ea56a98c6b1ba20d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12384, "upload_time": "2017-11-11T15:08:54", "url": "https://files.pythonhosted.org/packages/3e/49/f8f7f77a9a4da97f3a51686d269e1de4e68775c50eeb3d647f3446f77a35/NooLite_F-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "be826b4c93064f673869734bcee48c1e", "sha256": "06890827ad679cb00392a365af58411331b7bfe90ea4ccf2475124e3bc5c6a8c" }, "downloads": -1, "filename": "NooLite_F-0.1.0.tar.gz", "has_sig": false, "md5_digest": "be826b4c93064f673869734bcee48c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15380, "upload_time": "2019-01-05T17:15:20", "url": "https://files.pythonhosted.org/packages/9b/8a/37b8a35139544e62138fa28f177949ea813408922ee79ad5632323787e88/NooLite_F-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "aef3a51d5b38b8ddf20d753d569688da", "sha256": "96884dfcc4dc69b3c0373a98f0da9915fb200acb97c977bd0cc65e3b12bcceda" }, "downloads": -1, "filename": "NooLite_F-0.1.2.tar.gz", "has_sig": false, "md5_digest": "aef3a51d5b38b8ddf20d753d569688da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18279, "upload_time": "2019-03-02T20:43:03", "url": "https://files.pythonhosted.org/packages/3e/26/bade47609e45eef1ecc27e61d992591ef5bb1a8a529cce7086991526a3a9/NooLite_F-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aef3a51d5b38b8ddf20d753d569688da", "sha256": "96884dfcc4dc69b3c0373a98f0da9915fb200acb97c977bd0cc65e3b12bcceda" }, "downloads": -1, "filename": "NooLite_F-0.1.2.tar.gz", "has_sig": false, "md5_digest": "aef3a51d5b38b8ddf20d753d569688da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18279, "upload_time": "2019-03-02T20:43:03", "url": "https://files.pythonhosted.org/packages/3e/26/bade47609e45eef1ecc27e61d992591ef5bb1a8a529cce7086991526a3a9/NooLite_F-0.1.2.tar.gz" } ] }