{ "info": { "author": "Nicholas H.Tollervey", "author_email": "ntoll@ntoll.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Education", "Topic :: Software Development :: Embedded Systems" ], "description": "uFlash\n======\n\n**THIS MODULE ONLY WORKS WITH PYTHON 2.7 or 3.3+.**\n\nA utility for flashing the BBC micro:bit with Python scripts and the\nMicroPython runtime. You pronounce the name of this utility \"micro-flash\". ;-)\n\nIt provides three services:\n\n1. A library of functions to programatically create a hex file and flash it onto a BBC micro:bit.\n2. A command line utility called `uflash` that will flash Python scripts onto a BBC micro:bit.\n3. A command line utility called `py2hex` for creating hex files from Python scripts and saving them on the local filesystem\n\nSeveral essential operations are implemented:\n\n* Encode Python into the hex format.\n* Embed the resulting hexified Python into the MicroPython runtime hex.\n* Extract an encoded Python script from a MicroPython hex file.\n* Discover the connected micro:bit.\n* Copy the resulting hex onto the micro:bit, thus flashing the device.\n* Specify the MicroPython runtime hex in which to embed your Python code.\n\nInstallation\n------------\n\nTo install simply type::\n\n $ pip install uflash\n\n...and the package will download from PyPI. If you wish to upgrade to the\nlatest version, use the following command::\n\n $ pip install --no-cache --upgrade uflash\n\n**NB:** You must use a USB *data* cable to connect the micro:bit to your\ncomputer (some cables are power only). You're in good shape if, when plugged\nin, the micro:bit appears as a USB storage device on your file system.\n\nLinux users: For uflash to work you must ensure the micro:bit is mounted as a\nUSB storage device. Usually this is done automatically. If not you've probably\nconfigured automounting to be off. If that's the case, we assume you\nhave the technical knowledge to mount the device yourself or to install the\nrequired kernel modules if they're missing. Default installs of popular Linux\ndistros \"should just work\" (tm) out of the box given a default install.\n\nCommand Usage\n-------------\n\nuflash\n~~~~~~\n\nTo read help simply type::\n\n $ uflash --help\n\nor::\n\n $ uflash -h\n\nTo discover the version information type::\n\n $ uflash --version\n\nIf you type the command on its own then uflash will attempt to find a connected\nBBC micro:bit and flash an unmodified default version of the MicroPython\nruntime onto it::\n\n $ uflash\n Flashing Python to: /media/ntoll/MICROBIT/micropython.hex\n\nTo flash a version of the MicroPython runtime with a specified script embedded\nwithin it (so that script is run when the BBC micro:bit boots up) then pass\nthe path to the Python script in as the first argument to the command::\n\n $ uflash my_script.py\n Flashing my_script.py to: /media/ntoll/MICROBIT/micropython.hex\n\nYou can let uflash watch for changes of your script. It will be flashed\nautomatically every time you save it::\n\n $ uflash -w my_script.py\n\nor::\n\n $ uflash --watch my_script.py\n\nAt this point uflash will try to automatically detect the path to the device.\nHowever, if you have several devices plugged in and/or know what the path on\nthe filesystem to the BBC micro:bit already is, you can specify this as a\nsecond argument to the command::\n\n $ uflash myscript.py /media/ntoll/MICROBIT\n Flashing myscript.py to: /media/ntoll/MICROBIT/micropython.hex\n\nYou can even flash multiple devices at once::\n\n $ uflash myscript.py /media/ntoll/MICROBIT /media/ntoll/MICROBIT1\n Flashing myscript.py to: /media/ntoll/MICROBIT/micropython.hex\n Flashing myscript.py to: /media/ntoll/MICROBIT1/micropython.hex\n\nTo extract a Python script from a hex file use the \"-e\" flag like this::\n\n $ uflash -e something.hex myscript.py\n\nThis will save the Python script recovered from \"something.hex\" into the file\n\"myscript.py\". If you don't supply a target the recovered script will emit to\nstdout.\n\nIf you're developing MicroPython and have a custom runtime hex file you can\nspecify that uflash use it instead of the built-in version of MicroPython in\nthe following way::\n\n $ uflash -r firmware.hex\n\nor::\n\n $ uflash --runtime=firmware.hex\n\npy2hex\n~~~~~~\n\nTo create output .hex files in the same directory as the input .py files::\n\n $ py2hex tests/example.py\n Hexifying example.py as: tests/example.hex\n\npy2hex includes that same -r/--runtime and -m/--minify options as uflash\nand adds an additional option -o/--outdir:\n\nTo create output .hex files in a different directory::\n\n $ py2hex example.py -o /tmp\n Hexifying example.py as: /tmp/example.hex\n\nor::\n\n $ py2hex example.py --outdir /tmp\n Hexifying example.py as: /tmp/example.hex\n\npy2hex can handle multiple input files::\n\n $ py2hex a.py b.py c.py\n Hexifying a.py as: a.hex\n Hexifying b.py as: b.hex\n Hexifying c.py as: c.hex\n\nor::\n\n $ py2hex *.py\n Hexifying a.py as: a.hex\n Hexifying b.py as: b.hex\n Hexifying c.py as: c.hex\n\nDevelopment\n-----------\n\nThe source code is hosted in GitHub. Please feel free to fork the repository.\nAssuming you have Git installed you can download the code from the canonical\nrepository with the following command::\n\n $ git clone https://github.com/ntoll/uflash.git\n\nEnsure you have the correct dependencies for development installed by creating\na virtualenv and running::\n\n $ pip install -r requirements.txt\n\nTo locally install your development version of the module into a virtualenv,\nrun the following command::\n\n $ python setup.py develop\n\nThere is a Makefile that helps with most of the common workflows associated\nwith development. Typing ``make`` on its own will list the options thus::\n\n $ make\n\n There is no default Makefile target right now. Try:\n\n make clean - reset the project and remove auto-generated assets.\n make pyflakes - run the PyFlakes code checker.\n make pep8 - run the PEP8 style checker.\n make test - run the test suite.\n make coverage - view a report on test coverage.\n make check - run all the checkers and tests.\n make package - create a deployable package for the project.\n make rpm - create an rpm package for the project.\n make publish - publish the project to PyPI.\n make docs - run sphinx to create project documentation.\n\n\nRelease History\n===============\n\n1.2.4\n-----\n\n* Updated to the latest version of MicroPython for micro:bit (1.0.1)\n* This is the version of uflash to be used in Mu 1.0.2.\n\n1.2.3\n-----\n\n* Update to the latest version of MicroPython for micro:bit (1.0.0).\n* This is the version of uflash to be used in Mu 1.0.1.\n\n1.2.2\n-----\n\n* Update to latest version of MicroPython for micro:bit (1.0.0-rc.3).\n\n1.2.1\n-----\n\n* Update to latest version of MicroPython. Thanks to Damien George and Carlos\n Pereira Atencio for their hard work.\n* This is the version of uflash to be used in Mu 1.0.0 (final).\n\n1.2.0\n-----\n\n* Update to latest version of MicroPython. Thanks to Damien George.\n* Add attribute called MICROPYTHON_VERSION to report the version of MicroPython\n bundled with uflash.\n\n1.1.1\n-----\n\n* Update to the latest version of MicroPython for the BBC micro:bit -- fixes a\n bug relating to flooding and the radio module. As always, many thanks to\n Damien George for his work on MicroPython.\n\n1.1.0\n-----\n\n* Update to latest version of MicroPython for the BBC micro:bit (many thanks to Damien George for his amazing efforts!).\n* Add a --version flag to uflash that causes it to print the current version number (many thanks to Lenz Grimmer for this work).\n* Allow uflash to accept the content of a script as well as the path to a script (many thanks to Zander Brown for this work).\n* Ensure uflash works nicely / better with external tools (many thanks to Lex Robinson for this work).\n* Added copyright and license information to the start of the script.\n\n1.0.8\n-----\n\n* Refactor hex extraction to not depend on extended address record before script (thanks Carlos).\n* Refactor tox tests to fix Windows related Gremlin (thanks again, Carlos).\n\n1.0.7\n-----\n\n* Watch for changes in a script. Automatically flash on save.\n\n1.0.5\n-----\n\n* Update runtime to include latest bug fixes and inclusion of input() builtin.\n* Detecting drives on Windows 10 no longer causes pop-ups in certain situations.\n* Documentation updates.\n\n1.0.4\n-----\n\n* Add support for flash multiple microbits.\n\n1.0.3\n-----\n\n* Update runtime to include audio and speech modules.\n\n1.0.2\n-----\n\n* Update runtime to include the new radio module.\n\n1.0.1\n-----\n\n* Update runtime to include file system related changes.\n\n1.0.0.final.0\n-------------\n\n* Runtime updated to version 1.0 of MicroPython for the BBC micro:bit.\n\n1.0.0.beta.7\n------------\n\n* Runtime update to fix display related bug.\n\n1.0.0.beta.6\n------------\n\n* Runtime update to latest version of the DAL (swaps pins 4 and 5).\n\n1.0.0.beta.5\n------------\n\n* Runtime update to fix error reporting bug.\n\n1.0.0.beta.4\n------------\n\n* Documentation update.\n* Help text update.\n\n1.0.0.beta.3\n------------\n\n* Add ability to specify a MicroPython runtime to use.\n* Test fixes.\n\n1.0.0.beta.2\n------------\n\n* Updated to latest version of MicroPython runtime.\n\n1.0.0.beta.1\n------------\n\n* Works with Python 2.7 (thanks to @Funkyhat).\n* Updated to the latest build of MicroPython for the BBC micro:bit.\n* Minor refactoring and updates to the test suite due to MicroPython updates.\n\n0.9.17\n------\n\n* Minor code refactor.\n* Documentation update.\n\n0.9.14\n------\n\n* Feature complete.\n* Comprehensive test suite - 100% coverage.\n* Tested on Linux and Windows.\n* Documentation.\n* Access via the \"uflash\" command.\n\n0.0.1\n-----\n\n* Initial release. Basic functionality.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ntoll/uflash", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "uflash", "package_url": "https://pypi.org/project/uflash/", "platform": "", "project_url": "https://pypi.org/project/uflash/", "project_urls": { "Homepage": "https://github.com/ntoll/uflash" }, "release_url": "https://pypi.org/project/uflash/1.3.0/", "requires_dist": null, "requires_python": "", "summary": "A module and utility to flash Python onto the BBC micro:bit.", "version": "1.3.0" }, "last_serial": 5654099, "releases": { "0.0.1": [], "0.9.15b0": [ { "comment_text": "", "digests": { "md5": "e8103764c0baf07228c959def320bbd7", "sha256": "7c11891f04725f5af1f805dda3f27e2aafddb6ad5fafd93cf882510cb795580a" }, "downloads": -1, "filename": "uflash-0.9.15b0.tar.gz", "has_sig": false, "md5_digest": "e8103764c0baf07228c959def320bbd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220495, "upload_time": "2015-12-23T08:03:24", "url": "https://files.pythonhosted.org/packages/cc/9e/c1e6b3684e65091bda84bf650dd1b7d58148c8b96e4e613b9c3f49478ac5/uflash-0.9.15b0.tar.gz" } ], "0.9.16b0": [ { "comment_text": "", "digests": { "md5": "76a12808a33be35a8264a2e5f5e99eb5", "sha256": "8692fe06eead3afd19df04d6e5123b3287ef029a281a6effd5ffa4ba795e51dd" }, "downloads": -1, "filename": "uflash-0.9.16b0.tar.gz", "has_sig": false, "md5_digest": "76a12808a33be35a8264a2e5f5e99eb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220774, "upload_time": "2015-12-27T23:50:17", "url": "https://files.pythonhosted.org/packages/97/b2/be1fef0c9dc91330db12698ee63d4b3e30416b9c5d581d7a8f39185756b8/uflash-0.9.16b0.tar.gz" } ], "0.9.17b0": [ { "comment_text": "", "digests": { "md5": "8a2d67fa3c923d2fbafd261e68f6b623", "sha256": "331ddbcffb11381cc125dcae9d6b12ae958df52faaf59cb970588f876580c025" }, "downloads": -1, "filename": "uflash-0.9.17b0.tar.gz", "has_sig": false, "md5_digest": "8a2d67fa3c923d2fbafd261e68f6b623", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220812, "upload_time": "2015-12-27T23:52:59", "url": "https://files.pythonhosted.org/packages/07/37/8c57ad16399686e4240f110bacbcfb54572447b43b90df918f81d82e1e0a/uflash-0.9.17b0.tar.gz" } ], "0.9.18b0": [ { "comment_text": "", "digests": { "md5": "d2f92c7cc425ede59b8396190e0a571d", "sha256": "876e427812530a14a1b662213343aca2c65e58b7e9bcf6d1625f0f1c317b6e1a" }, "downloads": -1, "filename": "uflash-0.9.18b0.tar.gz", "has_sig": false, "md5_digest": "d2f92c7cc425ede59b8396190e0a571d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 221617, "upload_time": "2016-01-12T20:59:21", "url": "https://files.pythonhosted.org/packages/fb/5f/e000ca66c30aa16f4cf230c9b63a48c92694695f5cc1ecae52186d19769a/uflash-0.9.18b0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "ad22fe59980ab3529f5352bd711324c0", "sha256": "6fff9a01069ea52a9028c3c3b3f6be1d277f3a65d02594f12885be2b3cd948d3" }, "downloads": -1, "filename": "uflash-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ad22fe59980ab3529f5352bd711324c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 243453, "upload_time": "2016-05-04T07:10:19", "url": "https://files.pythonhosted.org/packages/64/11/b9fb282500746d2d28765b6d5b8034c7339c80766c40bccc350e563d9894/uflash-1.0.0.tar.gz" } ], "1.0.0b0": [ { "comment_text": "", "digests": { "md5": "d16bf900cb6ab05f0569567dda58231d", "sha256": "b2287c96f3c664b400916ce6ee7cfcbc9a722fc17c64119543236831004fda2c" }, "downloads": -1, "filename": "uflash-1.0.0b0.tar.gz", "has_sig": false, "md5_digest": "d16bf900cb6ab05f0569567dda58231d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 238650, "upload_time": "2016-01-22T14:23:13", "url": "https://files.pythonhosted.org/packages/32/a0/43c8ce1b719d804947dff0ea789b8b1335ef248d754fe732f2c909c18be3/uflash-1.0.0b0.tar.gz" } ], "1.0.0b1": [ { "comment_text": "", "digests": { "md5": "af1fd0007b05fe1ea11b84a376e1d8f3", "sha256": "ac2cf5ac0f6a4ca22563324a30d0a366a1debf88bedc89e8cf0054150270f403" }, "downloads": -1, "filename": "uflash-1.0.0b1.tar.gz", "has_sig": false, "md5_digest": "af1fd0007b05fe1ea11b84a376e1d8f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 239043, "upload_time": "2016-01-22T15:04:52", "url": "https://files.pythonhosted.org/packages/77/22/bc179c626ae7c4ae6c575f9ea8257bbd3b11f6b2d763f8105268d49a0b44/uflash-1.0.0b1.tar.gz" } ], "1.0.0b2": [ { "comment_text": "", "digests": { "md5": "bdf402a9f36f4953daf49f56de05dd9d", "sha256": "e033891e623690d6edee1d8acb332cc7da026870925ed0239783fde8d11d3134" }, "downloads": -1, "filename": "uflash-1.0.0b2.tar.gz", "has_sig": false, "md5_digest": "bdf402a9f36f4953daf49f56de05dd9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 236291, "upload_time": "2016-02-06T16:40:53", "url": "https://files.pythonhosted.org/packages/81/c5/3a9f0e5c95b6abfb48424c401febefecb3f5dd3ab1af22a58a0fc4d80e5e/uflash-1.0.0b2.tar.gz" } ], "1.0.0b3": [ { "comment_text": "", "digests": { "md5": "0ca6c3acba8c3b8aaae26d2a98c39bee", "sha256": "182679ccf6bf4d05699a6c4dd7c5cdb69c058a1f629c74ec6f2fa8463830d91e" }, "downloads": -1, "filename": "uflash-1.0.0b3.tar.gz", "has_sig": false, "md5_digest": "0ca6c3acba8c3b8aaae26d2a98c39bee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 236436, "upload_time": "2016-02-06T18:57:40", "url": "https://files.pythonhosted.org/packages/ec/f5/5c7e3e608c744620d876765059df0755683817baccbd77e790d4753c70b5/uflash-1.0.0b3.tar.gz" } ], "1.0.0b4": [ { "comment_text": "", "digests": { "md5": "712d5230eb7743a73d3fc3f0931a2354", "sha256": "eaed7e28c490b0549e85c2594f187214d8ab6fed31dd7b58b6f55434eebe5a28" }, "downloads": -1, "filename": "uflash-1.0.0b4.tar.gz", "has_sig": false, "md5_digest": "712d5230eb7743a73d3fc3f0931a2354", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 236740, "upload_time": "2016-02-06T19:13:28", "url": "https://files.pythonhosted.org/packages/dd/09/4b583313c6c9ecb7af09dc7590ccd22a9d1062d31f83e8c1fe2a9bf08e4d/uflash-1.0.0b4.tar.gz" } ], "1.0.0b5": [ { "comment_text": "", "digests": { "md5": "166e4760199c14f3c2a4fa2e76c55062", "sha256": "ebc612ece1c98091e363faa353699a03f6e2ad05a4ee6ee6865e6173cf960637" }, "downloads": -1, "filename": "uflash-1.0.0b5.tar.gz", "has_sig": false, "md5_digest": "166e4760199c14f3c2a4fa2e76c55062", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 237297, "upload_time": "2016-02-08T07:48:13", "url": "https://files.pythonhosted.org/packages/f3/5e/edd421eaea5ddac3af02a21801150f5557d4a4be9112312a964b4f5189a1/uflash-1.0.0b5.tar.gz" } ], "1.0.0b6": [ { "comment_text": "", "digests": { "md5": "6188eed9abd6695323b23e439d4cc575", "sha256": "a10241af87d78938ba541f32559d6284215529db1cb42998f6bbde79a11365a5" }, "downloads": -1, "filename": "uflash-1.0.0b6.tar.gz", "has_sig": false, "md5_digest": "6188eed9abd6695323b23e439d4cc575", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 238339, "upload_time": "2016-02-12T12:34:31", "url": "https://files.pythonhosted.org/packages/09/00/1839057119c357b4e73f2d64edee99c9d7504d22df623435e334dce26d53/uflash-1.0.0b6.tar.gz" } ], "1.0.0b7": [ { "comment_text": "", "digests": { "md5": "58b0391ace67f57caead394bd87c9299", "sha256": "876892ea8cbf31a7cfa4c477d247a137f886c438f12899998792d64432562528" }, "downloads": -1, "filename": "uflash-1.0.0b7.tar.gz", "has_sig": false, "md5_digest": "58b0391ace67f57caead394bd87c9299", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 238308, "upload_time": "2016-02-14T17:49:34", "url": "https://files.pythonhosted.org/packages/2f/d9/86f32ed6702a4518ef06b5915fd311ade92c1e63121ba420931ce54ed089/uflash-1.0.0b7.tar.gz" } ], "1.0.0b8": [ { "comment_text": "", "digests": { "md5": "b0a315c529d4e68e73cd43e62fccdb9c", "sha256": "6e21673b7d71146d8bb8d2e3bd2caa0093194f533a93969670254c243495b698" }, "downloads": -1, "filename": "uflash-1.0.0b8.tar.gz", "has_sig": false, "md5_digest": "b0a315c529d4e68e73cd43e62fccdb9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242888, "upload_time": "2016-04-16T16:36:01", "url": "https://files.pythonhosted.org/packages/11/8f/880db5d99449adbc8b092cec71bf7cc419758723e73abb71a091a4b49933/uflash-1.0.0b8.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f71d18a6ac468136ba3d0328840fea98", "sha256": "af37066b05d0248b98863306add57a41e4c2be4668f9853f8194115d3479f759" }, "downloads": -1, "filename": "uflash-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f71d18a6ac468136ba3d0328840fea98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 247524, "upload_time": "2016-06-12T07:19:47", "url": "https://files.pythonhosted.org/packages/7c/a9/ee611c497e84ba6cd1f5a66a5f27d140e13d5fcf834d4ad8d8379b7eac9d/uflash-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "16c1db7833d8fd6541efc2687f573ac8", "sha256": "35d1a8aa97c303af52aae9ea0f9a19b25e2699ea7c898efbc81dad3283dd30d2" }, "downloads": -1, "filename": "uflash-1.0.2.tar.gz", "has_sig": false, "md5_digest": "16c1db7833d8fd6541efc2687f573ac8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 250455, "upload_time": "2016-07-10T12:38:35", "url": "https://files.pythonhosted.org/packages/d8/fb/e58cb90367675e0f3aa114e742e127d4f530364feb08e1d96bc16f7c391f/uflash-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e1436ed94775603c9375502b22efd149", "sha256": "5f3ba3220c28cd520e602fefe91e77550d0dc5d6869d42f80e2b5538eff8463c" }, "downloads": -1, "filename": "uflash-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e1436ed94775603c9375502b22efd149", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 273206, "upload_time": "2016-07-17T19:40:32", "url": "https://files.pythonhosted.org/packages/74/1a/1aee5ea2d551b477f95f39def41a21b12ca4c26c2ee513c1a27d5f46fe70/uflash-1.0.3.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "ec117192a120cf7119be5982258a14e0", "sha256": "9b96d52742d774aa8f3536d67daa7cf9d92caa4e2eecc71f625a2dd89de50688" }, "downloads": -1, "filename": "uflash-1.0.5.tar.gz", "has_sig": false, "md5_digest": "ec117192a120cf7119be5982258a14e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 273925, "upload_time": "2016-10-23T14:28:06", "url": "https://files.pythonhosted.org/packages/c6/df/27dd9bdcacc484026ee3c33cbdd26361914d76f13df2a3198583cef938da/uflash-1.0.5.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "dc1b7e94371721e25b4ef1ff37896d75", "sha256": "19caae6cf5a982de34b791d38b9cffb08cd38902c2ebcb400a7056a04800620c" }, "downloads": -1, "filename": "uflash-1.0.7.tar.gz", "has_sig": false, "md5_digest": "dc1b7e94371721e25b4ef1ff37896d75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 273309, "upload_time": "2016-10-29T14:57:01", "url": "https://files.pythonhosted.org/packages/96/8e/f953a6d53ec6d11664a1303210ed6da7da2a06cae93a97bb27338799f176/uflash-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "4f53634359b1e09bd9a8999e2561f600", "sha256": "b3bff3a02c90165c1c74cb61a7cd55c3ab5e76c4d4124cf3ee84cdcedb5609f4" }, "downloads": -1, "filename": "uflash-1.0.8.tar.gz", "has_sig": false, "md5_digest": "4f53634359b1e09bd9a8999e2561f600", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 273550, "upload_time": "2016-12-14T14:53:22", "url": "https://files.pythonhosted.org/packages/dc/27/ee5dc15d722a57747bd42a5df742110264e58ba430b3b03a3555423930ec/uflash-1.0.8.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8490c3388b959bcbecce9bc2070f4724", "sha256": "558d0ba9ea44f5fec29dc58d8a1fe3b35531f2faf31ba857fa1888e70a493219" }, "downloads": -1, "filename": "uflash-1.1.0.tar.gz", "has_sig": false, "md5_digest": "8490c3388b959bcbecce9bc2070f4724", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 258327, "upload_time": "2018-03-07T15:37:04", "url": "https://files.pythonhosted.org/packages/51/17/458dd774386d667a9a17295e761531102324f04ac50b5278e4c65573b402/uflash-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "70c2e29f7033adf756827cd4adf71ba0", "sha256": "e147e1648e10f391f8b50c5d9d8d461d1b894f34548a7fc544dcd6341a2b76c5" }, "downloads": -1, "filename": "uflash-1.1.1.tar.gz", "has_sig": false, "md5_digest": "70c2e29f7033adf756827cd4adf71ba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 258383, "upload_time": "2018-03-19T12:02:47", "url": "https://files.pythonhosted.org/packages/d7/21/962f90d1c3858b2ed889bc7d757a6993de44effd1ae67f092716b3c2ec54/uflash-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "0b8024903bc6158d3ee2bd40825bd33d", "sha256": "aa24281a3d2d015a20d02a1f6412599eb25e7b098c87c493adde8372d7954ae2" }, "downloads": -1, "filename": "uflash-1.1.2.tar.gz", "has_sig": false, "md5_digest": "0b8024903bc6158d3ee2bd40825bd33d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 258593, "upload_time": "2018-03-21T15:53:50", "url": "https://files.pythonhosted.org/packages/04/63/fc670655f31bbaa049da8146839116667fe789ffe319ec6f1b3504f1652e/uflash-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "c748b7c551111f54252285e1e1dfd2af", "sha256": "149400ff6be89e37c54b6d931141f57e82070abb43002f528446ceb0caf72d8a" }, "downloads": -1, "filename": "uflash-1.1.3.tar.gz", "has_sig": false, "md5_digest": "c748b7c551111f54252285e1e1dfd2af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 258185, "upload_time": "2018-06-08T14:52:20", "url": "https://files.pythonhosted.org/packages/d0/8b/076309fd5db979950a991496d1625d68e5d7c7b1d03948a591e57e1a4ac5/uflash-1.1.3.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "8e7d9d79cccbdff0f62d62b4b6ab3279", "sha256": "25c663c7a35e767d59e46ef3e37f87807650fd36ab9e6977deb20f715ba418e5" }, "downloads": -1, "filename": "uflash-1.2.0.tar.gz", "has_sig": false, "md5_digest": "8e7d9d79cccbdff0f62d62b4b6ab3279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 261944, "upload_time": "2018-07-09T10:31:35", "url": "https://files.pythonhosted.org/packages/ca/fc/29be14ca79972c8432f9ff77431e965fd54d9308d71d62657b18612df896/uflash-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "046253c4abcca0677a59550a424bf564", "sha256": "4aa3c7e2d91316e7ad7c1228767f59cf23bdd8180acc3147fbc693dfea349b03" }, "downloads": -1, "filename": "uflash-1.2.1.tar.gz", "has_sig": false, "md5_digest": "046253c4abcca0677a59550a424bf564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262059, "upload_time": "2018-07-20T08:17:54", "url": "https://files.pythonhosted.org/packages/e9/f1/a41607db0313696581d1bb8af8c3137b2e3806c06cf0c9c5ff2f170a0abb/uflash-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "503f798f5a0069012a63ee7298da0531", "sha256": "da0930d73d2b24b32a7c78b7d590ad91d1e788a52c9582ddd436366328a92e2d" }, "downloads": -1, "filename": "uflash-1.2.2.tar.gz", "has_sig": false, "md5_digest": "503f798f5a0069012a63ee7298da0531", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262319, "upload_time": "2018-09-07T14:42:29", "url": "https://files.pythonhosted.org/packages/54/2b/57712587e1c85a14d21c977b1f54c0cf99a9d184d09d06618376dbec620c/uflash-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "363348f3f741851c2797922fbb9662cf", "sha256": "e8aa905d233711a216955024af926ad629c3d68284f4086f825a3494ed471a9f" }, "downloads": -1, "filename": "uflash-1.2.3.tar.gz", "has_sig": false, "md5_digest": "363348f3f741851c2797922fbb9662cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 264459, "upload_time": "2018-09-29T20:58:52", "url": "https://files.pythonhosted.org/packages/c6/8a/5c007e1403a77385f157bae23e7a42b5a26260321f8ee22a275b23cce7f8/uflash-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "03fa12d69c608052efcf5706fcd953b3", "sha256": "92f7f51e00e9f48cf818226e375017b103715511e27817c80943f747a5ebecd8" }, "downloads": -1, "filename": "uflash-1.2.4.tar.gz", "has_sig": false, "md5_digest": "03fa12d69c608052efcf5706fcd953b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 264365, "upload_time": "2018-12-14T10:23:35", "url": "https://files.pythonhosted.org/packages/8e/71/1ce143bfd160777ab3c2bff56561ba6762c76858db19520827673d459bc1/uflash-1.2.4.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "d7631d0fdf8da6d27494f6a5e6962539", "sha256": "f5cd58cb84394572100715a7829f8b1278d950d793913662c5aef6849f39484e" }, "downloads": -1, "filename": "uflash-1.3.0.tar.gz", "has_sig": false, "md5_digest": "d7631d0fdf8da6d27494f6a5e6962539", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 265232, "upload_time": "2019-08-09T07:47:38", "url": "https://files.pythonhosted.org/packages/8d/5b/a163ee4154a95d6db4d52b01b6209be99443ead6301923e0243ffaad3ce0/uflash-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d7631d0fdf8da6d27494f6a5e6962539", "sha256": "f5cd58cb84394572100715a7829f8b1278d950d793913662c5aef6849f39484e" }, "downloads": -1, "filename": "uflash-1.3.0.tar.gz", "has_sig": false, "md5_digest": "d7631d0fdf8da6d27494f6a5e6962539", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 265232, "upload_time": "2019-08-09T07:47:38", "url": "https://files.pythonhosted.org/packages/8d/5b/a163ee4154a95d6db4d52b01b6209be99443ead6301923e0243ffaad3ce0/uflash-1.3.0.tar.gz" } ] }