{ "info": { "author": "Denis Ryzhkov", "author_email": "denisr@denisr.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Hence the name: bn - BottleNeck. \nAnd you know keys B and N are very comfortable to type quickly in a row.\n\nUsage::\n\n bn('loop')\n for item in generator:\n\n bn('rabbit')\n # code of rabbit\n\n bn('turtle')\n # code of turtle\n\n bn('loop')\n\n if bn.total > 1.0:\n logging.info(bn)\n\nResult::\n\n TOTAL=22.2632, turtle=20.6403, rabbit=1.6209, loop=0.0020\n #\n # This config is default in bn>=0.1.5:\n # Bn(total_key='TOTAL', format='{key}={seconds:.4f}', sep=', ')\n\n # OR:\n\n 22.2632 TOTAL\n 20.6403 turtle\n 1.6209 rabbit\n 0.0020 loop\n #\n # This config is default in bn<=0.1.4:\n # Bn(total_key='TOTAL', format='{seconds:>10.4f} {key}', sep='\\n')\n\nInstall::\n\n pip install bn\n\nScope::\n\n # Global \"bn\" is useful to profile cross-module without passing \"bn\" explicitly.\n from bn import bn\n bn.format = custom_format\n\n # Scoped \"Bn\" is useful to have multiple independent profilers.\n from bn import Bn\n def action():\n bn = Bn(format=custom_format)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/denis-ryzhkov/bn", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "bn", "package_url": "https://pypi.org/project/bn/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/bn/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/denis-ryzhkov/bn" }, "release_url": "https://pypi.org/project/bn/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "Lightweight profiling tool to detect performance BottleNecks in Python code.", "version": "0.1.5" }, "last_serial": 1104797, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "489cc171d9c154e258a37f2d82731919", "sha256": "02a0eab22479258e69097a085f83e62328bf8fa3730897f04af2ded91edb8adf" }, "downloads": -1, "filename": "bn-0.1.4.tar.gz", "has_sig": false, "md5_digest": "489cc171d9c154e258a37f2d82731919", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1852, "upload_time": "2013-02-05T10:24:30", "url": "https://files.pythonhosted.org/packages/29/90/6336fac6fa83b7151221c15012b43a1f15868150a89742428f0cd7611892/bn-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "2b432df4f386f66c43ff797288f09c6c", "sha256": "61c3f499d2aa0a1a109494f4307e419f7bce3340aa517358ea35a64eaf01b14f" }, "downloads": -1, "filename": "bn-0.1.5.tar.gz", "has_sig": false, "md5_digest": "2b432df4f386f66c43ff797288f09c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2051, "upload_time": "2014-05-22T06:44:33", "url": "https://files.pythonhosted.org/packages/55/08/719260370a3072880a02f773566a6e0ba725a4db25caac91cb89565552c2/bn-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2b432df4f386f66c43ff797288f09c6c", "sha256": "61c3f499d2aa0a1a109494f4307e419f7bce3340aa517358ea35a64eaf01b14f" }, "downloads": -1, "filename": "bn-0.1.5.tar.gz", "has_sig": false, "md5_digest": "2b432df4f386f66c43ff797288f09c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2051, "upload_time": "2014-05-22T06:44:33", "url": "https://files.pythonhosted.org/packages/55/08/719260370a3072880a02f773566a6e0ba725a4db25caac91cb89565552c2/bn-0.1.5.tar.gz" } ] }