{ "info": { "author": "Tim Cuthbertson", "author_email": "tim3d.junk+dataflow@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: http://gfxmonk.net/dist/status/project/py-dataflow.png\r\n\r\n\r\ndataflow.py\r\n===========\r\n\r\ndataflow.py is an experimental port of larrytheliquid's ruby dataflow gem, mostly to see if a python version (without blocks) would be useable. Turns out it is, which is not what I'd initially expected. I'm not really doing anything with it (or working on it), but hopefully it can be of use or interest to others.\r\n\r\ndataflow functions:\r\n\r\n - **dataflow_vars**: decorator for generating dataflow variables for a function\r\n - **spawn**\\(callable, \\*args): start a thread using the given callable, plus any additional arguments\r\n - **var**\\(name=None): create a new dataflow variable (with optional name)\r\n - **unify**\\(var, value): set the value of a dataflow variable.\r\n\r\ndataflow can provide arguments automatically::\r\n\r\n\t@dataflow_vars\r\n\tdef sum_items(x, y, z):\r\n\t\t# notice how the order automatically gets resolved\r\n\t\tspawn(lambda: unify(y, x() + 2))\r\n\t\tspawn(lambda: unify(z, y() + 3))\r\n\t\tspawn(lambda: unify(x, 1))\r\n\t\treturn z() # => 6\r\n\r\n\r\nor you can create them whenever you like::\r\n\r\n\tf = var()\r\n\tspawn(lambda: unify(f, 'f'))\r\n\tf() # => 6\r\n\r\n\r\nAccessing any attribute or item (dictionary key) of a dataflow variable automatically waits for it to be assigned, and passes that access onto its value::\r\n\r\n\tf = var()\r\n\tspawn(lambda: unify(f, {'key': 'val'})\r\n\tf['key'] # => 'val'", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/gfxmonk/py-dataflow/tree", "keywords": "dataflow concurrent concurrency", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "dataflow", "package_url": "https://pypi.org/project/dataflow/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/dataflow/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/gfxmonk/py-dataflow/tree" }, "release_url": "https://pypi.org/project/dataflow/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "a dataflow library for python", "version": "0.1.1" }, "last_serial": 2067061, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "890842708c568bae2c697f727faa2502", "sha256": "6b3aa4694257e62e3f18648eb2b8840f7dc04ef7a2ce53f21e477d7ebed1b2f1" }, "downloads": -1, "filename": "dataflow-0.1.0-py2.5.egg", "has_sig": false, "md5_digest": "890842708c568bae2c697f727faa2502", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 6474, "upload_time": "2009-05-03T10:11:49", "url": "https://files.pythonhosted.org/packages/1f/88/0be2808c2d0fb0d4cdb12bced66908a93b492ffd5db36b69b5f254113312/dataflow-0.1.0-py2.5.egg" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5233ef3a985bebe0eeaa104bedbe00d0", "sha256": "3b10ada3fed7716fff696dc60b2611cb886375f77e1e42a48e185429756327b4" }, "downloads": -1, "filename": "dataflow-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5233ef3a985bebe0eeaa104bedbe00d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2831, "upload_time": "2010-08-01T13:55:49", "url": "https://files.pythonhosted.org/packages/5a/47/b47a633bf4f4c3ef36c263b9a98546fd3fae54b5adf56a650d2ec3229d94/dataflow-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5233ef3a985bebe0eeaa104bedbe00d0", "sha256": "3b10ada3fed7716fff696dc60b2611cb886375f77e1e42a48e185429756327b4" }, "downloads": -1, "filename": "dataflow-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5233ef3a985bebe0eeaa104bedbe00d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2831, "upload_time": "2010-08-01T13:55:49", "url": "https://files.pythonhosted.org/packages/5a/47/b47a633bf4f4c3ef36c263b9a98546fd3fae54b5adf56a650d2ec3229d94/dataflow-0.1.1.tar.gz" } ] }