{ "info": { "author": "Chris Speck", "author_email": "cgspeck@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "EELifx\n======\n\n|Master Build Status| \\| `Source `__\n\nAutomatically set your `Lifx globes `__ according\nto player ship game state in\n`EmptyEpsilon `__. It uses the\n`Lifx LAN Protocol `__ and may control\nany lights that are on the same network as EELifx.\n\nInstallation\n------------\n\nWith Python 3.6+, run ``pip install eelifx``\n(`Virtualenv `__\nrecommended).\n\nQuick Start\n-----------\n\n1. Start EmptyEpsilon in another console with the httpserver switch:\n ``EmptyEpsilon httpserver=8080``\n\n2. Turn on your Lifx lights, make sure they are conn\n\n3. Run EELifx and point it at your server, e.g.\n ``eelifx run 192.168.1.10`` or ``eelifx run localhost``\n\nAdvanced Usage\n--------------\n\nThe full range of commands are avaliable by running help:\n\n::\n\n $ eelifx\n Usage: eelifx [OPTIONS] COMMAND [ARGS]...\n\n EELifx Copyright (C) 2017 Chris Speck\n\n Options:\n --loglevel TEXT E.g. \"DEBUG\" or \"INFO\"\n --help Show this message and exit.\n\n Commands:\n grouptest Execute each rule in succession.\n queryship Query EE and set parameters if given.\n reset Reset lights to base state.\n run Poll and set lights according to game state.\n showconfig Print default config to standard out.\n\nCustom Configs\n~~~~~~~~~~~~~~\n\nYour can pass the path to a custom config to the ``run`` and\n``grouptest`` commands with ``--config ``.\n\nYou can find example configs in `the\nrepo `__ or by\nrunning ``eelifx showconfig``\n\nRules and Groups\n~~~~~~~~~~~~~~~~\n\nGroups represent Lifx Groups, and have a match regex defined within the\nconfiguration which tell EELifx which bulbs to apply the groups' rules\nto. The default pattern is ``.*`` (i.e. all groups).\n\nThis tool peroidically polls EmptyEpsilon, parses the game state into a\nship object, and evaluates rule statements in the order in which they\nare defined within each group. If the rule statement returns true then\nits effect is applied, with the following notes:\n\n- lights are always initially set to their base\\_state\n- ``set_power`` latches to False, that is, any call to False will\n override any other call to True within that iteration\n- ``set_colour`` accepts any colour which the\n `colour `__ package supports\n- the last call to ``set_colour`` overrides any earlier call\n- ``set_luminance`` accepts a float in range 0 - 1\n- the last call to ``set_luminance`` overrides any earlier call\n- the last call to ``set_waveform`` overrides any earlier call\n- the luminance of any colour set through ``set_colour`` or\n ``set_waveform`` will be clipped to that group's ``max_luminance``\n- the luminance of any colour will be multiplied by any value set by\n ``set_luminance``\n\nWaveform Support\n~~~~~~~~~~~~~~~~\n\nThis doesn't seem to be documented particulararly well, but the source\nof the\n`lifx-gem `__\nshows that the following waveforms are supported:\n\n::\n\n SAW = 0\n SINE = 1\n HALF_SINE = 2\n TRIANGLE = 3\n PULSE = 4\n\n``set_waveform`` takes a dictionary with the following keys: \\* ``hz``\nas an integer \\* ``waveform`` as a string, being one of those named\nabove \\* an optinal ``alt_colour``, being the same format as that given\nto ``set_colour``\n\nLifxCommander\n~~~~~~~~~~~~~\n\nThe methods ``set_colour``, ``set_power``, ``set_waveform`` and\n``set_luminance`` are the only methods on lifx\\_commander which you\nshould call in your config. See example configs for details.\n\nShip object\n~~~~~~~~~~~\n\nThe ship object exposes the following properties:\n\n- ship.hull - float in range 0 - 1\n- ship.energy - float in range 0 - 1\n- ship.alert\\_level - string, 'Normal', 'YELLOW ALERT' or 'RED ALERT'\n\nLicensed under the GPLv3\n\n.. |Master Build Status| image:: https://travis-ci.org/cgspeck/eelifx.svg?branch=master\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/cgspeck/eelifx/archive/0.8.2\n.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cgspeck/eelifx", "keywords": "EmptyEpsilon", "license": "", "maintainer": "", "maintainer_email": "", "name": "eelifx", "package_url": "https://pypi.org/project/eelifx/", "platform": "", "project_url": "https://pypi.org/project/eelifx/", "project_urls": { "Download": "https://github.com/cgspeck/eelifx/archive/0.8.2\n.tar.gz", "Homepage": "https://github.com/cgspeck/eelifx" }, "release_url": "https://pypi.org/project/eelifx/0.8.2/", "requires_dist": null, "requires_python": "", "summary": "Use game state in EmptyEpsilon to control your Lifx globes.", "version": "0.8.2" }, "last_serial": 2754817, "releases": { "0.8.0": [ { "comment_text": "", "digests": { "md5": "74727c887d746b98832edfcc5db4cc36", "sha256": "6820d34c3fefd9ef40fc80466b3763d96fd5ab1f16eb8a5c2f138a94e8a24385" }, "downloads": -1, "filename": "eelifx-0.8.0.tar.gz", "has_sig": false, "md5_digest": "74727c887d746b98832edfcc5db4cc36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9802, "upload_time": "2017-04-04T12:40:41", "url": "https://files.pythonhosted.org/packages/e0/74/5d50eb492564b47b0f897802f1e060fa34309e3ef1772b893e8a23510896/eelifx-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "0218f6d0f61c89fdd6526f277b542620", "sha256": "1dd80e0d5ecc9c1ab4760ae6e397e8bdf0920edc722442feaaff70ba093e20ba" }, "downloads": -1, "filename": "eelifx-0.8.1.tar.gz", "has_sig": false, "md5_digest": "0218f6d0f61c89fdd6526f277b542620", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10505, "upload_time": "2017-04-05T12:25:38", "url": "https://files.pythonhosted.org/packages/c5/84/d7dcad8b9fef893a13834c8641446e9d55861997ced82bcc1079d61e194e/eelifx-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "2aaa5f60509319471951cbcf44095892", "sha256": "1752d1f264965f850a5283e31baf6ee979c81cd8cb724cf167f2ba7dae9b9529" }, "downloads": -1, "filename": "eelifx-0.8.2.tar.gz", "has_sig": false, "md5_digest": "2aaa5f60509319471951cbcf44095892", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10499, "upload_time": "2017-04-05T12:27:12", "url": "https://files.pythonhosted.org/packages/d3/eb/3e13255ae77e11e9029ccd742b408e4bdaa027bb4dc401a2fe110fedbaf6/eelifx-0.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2aaa5f60509319471951cbcf44095892", "sha256": "1752d1f264965f850a5283e31baf6ee979c81cd8cb724cf167f2ba7dae9b9529" }, "downloads": -1, "filename": "eelifx-0.8.2.tar.gz", "has_sig": false, "md5_digest": "2aaa5f60509319471951cbcf44095892", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10499, "upload_time": "2017-04-05T12:27:12", "url": "https://files.pythonhosted.org/packages/d3/eb/3e13255ae77e11e9029ccd742b408e4bdaa027bb4dc401a2fe110fedbaf6/eelifx-0.8.2.tar.gz" } ] }