{ "info": { "author": "konas", "author_email": "konasyan2009@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "what is twless?\n==============================================\n\n| twless is a coroutine framework based on twisted and stackless python.\n| it provide simple and nature way to create coroutining runtime envirement,\\\n no ``async/await``, ``yield`` , ``callback`` infection and circling is needed,\\\n eveything is just straight-forward,easy to understand.\n\nlook at this simple example:\n\n .. code-block:: python\n\n from twless.schedule import runReactor,exitReactor,startUserTasklet\n from twless.context import sleepInTasklet\n\n class TestContext:\n counter = 0\n\n def worker(idx):\n '''\n\n tasklet(coroutine) execute function\n\n '''\n print('worker #{0} start...'.format(idx))\n # sleep 1 second and continue.\n sleepInTasklet(1)\n print('worker #{0} finish.'.format(idx))\n TestContext.counter -= 1\n if TestContext.counter <= 0:\n # when all workers finish,exit from current process.\n exitReactor()\n\n def main():\n #\n # start up 100 tasklet(coroutine)\n for idx in xrange(100):\n startUserTasklet(worker,idx)\n TestContext.counter += 1\n\n\n if __name__ == '__main__':\n runReactor(main)", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/konas/twless", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "twless", "package_url": "https://pypi.org/project/twless/", "platform": "", "project_url": "https://pypi.org/project/twless/", "project_urls": { "Homepage": "https://github.com/konas/twless" }, "release_url": "https://pypi.org/project/twless/0.0.2/", "requires_dist": null, "requires_python": ">=2.7", "summary": "a coroutine framework based on twisted and stackless python", "version": "0.0.2" }, "last_serial": 5771036, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "8196ce7f64822c401205824f2cf85e51", "sha256": "a785b9e1fa68423815c56bee0872db4f5660f5d699c9295497664f63ded08afa" }, "downloads": -1, "filename": "twless-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8196ce7f64822c401205824f2cf85e51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 6561, "upload_time": "2019-09-02T14:09:34", "url": "https://files.pythonhosted.org/packages/c6/47/4fc2de34b8628652b496ce460a5d6ccadd749ab22aafb144acff095c1f97/twless-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8196ce7f64822c401205824f2cf85e51", "sha256": "a785b9e1fa68423815c56bee0872db4f5660f5d699c9295497664f63ded08afa" }, "downloads": -1, "filename": "twless-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8196ce7f64822c401205824f2cf85e51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 6561, "upload_time": "2019-09-02T14:09:34", "url": "https://files.pythonhosted.org/packages/c6/47/4fc2de34b8628652b496ce460a5d6ccadd749ab22aafb144acff095c1f97/twless-0.0.2.tar.gz" } ] }