{ "info": { "author": "Salim Fadhley, Tod E. Kurt", "author_email": "salimfadhley@gmail.com, todbotdotcom@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Software Development :: Testing" ], "description": "Python Blink(1) library\n=======================\n\nOfficial Python library for blink(1) USB RGB LED notification devices\nhttps://blink1.thingm.com/\n\n- `About this library <#about-this-library>`__\n- `Installation <#installation>`__\n- `Example Code and Installed\n scripts <#example-code-and-installed-scripts>`__\n- `OS-specific notes <#os-specific-notes>`__\n\n - `Linux: <#linux>`__\n - `Mac OS X: <#mac-os-x>`__\n - `Windows: <#windows>`__\n\n- `Use <#use>`__\n\n - `Colors <#colors>`__\n - `Pattern playing <#pattern-playing>`__\n - `Servertickle watchdog <#servertickle-watchdog>`__\n - `Gamma correction <#gamma-correction>`__\n - `White point correction <#white-point-correction>`__\n\n- `API reference <#api-reference>`__\n- `Developer installation <#developer-installation>`__\n\nAbout this library\n------------------\n\nFeatures of this library:\n\n- Test coverage on all library components\n- Python 3.x and Python 2.7.x compatible\n- Automatic installation via Python Package Index\n- High level control over the blink(1)\n- Single implementation with ``cython-hidapi`` USB HID API (PyUSB\n cannot access HID devices on all OSes)\n\nThis library lives at https://github.com/todbot/blink1-python\n\nOriginally written by @salimfadhley, at\nhttps://github.com/salimfadhley/blink1/tree/master/python/pypi. Moved to\nthis repository and rewritten for ``cython-hidapi`` by @todbot.\n\nInstallation\n------------\n\nUse the ``pip`` utility to fetch the latest release of this package and\nany additional components required in a single step:\n\n::\n\n pip install blink1\n\nExample Code and Installed scripts\n----------------------------------\n\nTwo command-line scripts ``blink1-shine`` and ``blink1-flash`` are\ninstalled when this library is installed. \\* ``blink1-shine`` \u2013 Tell the\nblink(1) to be specifc steady color \\* ``blink1-flash`` \u2013 Flash the\nblink(1) two different colors at a specific rate\n\nFor examples, see the ```blink1_demo`` <./blink1_demo/>`__ directory for\nseveral examples on how to use this library.\n\nOS-specific notes\n-----------------\n\nThe ``blink1-python`` library relies on\n`cython-hidapi `__ for USB HID\naccess. This package may require a C compiler and attendant utilities to\nbe installed before installing this library.\n\nLinux:\n~~~~~~\n\nThe following extra packages must be installed:\n\n::\n\n sudo apt-get install python-dev libusb-1.0-0-dev libudev-dev\n\nAnd udev rules for non-root user access to blink(1) devices:\n\n::\n\n echo 'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"27b8\", ATTRS{idProduct}==\"01ed\", MODE:=\"666\", GROUP=\"plugdev\"' | sudo tee /etc/udev/rules.d/51-blink1.rules\n sudo udevadm control --reload\n sudo udevadm trigger\n\nMac OS X:\n~~~~~~~~~\n\nInstall `Xcode `__ with\ncommand-line tools.\n\nWindows:\n~~~~~~~~\n\nYou will need `Microsoft Visual C++ Compiler for Python\n2.7 `__\n\nUse\n---\n\nThe simplest way to use this library is via a context manager.\n\n::\n\n import time\n from blink1.blink1 import blink1\n\n with blink1() as b1:\n b1.fade_to_color(100, 'navy')\n time.sleep(10)\n\nWhen the blink1() block exits the light is automatically switched off.\nIt is also possible to access the exact same set of functions without\nthe context manager:\n\n::\n\n import time\n from blink1.blink1 import Blink1\n\n b1 = Blink1()\n b1.fade_to_rgb(1000, 64, 64, 64)\n time.sleep(3)\n b1.fade_to_rgb(1000, 255, 255, 255)\n\nUnlike the context manager, this demo will leave the blink(1) open at\nthe end of execution. To close it, use the ``b1.close()`` method.\n\nTo list all connected blink(1) devices:\n\n::\n\n from blink1.blink1 import Blink1\n blink1_serials = Blink1.list()\n print(\"blink(1) devices found: \" + ','.join(blink1_serials))\n\nTo open a particular blink(1) device by serial number, pass in its\nserial number as a Unicode string:\n\n::\n\n from blink1.blink1 import blink1\n blink1 = Blink1(serial_number=u'20002345')\n blink1.fade_to_rgb(1000, 255,0,255)\n blink1.close()\n\nColors\n~~~~~~\n\nThere are a number of ways to specify colors in this library:\n\n::\n\n blink1.fade_to_color(1000, '#ffffff') # Hexdecimal RGB as a string\n blink1.fade_to_color(1000, 'green') # Named color - any color name understood by css3\n blink1.fade_to_color(1000, (22,33,44) # RGB as a tuple. Luminance values are 0 <= lum <= 255\n\nAttempting to select a color outside the plausible range will generate\nan InvalidColor exception.\n\nPattern playing\n~~~~~~~~~~~~~~~\n\nThe blink(1) device has a 16-line non-volatile color pattern memory.\nThis color pattern plays automatically if power is applied but not\nconnected to a computer. You can also trigger this pattern (or\nsub-patterns) over USB, leaving your application free to do other things\nbesides blink lights.\n\nEach line in the color pattern consists of an R,G,B triplet and a fade\ntime to reach that color.\n\nTo play the pattern in blink(1) or sub-patterns:\n\n::\n\n blink1.play() # play entire color pattern, infinitely looped\n blink1.stop() # stop a color pattern playing (if playing)\n\n blink1.play(2,3, count=7) # play color pattern lines 2,3 in a loop 7 times\n\nTo alter the lines of the pattern memory:\n\n::\n\n # write 100msec fades to green then yellow then black at lines 3,4,5\n blink1.write_pattern_line( 100, 'green', 3)\n blink1.write_pattern_line( 100, 'yellow', 4)\n blink1.write_pattern_line( 100, 'black', 5)\n\n blink1.play( 3,5, 4) # play that sub-loop 4 times\n\nTo save the pattern to non-volatile memory (overwriting the factory\npattern):\n\n::\n\n blink1.savePattern()\n\nTo quickly play a pattern in Blink1Control-style string format:\n\n::\n\n # play purple on LED1 in 300ms, green on LED2 in 100ms, then swap, for 10 times\n pattern_str = '10, #ff00ff,0.3,1, #00ff00,0.1,2, #ff00ff,0.3,2, #00ff00,0.1,1'\n blink1.play_pattern(pattern_str)\n # wait 5 seconds while the pattern plays on the blink1\n # (or go do something more useful)\n time.sleep(5.0)\n # flash red-off 5 times fast on all LEDs\n blink1.play_pattern('5, #FF0000,0.2,0,#000000,0.2,0')\n\nServertickle watchdog\n~~~~~~~~~~~~~~~~~~~~~\n\nblink(1) also has a \u201cwatchdog\u201d of sorts called \u201cservertickle\u201d. When\nenabled, you must periodically send it to the blink(1) or it will\ntrigger, playing the stored color pattern. This is useful to announce a\ncomputer that has crashed. The blink(1) will flash on its own until told\notherwise.\n\nTo use, enable severtickle with a timeout value (max timeout 62\nseconds):\n\n::\n\n blink1.server_tickle(enable=True, timeout_millis=2000)\n\nGamma correction\n~~~~~~~~~~~~~~~~\n\nThe context manager supports a \u2018\u2019gamma\u2019\u2019 argument which allows you to\nsupply a per-channel gamma correction value.\n\n::\n\n from blink1.blink1 import blink1\n\n with blink1(gamma=(2, 2, 2)) as b1:\n b1.fade_to_color(100, 'pink')\n time.sleep(10)\n\nThis example provides a gamma correction of 2 to each of the three\ncolour channels.\n\nHigher values of gamma make the blink(1) appear more colorful but\ndecrease the brightness of colours.\n\nWhite point correction\n~~~~~~~~~~~~~~~~~~~~~~\n\nThe human eye\u2019s perception of color can be influenced by ambient\nlighting. In some circumstances it may be desirable to apply a small\ncolor correction in order to make colors appear more accurate. For\nexample, if we were operating the blink(1) in a room lit predominantly\nby candle-light:\n\n::\n\n with blink1(white_point='candle', switch_off) as b1:\n b1.fade_to_color(100, 'white')\n\nViewed in daylight this would make the Blink(1) appear yellowish,\nhowever in a candle-lit room this would be perceived as a more natural\nwhite. If we did not apply this kind of color correction the Blink(1)\nwould appear blueish.\n\nThe following values are acceptable white-points:\n\n- Any triple of (r,g,b). Each 0 <= luminance <= 255\n- Any color_temperature expressed as an integer or float in Kelvin\n- A color temperature name.\n\nThe library supports the following temperature names:\n\n- candle\n- sunrise\n- incandescent\n- tungsten\n- halogen\n- sunlight\n- overcast\n- shade\n- blue-sky\n\nAPI reference\n-------------\n\n::\n\n Help on class Blink1 in blink1.blink1:\n\n blink1.blink1.Blink1 = class Blink1\n | Light controller class, sends messages to the blink(1) via USB HID.\n | \n | Methods defined here:\n | \n | __init__(self, serial_number=None, gamma=None, white_point=None)\n | :param serial_number: serial number of blink(1) to open, otherwise first found\n | :param gamma: Triple of gammas for each channel e.g. (2, 2, 2)\n | \n | clear_pattern(self)\n | Clear entire color pattern in blink(1)\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | close(self)\n | \n | fade_to_color(self, fade_milliseconds, color, ledn=0)\n | Fade the light to a known colour\n | :param fade_milliseconds: Duration of the fade in milliseconds\n | :param color: Named color to fade to (e.g. \"#FF00FF\", \"red\")\n | :param ledn: which led to control\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | fade_to_rgb(self, fade_milliseconds, red, green, blue, ledn=0)\n | Command blink(1) to fade to RGB color\n | :param fade_milliseconds: millisecs duration of fade\n | :param red: 0-255\n | :param green: 0-255\n | :param blue: 0-255\n | :param ledn: which LED to control (0=all, 1=LED A, 2=LED B)\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | fade_to_rgb_uncorrected(self, fade_milliseconds, red, green, blue, ledn=0)\n | Command blink(1) to fade to RGB color, no color correction applied.\n | :throws: Blink1ConnectionFailed if blink(1) is disconnected\n | \n | get_serial_number(self)\n | Get blink(1) serial number\n | :return blink(1) serial number as string\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | get_version(self)\n | Get blink(1) firmware version\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | notfound(self)\n | \n | off(self)\n | Switch the blink(1) off instantly\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | play(self, start_pos=0, end_pos=0, count=0)\n | Play internal color pattern\n | :param start_pos: pattern line to start from\n | :param end_pos: pattern line to end at\n | :param count: number of times to play, 0=play forever\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | play_pattern(self, pattern_str, onDevice=True)\n | Play a Blink1Control-style pattern string\n | :param pattern_str: The Blink1Control-style pattern string to play\n | :param onDevice: True (default) to run pattern on blink(1),\n | otherwise plays in Python process\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | play_pattern_local(self, pattern_str)\n | Play a Blink1Control pattern string in Python process\n | (plays in blink1-python, so blocks)\n | :param pattern_str: The Blink1Control-style pattern string to play\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | read(self)\n | Read command result from blink(1), low-level internal use\n | Receive USB Feature Report 0x01 from blink(1) with 8-byte payload\n | Note: buf must be 8 bytes or bad things happen\n | \n | read_pattern(self)\n | Read the entire color pattern\n | :return List of pattern line tuples\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | read_pattern_line(self, pos)\n | Read a color pattern line at position\n | :param pos: pattern line to read\n | :return pattern line data as tuple (r,g,b, step_millis) or False on err\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | save_pattern(self)\n | Save internal RAM pattern to flash\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | server_tickle(self, enable, timeout_millis=0, stay_lit=False, start_pos=0, end_pos=16)\n | Enable/disable servertickle / serverdown watchdog\n | :param: enable: Set True to enable serverTickle\n | :param: timeout_millis: millisecs until servertickle is triggered\n | :param: stay_lit: Set True to keep current color of blink(1), False to turn off\n | :param: start_pos: Sub-pattern start position in whole color pattern\n | :param: end_pos: Sub-pattern end position in whole color pattern\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | set_ledn(self, ledn=0)\n | Set the 'current LED' value for writePatternLine\n | :param ledn: LED to adjust, 0=all, 1=LEDA, 2=LEDB\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | stop(self)\n | Stop internal color pattern playing\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | write(self, buf)\n | Write command to blink(1), low-level internal use\n | Send USB Feature Report 0x01 to blink(1) with 8-byte payload\n | Note: arg 'buf' must be 8 bytes or bad things happen\n | :return: number of bytes written or -1 if failure\n | \n | write_pattern_line(self, step_milliseconds, color, pos, ledn=0)\n | Write a color & step time color pattern line to RAM\n | :param step_milliseconds: how long for this pattern line to take\n | :param color: LED color\n | :param pos: color pattern line number (0-15)\n | :param ledn: LED number to adjust, 0=all, 1=LEDA, 2=LEDB\n | :raises: Blink1ConnectionFailed: if blink(1) is disconnected\n | \n | ----------------------------------------------------------------------\n | Static methods defined here:\n | \n | color_to_rgb(color)\n | Convert color name or hexcode to (r,g,b) tuple\n | :param color: a color string, e.g. \"#FF00FF\" or \"red\"\n | :raises: InvalidColor: if color string is bad\n | \n | find(serial_number=None)\n | Find a praticular blink(1) device, or the first one\n | :param serial_number: serial number of blink(1) device (from Blink1.list())\n | :raises: Blink1ConnectionFailed: if blink(1) is not present\n | \n | list()\n | List blink(1) devices connected, by serial number\n | :return: List of blink(1) device serial numbers\n | \n | parse_pattern(pattern_str)\n | Parse a Blink1Control pattern string to a list of pattern lines\n | e.g. of the form '10,#ff00ff,0.1,0,#00ff00,0.1,0'\n | :param pattern_str: The Blink1Control-style pattern string to parse\n | :returns: an list of dicts of the parsed out pieces\n\nDeveloper installation\n----------------------\n\nHaving checked out the ``blink1-python`` library, cd to its directory\nand run the setup script:\n\n::\n\n git clone https://github.com/todbot/blink1-python\n cd blink1-python\n python3 setup.py develop\n python3 ./blink1_demo/demo1.py\n\nor\n\n::\n\n pip3 install --editable .\n\nYou can now use the ``blink1`` package on your system and edit it.\n\nTo get internal blink1 library debug, messages set the environment\nvariable ``DEBUGBLINK1``:\n\n::\n\n DEBUGBLINK1=1 python3 ./blink1_demo/demo1.py\n\nTo uninstall the development version:\n\n::\n\n python3 setup.py develop --uninstall\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/todbot/blink1-python", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "blink1", "package_url": "https://pypi.org/project/blink1/", "platform": "", "project_url": "https://pypi.org/project/blink1/", "project_urls": { "Homepage": "https://github.com/todbot/blink1-python" }, "release_url": "https://pypi.org/project/blink1/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Official blink(1) control library", "version": "0.3.0" }, "last_serial": 5560030, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "9071cb90b98a6b9ecb4a5d9af56ee549", "sha256": "d17e25e01045e2227748720ce7b441940dd6ceb00cf301923519dc073090d781" }, "downloads": -1, "filename": "blink1-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9071cb90b98a6b9ecb4a5d9af56ee549", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4349, "upload_time": "2014-06-16T23:58:13", "url": "https://files.pythonhosted.org/packages/19/f5/93ac814ef0b29ef8a7e5cc86df2f52229f4cd6ab872dba105ad064042ee1/blink1-0.0.1-py3-none-any.whl" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "e0aa382f05c1d9e45419f98ba36d9075", "sha256": "6e8b19e1a2ed343fbc9dca1c839ac8e397466ebf8ba5d3054c1b24471a25e126" }, "downloads": -1, "filename": "blink1-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "e0aa382f05c1d9e45419f98ba36d9075", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11619, "upload_time": "2014-06-27T00:05:42", "url": "https://files.pythonhosted.org/packages/0a/50/d6647407f3f14e6e53a512b8ea459c780a215f02dcc08eb92a03b5561d57/blink1-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2ce788c45717271bf3833675ade2326", "sha256": "b7761f55c083b7159a8b62790e647ad3d01813fa60bc30386bb386631dcdae4d" }, "downloads": -1, "filename": "blink1-0.0.11.tar.gz", "has_sig": false, "md5_digest": "b2ce788c45717271bf3833675ade2326", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6825, "upload_time": "2014-06-27T00:05:40", "url": "https://files.pythonhosted.org/packages/27/57/2d2b18dc46194e171ee2c6d30e2dbb91a1de92aa6c29cab95dbf578da3aa/blink1-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "bb0c1e5fe19e22f292386bdcb4d2e5c7", "sha256": "3c749f5c72b5109742adfb56fbacbef23af088d1a7caeb8c6ebd65a84f522cca" }, "downloads": -1, "filename": "blink1-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "bb0c1e5fe19e22f292386bdcb4d2e5c7", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11643, "upload_time": "2014-06-29T21:40:21", "url": "https://files.pythonhosted.org/packages/0c/84/c444c2e1a3af6a29f77dbced29169bfd2d7402ad6a1d5ec52e884d58dbcb/blink1-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f44ba7a89e8abf64315a45b380a36493", "sha256": "59eb0d90a39de6f1dc9f199945757d573113f476afb85671418070a37edd895f" }, "downloads": -1, "filename": "blink1-0.0.12.tar.gz", "has_sig": false, "md5_digest": "f44ba7a89e8abf64315a45b380a36493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6846, "upload_time": "2014-06-29T21:40:18", "url": "https://files.pythonhosted.org/packages/4c/06/8ab3dc22a9435870985ecc9932d2d1fd0e96d1c1b4e69798407983514322/blink1-0.0.12.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ae15c047a5b0070065231688da75bf28", "sha256": "377bbd7e4af26217582604be9fd10fbcf154709bf53efa2af9cf1b904f9d04f3" }, "downloads": -1, "filename": "blink1-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ae15c047a5b0070065231688da75bf28", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5047, "upload_time": "2014-06-17T00:38:24", "url": "https://files.pythonhosted.org/packages/e3/dd/aed92b2cb5becac2c4e9c3e7aa39d952ecba40a8add633c1e0bcd8ec4b38/blink1-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "c55e192ff968c50a7ce810ffb140ca1a", "sha256": "bb4b013a65937032f2324ee02449d292b667ad38f12339a886fe50dba06ce598" }, "downloads": -1, "filename": "blink1-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c55e192ff968c50a7ce810ffb140ca1a", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5050, "upload_time": "2014-06-17T00:43:25", "url": "https://files.pythonhosted.org/packages/f3/a7/a95a8f528a0cd7c6c8afe55fa469e47794563991ee6c09e7987be721d1a7/blink1-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af8da5a6f962bb8442b78c089750062e", "sha256": "59e7ce17da31582da9c480bce36d95cc78d055c16faa3ff5c050bef386355b1d" }, "downloads": -1, "filename": "blink1-0.0.3.tar.gz", "has_sig": false, "md5_digest": "af8da5a6f962bb8442b78c089750062e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3328, "upload_time": "2014-06-17T00:43:34", "url": "https://files.pythonhosted.org/packages/a6/ea/94b3247ecd314611c92db126d0c2fc425e282e6b5c424af75a5eaf9f3c23/blink1-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c079aea3fc181e6ac8938327d535f783", "sha256": "a28c7cee0b8cc4c4cb9b567129b767e8b9100f4f05c57a91af56bf9248f1636f" }, "downloads": -1, "filename": "blink1-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c079aea3fc181e6ac8938327d535f783", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5076, "upload_time": "2014-06-17T23:37:53", "url": "https://files.pythonhosted.org/packages/3e/cf/9e08baebfc4dc1d79d8dbb6e0f8beaa02b8135906d55c593eb42cec23bbc/blink1-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "288799fcc229a1262248a396fa1f2a48", "sha256": "3973c7f0acd7ed953ed05ee11428760455a17d54a3095177ddc94372b3dad08d" }, "downloads": -1, "filename": "blink1-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "288799fcc229a1262248a396fa1f2a48", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5071, "upload_time": "2014-06-18T00:07:09", "url": "https://files.pythonhosted.org/packages/b7/1b/b60a3f2748351919cb81e187e4899da153b0875dce15be3f17a244194616/blink1-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0c934264c70d7129e59cd818e3ec754", "sha256": "aad42f643d83ea73b192a08a58ebde74cb813897da2ec9e5e08aab80708968cd" }, "downloads": -1, "filename": "blink1-0.0.5.tar.gz", "has_sig": false, "md5_digest": "b0c934264c70d7129e59cd818e3ec754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3387, "upload_time": "2014-06-18T00:07:06", "url": "https://files.pythonhosted.org/packages/c9/50/fb5bf00db6594e65e9df5c563543fb8c4e27fed9a6fb6ace29a8885399c6/blink1-0.0.5.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "dd3c8b769dfd8b7067a777e85a5e845b", "sha256": "ab6a6e6e2da3014a40bc0563fc52b438ed307fbcc4d305eb0f510fbe14b18091" }, "downloads": -1, "filename": "blink1-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "dd3c8b769dfd8b7067a777e85a5e845b", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6144, "upload_time": "2014-06-18T23:57:50", "url": "https://files.pythonhosted.org/packages/5a/d9/01181e0b34e5d8a74c61f6deedc3c80817fc7b43100d6047cba0cb0cbc8c/blink1-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e62ecd1b8e15f60d7e381a42b20351b", "sha256": "c0102f9b794ef84989489aeac87c57e289f80810d2bad2291960458cbc0bd1e0" }, "downloads": -1, "filename": "blink1-0.0.8.tar.gz", "has_sig": false, "md5_digest": "4e62ecd1b8e15f60d7e381a42b20351b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3837, "upload_time": "2014-06-18T23:57:44", "url": "https://files.pythonhosted.org/packages/53/8e/ae8f9ef18f0ec43f668a064528dabefe7602051aa05aec6f7e2e27d27155/blink1-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "6a92e489673b4198ab0859fb3e51bd9e", "sha256": "1ad77d02679a51d325adab18ddf5b78a1a1a53ecb6196ede4f344a4d527e5942" }, "downloads": -1, "filename": "blink1-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "6a92e489673b4198ab0859fb3e51bd9e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 7733, "upload_time": "2014-06-23T23:34:09", "url": "https://files.pythonhosted.org/packages/22/95/354263d536e69969eda9a896d01a2679a7def3f1b64ba61fd9504946b591/blink1-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8be27c39fdd97b6556fcd384efa35c2b", "sha256": "fbdc232062edc17f5a2538a02cc27f47f53a25837b61f6970b2a774da471d378" }, "downloads": -1, "filename": "blink1-0.0.9.tar.gz", "has_sig": false, "md5_digest": "8be27c39fdd97b6556fcd384efa35c2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4466, "upload_time": "2014-06-23T23:34:07", "url": "https://files.pythonhosted.org/packages/91/b2/d805a8a089803d749bb745e6b3864bf10104e848cb08f64ccaa244f15eb8/blink1-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "84534bbbe88d25435a53b538f10a36df", "sha256": "04d92abd2329b4a59da9b3d415afb1c8ea6cec453695647671303527ff1be985" }, "downloads": -1, "filename": "blink1-0.1.0.tar.gz", "has_sig": false, "md5_digest": "84534bbbe88d25435a53b538f10a36df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7315, "upload_time": "2017-12-07T01:51:43", "url": "https://files.pythonhosted.org/packages/a2/8d/38316e88a4683e0e7a7736b26cfc0f88ad14982a0fe3ab3d6dc4786dbb41/blink1-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a571734d057edbbdccc8f57f07d7f2af", "sha256": "7e02421ac03395e7c9002f4789a5446151c5b0ef033e8dec173ba2e9f4241d29" }, "downloads": -1, "filename": "blink1-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a571734d057edbbdccc8f57f07d7f2af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7806, "upload_time": "2017-12-07T06:32:16", "url": "https://files.pythonhosted.org/packages/52/e0/a2b4513ea0f04f2349704ddeda6049d49a18ad60aefd0bbd16f65e593bc5/blink1-0.1.1.tar.gz" } ], "0.1.1.2": [ { "comment_text": "", "digests": { "md5": "3565b578c0d07f6a309850a7c4dee74c", "sha256": "b101e8ec0295255f5c24fde7b70a5dd62c9a8c84bbfecb7d6d6794c0c1f69465" }, "downloads": -1, "filename": "blink1-0.1.1.2.tar.gz", "has_sig": false, "md5_digest": "3565b578c0d07f6a309850a7c4dee74c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8076, "upload_time": "2017-12-07T18:16:19", "url": "https://files.pythonhosted.org/packages/d6/a7/0f5100e0cc97cbad0b84add4cc2854aafb8236fe5a3e3b2651cf71bdee68/blink1-0.1.1.2.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d333ad60deb1eb818f00bda2f9365630", "sha256": "116b5794c6be3d6c35b0b189adf005c1eac8afce3b8d1c222b66f771aba739e7" }, "downloads": -1, "filename": "blink1-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d333ad60deb1eb818f00bda2f9365630", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8069, "upload_time": "2017-12-07T18:16:37", "url": "https://files.pythonhosted.org/packages/56/c2/3eff89709dd19ca37760214cfe763238e5f53d9c05efdf7940967dca6310/blink1-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f63fdccfb2ac027b9d537429e384610c", "sha256": "91f982414a1752a47dfb4ea06266adaeaa1058b43c749eae2803676915eddc3e" }, "downloads": -1, "filename": "blink1-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f63fdccfb2ac027b9d537429e384610c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8077, "upload_time": "2017-12-24T17:33:54", "url": "https://files.pythonhosted.org/packages/bf/62/fb8a2065083a9ab2c365ba26ad8c70fd3bbfde9357acfc4c1d8c04374180/blink1-0.1.3.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "165c7fc21fac03d49deff6eaf94fd1b7", "sha256": "8a709a4a2a334f8664d1760ed7b4c6b0b36f4653dfb9acdfb37c1a6ee1cafb03" }, "downloads": -1, "filename": "blink1-0.2.1.tar.gz", "has_sig": false, "md5_digest": "165c7fc21fac03d49deff6eaf94fd1b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11439, "upload_time": "2018-04-22T21:28:18", "url": "https://files.pythonhosted.org/packages/13/af/243df732e0e2ad2044dbd4ced576ce1a4494ee244083dae71fbb70f9b310/blink1-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "403e888921c1d18f9e59bce7ac414003", "sha256": "771e738a5e98d0485c064c19623d8f7a44903b006106759630b8b24ed9826f77" }, "downloads": -1, "filename": "blink1-0.2.3.tar.gz", "has_sig": false, "md5_digest": "403e888921c1d18f9e59bce7ac414003", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12872, "upload_time": "2018-12-09T18:20:04", "url": "https://files.pythonhosted.org/packages/d8/cd/e3caca3c6d763c0213468e81682582984757e832199e31b6a6ffdc185700/blink1-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6c17032888a1689c28a6a47b7f79dc2b", "sha256": "003f7920e633e6ab07b7105dd6560d2b2c9be2a36a4e5d5e461818ad04a61403" }, "downloads": -1, "filename": "blink1-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6c17032888a1689c28a6a47b7f79dc2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18063, "upload_time": "2019-07-20T08:05:26", "url": "https://files.pythonhosted.org/packages/80/ec/63ad0286fdf2d83a60a21dba30bf58b9a81485f863f906487d1688ca17dc/blink1-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6c17032888a1689c28a6a47b7f79dc2b", "sha256": "003f7920e633e6ab07b7105dd6560d2b2c9be2a36a4e5d5e461818ad04a61403" }, "downloads": -1, "filename": "blink1-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6c17032888a1689c28a6a47b7f79dc2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18063, "upload_time": "2019-07-20T08:05:26", "url": "https://files.pythonhosted.org/packages/80/ec/63ad0286fdf2d83a60a21dba30bf58b9a81485f863f906487d1688ca17dc/blink1-0.3.0.tar.gz" } ] }