{ "info": { "author": "Pascal van Kooten", "author_email": "kootenpv@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "

\n \n

\n\n# brightml: Machine-Learned Auto brightness\n\n[![PyPI](https://img.shields.io/pypi/pyversions/brightml.svg?style=flat-square&logo=python)](https://pypi.python.org/pypi/brightml/)\n[![PyPI](https://img.shields.io/pypi/v/brightml.svg?style=flat-square&logo=pypi)](https://pypi.python.org/pypi/brightml/)\n[![HitCount](http://hits.dwyl.io/kootenpv/brightml.svg)](http://hits.dwyl.io/kootenpv/brightml)\n\n

\n \n

\n\n\nThe goal of this package is to automatically manage brightness on laptops, with \"zero config\"; using machine learning.\nSome do not even realise that what is \"on\" your screen, matters. White screens (like browser) vs coding (in black) should be accounted for.\n\nAll you have to do is to change brightness when it is not good enough yet; **brightml** learns.\n\nIt will learn to generalize based on your personal needs. To do this, it uses:\n\n- Brightness of screen\n- Ambient light sensor (if available)\n- Hour of day\n- whereami (indoor wifi positioning)\n- Battery feature (only if discharging)\n- Active application name\n- Active window title\n\n### Features\n\n- Cross-OS (within Linux)\n- Cross-vendor (intel, nvidia)\n- Cross-hardware (with or without ambient light sensor, linux on macbook works)\n- Seamless integration: No need to change key bindings as it monitors brightness change by user\n- Uses asyncio, event-based (change of window immediately triggers prediction; no timer)\n- Updates brightness on focusing different windows and on scrolling\n\n### Goals\n\n- Provide service files to enable by startup (systemd: done)\n- Add a command to show \"feature importance\"\n- More extensibility (plugin based)\n- Cross-platform (OSX)\n\n### Installation\n\n pip install brightml\n\nBonus: set up `whereami `_ to include indoor positioning in the predictions.\n\n pip install brightml[whereami]\n\n### Usage\n\nEventually we need to get some service files for the different Operating Systems, so the process starts on boot.\n\nFor now, just ready for preview, run on command line:\n\n sudo brightml\n\nThis will run brightml in the foreground.\n\nTo instead just show current feature values, run:\n\n pascal@archbook:~$ brightml features\n {\n \"ambient_light\": 1,\n \"whereami\": \"bed\",\n \"datetime_hour\": 21,\n \"datetime_timezone\": \"UTC+02:00\",\n \"datetime_date\": \"2017-10-28\",\n \"datetime_full\": \"2017-10-28 21:52:43+02:00\",\n \"display_pixel_mean\": 9.072666666666667,\n \"display_window_name\": \"pascal@archbook:~\",\n \"display_window_class\": \"urxvt URxvt\",\n \"battery\": 95.94282414091828\n }\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kootenpv/brightml", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "brightml", "package_url": "https://pypi.org/project/brightml/", "platform": "", "project_url": "https://pypi.org/project/brightml/", "project_urls": { "Homepage": "https://github.com/kootenpv/brightml" }, "release_url": "https://pypi.org/project/brightml/0.2.11/", "requires_dist": [ "scipy", "numpy", "pandas", "scikit-learn", "python-xlib", "Pillow", "simplejson", "pyinotify", "watchdog", "cachetools", "pynput", "whereami ; extra == 'whereami'" ], "requires_python": "", "summary": "Machine Learned Auto brightness", "version": "0.2.11" }, "last_serial": 5953737, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "39bcd7465b391c174920fe3bd71ceaf4", "sha256": "e5d09815703689c9b32c940b2792cd55d77eb5936c33b4e8aa6e7e00c3a8e8d9" }, "downloads": -1, "filename": "brightml-0.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39bcd7465b391c174920fe3bd71ceaf4", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15512, "upload_time": "2017-10-20T15:08:06", "url": "https://files.pythonhosted.org/packages/ee/1e/3249a94eb501be9eb5390e721ba92d09a3e57890820b563478b8174aec10/brightml-0.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac67c3129be6ee970e8d5886123615a0", "sha256": "0700c1e716355828a69e7e8671d84194e7ccd279ed7f4c78af6fd9e8f969ea0e" }, "downloads": -1, "filename": "brightml-0.0.0.tar.gz", "has_sig": false, "md5_digest": "ac67c3129be6ee970e8d5886123615a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11095, "upload_time": "2017-10-20T15:08:03", "url": "https://files.pythonhosted.org/packages/1b/3f/4ab0e8c81c6c45b7a52b296f5a74c1c376b9385a73d8e0ee2eb38ad386db/brightml-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "4c72fbeaad2f84c8e7d1918d7c671906", "sha256": "a843579cca17c9f611510f7babab63263d24fcac6a28241c6e50f450b34942e9" }, "downloads": -1, "filename": "brightml-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c72fbeaad2f84c8e7d1918d7c671906", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15619, "upload_time": "2017-10-20T21:36:33", "url": "https://files.pythonhosted.org/packages/78/e7/c88ffcd4124b44345480138c5c91400a165562e03b9d9ffdba6b37c16e21/brightml-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d6d3e0795aa3d04e690d3d36b40d80e", "sha256": "4ff691a2ba77861667014064e92b2ebcf043fa4e488595315682e0c16473bf54" }, "downloads": -1, "filename": "brightml-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5d6d3e0795aa3d04e690d3d36b40d80e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11157, "upload_time": "2017-10-20T21:36:31", "url": "https://files.pythonhosted.org/packages/90/c5/8809d9ba99fd6daf21ba5b8e5bd15c50ad29ad9431969433937c9392c059/brightml-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "940ce0cb79380d86e8c56b929606c59d", "sha256": "4041cd084e17f6e47aed3c42145699f16cb192b66ffd3923b0a36fbbcf60d4f0" }, "downloads": -1, "filename": "brightml-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "940ce0cb79380d86e8c56b929606c59d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15955, "upload_time": "2017-10-21T20:59:11", "url": "https://files.pythonhosted.org/packages/d9/be/7ca4b69e76f1b16f11d5defeb446b9c62665b7b11db0df8f2f9a9539bfea/brightml-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f8bf0fbd4364e6f4b6c40cb5743e6dc", "sha256": "4f30e83322e97c779c4e27ab991cb7eb5a1b681af2e9f30d8d7d2e2d3cc21ade" }, "downloads": -1, "filename": "brightml-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9f8bf0fbd4364e6f4b6c40cb5743e6dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11287, "upload_time": "2017-10-21T20:59:08", "url": "https://files.pythonhosted.org/packages/07/d2/37e5cb0acd46c018bce463f1afd28c4897df2958baf1619ddac11a849a9c/brightml-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0b2224e9a2811ec1f3f4a71ddfab1f86", "sha256": "45c8e1abdd4c0d73168a2aa9df388f04c3575d88ce4fd2128f69b68117766cdc" }, "downloads": -1, "filename": "brightml-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0b2224e9a2811ec1f3f4a71ddfab1f86", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16609, "upload_time": "2017-10-28T14:59:33", "url": "https://files.pythonhosted.org/packages/85/16/dee57fecc137c06b36ad245bc430279c81c50eef40902aac2765ef1c6ffd/brightml-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4c4ba8d03e328aba5b6e1f36256fefc", "sha256": "e8b73e1bc1ea97bebe66284ecaa577556aac155eb9f5f424e344057d9d7277fa" }, "downloads": -1, "filename": "brightml-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a4c4ba8d03e328aba5b6e1f36256fefc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11681, "upload_time": "2017-10-28T14:59:31", "url": "https://files.pythonhosted.org/packages/45/98/638d8a07ed137f614f4787dbb0d4d1d460b948cf5c849f9d87984c55ad0c/brightml-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "05b0374edf79cb43d6d7dfa275402a1f", "sha256": "f91e158ac300752900008e44f1b615a3c918d6e907dc24890d60ed2caa3aa2a9" }, "downloads": -1, "filename": "brightml-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "05b0374edf79cb43d6d7dfa275402a1f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16794, "upload_time": "2017-10-28T19:28:24", "url": "https://files.pythonhosted.org/packages/a3/72/d3858414688b69ffd9deeed21c3cb78d8ccadd65553eb8ddbfe2a113cc94/brightml-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8a27e8a342d676d3f9a61ad608bf56d", "sha256": "82309666c223c368536c315e437dcabc2bedb814da14c7b217f03ab700a3b791" }, "downloads": -1, "filename": "brightml-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d8a27e8a342d676d3f9a61ad608bf56d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11825, "upload_time": "2017-10-28T19:28:21", "url": "https://files.pythonhosted.org/packages/5e/1e/c0a0f3488528e6c1c1ede73d93503d8953307ea2cb3a3dc9beef12278ecc/brightml-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "a7cc9d71f9a01d3babb2af6e4c344226", "sha256": "8cef38b306c384e805777f655a3e7d4c1b41e971d0a63eb18bccfec2b97dd92a" }, "downloads": -1, "filename": "brightml-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a7cc9d71f9a01d3babb2af6e4c344226", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17347, "upload_time": "2017-10-28T19:57:52", "url": "https://files.pythonhosted.org/packages/4e/58/09515d4fb4ea8b24df42e1bd6ed2960fe61b094bcd64502e8fde42b69de7/brightml-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57420a5881f12facf750eab3b9ca8f5a", "sha256": "2a34e02b9623b8f4c0fbf9cea0f0fee857a2dcb79c2867e22ff3235242d6174d" }, "downloads": -1, "filename": "brightml-0.0.5.tar.gz", "has_sig": false, "md5_digest": "57420a5881f12facf750eab3b9ca8f5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12331, "upload_time": "2017-10-28T19:57:49", "url": "https://files.pythonhosted.org/packages/58/20/4dca24e36c59edbbe52c47b06712751071b58bb508ce6f2d0490955cc1c0/brightml-0.0.5.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "d222f43060ba9cdee14ac2ee8dea4639", "sha256": "14477cd6b7ce5e1a43ae185cbc2bcb5061be7015a183135edc860b999cc1d1d5" }, "downloads": -1, "filename": "brightml-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d222f43060ba9cdee14ac2ee8dea4639", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17352, "upload_time": "2017-11-08T09:21:48", "url": "https://files.pythonhosted.org/packages/57/75/355eced330d29008e18ea636883360ec4a673cf9b1790a5f74331034f19b/brightml-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f38407adcd7e6b6173930adcd87882c", "sha256": "fb1b1cd5e8242b70d0d90e9de01d4d6c88ccd45ef3aa046c53c4158eb120c7a8" }, "downloads": -1, "filename": "brightml-0.0.7.tar.gz", "has_sig": false, "md5_digest": "9f38407adcd7e6b6173930adcd87882c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12451, "upload_time": "2017-11-08T09:21:46", "url": "https://files.pythonhosted.org/packages/aa/dd/4cf2820bc3d851f5a5f205f95b006a1197db6c644b0c633c64b7171ed819/brightml-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "9494c9348ae6442da1142312dc985f0d", "sha256": "a428091126ac320b7d4ee4415dc63f9c248ca7ed9754667e51520c47a86e41e9" }, "downloads": -1, "filename": "brightml-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9494c9348ae6442da1142312dc985f0d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17337, "upload_time": "2017-11-16T22:01:49", "url": "https://files.pythonhosted.org/packages/09/cf/176cb7a708bed8a80e20d37c64125d131c70e4ce718efe3ccdfcca0fcb9e/brightml-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a48b563c14cab48395b431165ac8e7e8", "sha256": "c5f8adea0d88a8e361d28f47be0d6a169fc9f5fd7ef0b7663af9cbe7374e7d77" }, "downloads": -1, "filename": "brightml-0.0.8.tar.gz", "has_sig": false, "md5_digest": "a48b563c14cab48395b431165ac8e7e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12396, "upload_time": "2017-11-16T22:01:46", "url": "https://files.pythonhosted.org/packages/1f/8a/070732c5111129acf7295d473ec9d3803aa9262ff2afe2df0e01703a8bfd/brightml-0.0.8.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "3fec0d10998e40a1abfdf1870bbfc706", "sha256": "4bcfaaf2153116e856807d3b4a2cb0f8dc349158a49cad5cc46589a601ac2aa8" }, "downloads": -1, "filename": "brightml-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3fec0d10998e40a1abfdf1870bbfc706", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16814, "upload_time": "2019-10-05T21:06:19", "url": "https://files.pythonhosted.org/packages/09/d0/2a94a8f0e25a071da289a4489a70c4abbf598f57d71482514a59e0a2c468/brightml-0.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cdbbfb2bb8eb85acf85ec936bab2bae", "sha256": "a4ec2cf8dae82586ecb08bd67e3f1d51536b287df27883ae8ce0263ae77dcfa6" }, "downloads": -1, "filename": "brightml-0.1.10.tar.gz", "has_sig": false, "md5_digest": "5cdbbfb2bb8eb85acf85ec936bab2bae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12880, "upload_time": "2019-10-05T21:06:21", "url": "https://files.pythonhosted.org/packages/ae/e6/c690c692b71abc1f441dc558239c80663336154e748163fc2168cbaff25b/brightml-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "c5a5eef08c41d98252063017303620a9", "sha256": "b2691e0f4f8f28f9b7e210818e0a142603906a2548a08a00102a4b944672b3c0" }, "downloads": -1, "filename": "brightml-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5a5eef08c41d98252063017303620a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17218, "upload_time": "2019-10-08T19:59:25", "url": "https://files.pythonhosted.org/packages/f1/3a/95f130671aef4070b6ac4fc7d66c687adb76aaa42b4475ef913f61298d15/brightml-0.1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31b1e24cb4cf551e1c07a4f78ab725c7", "sha256": "e08fce7dd76e56125dd69269e40ae15158b2dc6d42648aa21761db0545fd25ea" }, "downloads": -1, "filename": "brightml-0.1.11.tar.gz", "has_sig": false, "md5_digest": "31b1e24cb4cf551e1c07a4f78ab725c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13116, "upload_time": "2019-10-08T19:59:26", "url": "https://files.pythonhosted.org/packages/59/ae/5665bd28d58e8fbbba9009c6f40f1805e5116c96913fd7d501ba3a52bf13/brightml-0.1.11.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "2fa9fdf8b95abfd8ede569f9948088a9", "sha256": "d08655f3803eab1ccfcdf84fd5d3feef02b5a999c3eb40e428da574d05011c59" }, "downloads": -1, "filename": "brightml-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2fa9fdf8b95abfd8ede569f9948088a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17384, "upload_time": "2019-10-10T09:06:50", "url": "https://files.pythonhosted.org/packages/e0/36/55c8a9547eb0bda4b78645bcecdeddc61ae4fe24d9ef20f67f6ef5c2dcf8/brightml-0.2.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "313545125f469740c0ee60500bf875f5", "sha256": "57418bdfcdf88d46213a4305731b521049992ac9c06afa7c7300f2775d7a5b25" }, "downloads": -1, "filename": "brightml-0.2.11.tar.gz", "has_sig": false, "md5_digest": "313545125f469740c0ee60500bf875f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13309, "upload_time": "2019-10-10T09:06:52", "url": "https://files.pythonhosted.org/packages/37/00/e7aef38d38da52e93b9181d64de6a5d47dfe550fd859eaa1be7ecdad9251/brightml-0.2.11.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2fa9fdf8b95abfd8ede569f9948088a9", "sha256": "d08655f3803eab1ccfcdf84fd5d3feef02b5a999c3eb40e428da574d05011c59" }, "downloads": -1, "filename": "brightml-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2fa9fdf8b95abfd8ede569f9948088a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17384, "upload_time": "2019-10-10T09:06:50", "url": "https://files.pythonhosted.org/packages/e0/36/55c8a9547eb0bda4b78645bcecdeddc61ae4fe24d9ef20f67f6ef5c2dcf8/brightml-0.2.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "313545125f469740c0ee60500bf875f5", "sha256": "57418bdfcdf88d46213a4305731b521049992ac9c06afa7c7300f2775d7a5b25" }, "downloads": -1, "filename": "brightml-0.2.11.tar.gz", "has_sig": false, "md5_digest": "313545125f469740c0ee60500bf875f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13309, "upload_time": "2019-10-10T09:06:52", "url": "https://files.pythonhosted.org/packages/37/00/e7aef38d38da52e93b9181d64de6a5d47dfe550fd859eaa1be7ecdad9251/brightml-0.2.11.tar.gz" } ] }