{ "info": { "author": "Theodore Dubois", "author_email": "tblodt@icloud.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "===============================================\nGreenstack: Cooperative green threads in Python\n===============================================\n\n.. image:: https://travis-ci.org/tbodt/greenstack.svg?branch=master\n :target: https://travis-ci.org/tbodt/greenstack\n\nGreenstack is a fork of greenlet, which is a spin-off of `Stackless`_, a\nversion of CPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads) and are\nsynchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words. This is\nuseful when you want to control exactly when your code runs. You can build\ncustom scheduled micro-threads on top of greenlet; however, it seems that\ngreenlets are useful on their own as a way to make advanced control flow\nstructures. For example, we can recreate generators; the difference with\nPython's own generators is that our generators can call nested functions and\nthe nested functions can yield values too. Additionally, you don't need a\n\"yield\" keyword. See the example in tests/test_generator.py.\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\nGreenlets are coroutines for in-process concurrent programming.\n\n.. _`Stackless`: http://www.stackless.com\n\nGetting Greenstack\n==================\n\nCurrently, the only way to get Greenstack is by building it from source::\n\n git clone git@github.com:tbodt/greenstack\n cd greenstack\n ./setup.py install\n\nThis will change soon.", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/tbodt/greenstack", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "greenstack", "package_url": "https://pypi.org/project/greenstack/", "platform": "any", "project_url": "https://pypi.org/project/greenstack/", "project_urls": { "Homepage": "http://github.com/tbodt/greenstack" }, "release_url": "https://pypi.org/project/greenstack/1.0/", "requires_dist": null, "requires_python": null, "summary": "Lightweight in-process concurrent programming", "version": "1.0" }, "last_serial": 2509767, "releases": { "0.6": [ { "comment_text": "", "digests": { "md5": "972f9a77e1042238b2eed77300899ad8", "sha256": "461dba456837ea8fc67895673dfcddd07731170401c7380e2ed2ee17d5ec6ee9" }, "downloads": -1, "filename": "greenstack-0.6-cp26-cp26m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "972f9a77e1042238b2eed77300899ad8", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 47650, "upload_time": "2016-12-09T20:46:23", "url": "https://files.pythonhosted.org/packages/9f/ae/9bc8f3e0aa9eed8b83a29af76952a54033826019a250ce5aef4af212d407/greenstack-0.6-cp26-cp26m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "da251aee5fd2d390c1d21e4d026a1e23", "sha256": "26486468fb187a27921fd25e0dff8dbf0e4a4522f8930d47b82d1ae1d0b03c03" }, "downloads": -1, "filename": "greenstack-0.6-cp26-cp26mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "da251aee5fd2d390c1d21e4d026a1e23", "packagetype": "bdist_wheel", "python_version": "cp26", "requires_python": null, "size": 47655, "upload_time": "2016-12-09T20:46:27", "url": "https://files.pythonhosted.org/packages/ed/64/81ef5fa375e44230960de821183ec23b903e13e4c85dab98220c79ffd2cb/greenstack-0.6-cp26-cp26mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "802811f5a512e50b066667d59297df85", "sha256": "f36ef78343468ec6510f51a8fc2a3691b6b22e1a1f45e274137cc5386da36ab6" }, "downloads": -1, "filename": "greenstack-0.6-cp27-cp27m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "802811f5a512e50b066667d59297df85", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 17721, "upload_time": "2016-12-09T19:10:51", "url": "https://files.pythonhosted.org/packages/c0/c3/2d87344d6bc625b01761020548e30262f9bc21fafe3f42212e600724a9de/greenstack-0.6-cp27-cp27m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a4b1ce0469d11172720a583793de077e", "sha256": "a2c1a56e66ee6c2faa7c6576d5958ffc2062dece10c4d5856a3ffbd4d93f3445" }, "downloads": -1, "filename": "greenstack-0.6-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "a4b1ce0469d11172720a583793de077e", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 47694, "upload_time": "2016-12-09T20:46:31", "url": "https://files.pythonhosted.org/packages/12/56/84cee95d3ef34cdf380c6e1f552da619cfe373cbc32fc00f1972abc9294e/greenstack-0.6-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "41f5f2ce67093fdeca8a36e375501642", "sha256": "0fdff6f98e639f10e4d375c75180789b78cba4cdb271ec7565d0156263d4d19b" }, "downloads": -1, "filename": "greenstack-0.6-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "41f5f2ce67093fdeca8a36e375501642", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 47694, "upload_time": "2016-12-09T20:46:35", "url": "https://files.pythonhosted.org/packages/09/43/6ffa81bfdfb012732b49acacd9cbedd6ca5e5fcb4be4c0264877a44ec4aa/greenstack-0.6-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "19f9fd4f942c4d77bab5d3c0bf34abcf", "sha256": "afce2e363fa02720cbc4d7fc165bf790f632c3e1a313f22815ed4e95f36de0d5" }, "downloads": -1, "filename": "greenstack-0.6-cp33-cp33m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "19f9fd4f942c4d77bab5d3c0bf34abcf", "packagetype": "bdist_wheel", "python_version": "cp33", "requires_python": null, "size": 48843, "upload_time": "2016-12-09T20:46:40", "url": "https://files.pythonhosted.org/packages/63/27/7543ea530cb34753bc5457f31707714c1f7692acf8a0ebae300082c4001d/greenstack-0.6-cp33-cp33m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "2747568286a61178519d46c437b15779", "sha256": "0863fce548928d7c3b5ce27d68c37a05b0437efae170bd4f10f05bd44d215c89" }, "downloads": -1, "filename": "greenstack-0.6-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "2747568286a61178519d46c437b15779", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 52133, "upload_time": "2016-12-09T20:46:45", "url": "https://files.pythonhosted.org/packages/c2/d3/453d59bdb13dabcfca194da62a6067ddb11dc3e67c02e5f8ce8a994b858a/greenstack-0.6-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "888f6e9480efd76d6cc34d626956c8f1", "sha256": "f3197e20cb8991256f498a3d5d799d78c88df99b63724034fe480a3960d4368d" }, "downloads": -1, "filename": "greenstack-0.6-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "888f6e9480efd76d6cc34d626956c8f1", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 47887, "upload_time": "2016-12-09T20:46:50", "url": "https://files.pythonhosted.org/packages/59/19/2d14b071d611d4f2fb79744cd62ca140260b37fdacd50dde12007934c217/greenstack-0.6-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b6de36eebdfb371a4c34df4ca9ef39b8", "sha256": "fb04530ff8ec376011c55684180c3423c63f8331400549447f42a6897f871af7" }, "downloads": -1, "filename": "greenstack-0.6.tar.gz", "has_sig": false, "md5_digest": "b6de36eebdfb371a4c34df4ca9ef39b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50349, "upload_time": "2016-12-09T19:10:57", "url": "https://files.pythonhosted.org/packages/b4/5a/510d6dd497101406b77dd62b618522e3a5233a6521947672c8161b631d0c/greenstack-0.6.tar.gz" }, { "comment_text": "", "digests": { "md5": "d08c4bd49d4eabf14ad69c30187ec36a", "sha256": "7e724ae68c0474df585ed2bdda2b1a273afa69059ff61da1cd258a68f147ec90" }, "downloads": -1, "filename": "greenstack-0.6.zip", "has_sig": false, "md5_digest": "d08c4bd49d4eabf14ad69c30187ec36a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64567, "upload_time": "2016-12-09T19:11:06", "url": "https://files.pythonhosted.org/packages/7d/3a/531f7824827f4f5e011fb3ba969ddb88ef8ba07c6e3462a6fe05421b303f/greenstack-0.6.zip" } ], "1.0": [] }, "urls": [] }