{ "info": { "author": "Rich Jones", "author_email": "rich@openwatch.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance" ], "description": "JonesComplexity |Build Status|\n==============================\n\nFlake8 extension to calculate per-line complexity and total code\ndensity.\n\nInstallation\n------------\n\n::\n\n $ pip install jones-complexity\n\nUsage (Standalone)\n------------------\n\n::\n\n $ python -m jones_complexity --min 5 your_file.py\n\nUsage (flake8)\n--------------\n\n::\n\n $ flake8 --max-line-complexity 15 --max-jones-score 8 yourproject\n\nWhat is this?\n-------------\n\nBecause\n\n.. code:: python\n\n if user.get_full_name().toUpper().split(' ')[0] == 'ALICE':\n return True\n\nis harder to read and maintain than\n\n.. code:: python\n\n if first_name == 'Alice':\n return True\n\nShamelessly named after myself, in the tradition of McCabe and Halstead.\n\nExamples\n~~~~~~~~\n\nItself:\n\n::\n\n $ python jones_complexity.py jones_complexity.py\n Line counts:\n {\n \"39\": 19, \n \"46\": 15, \n \"137\": 12, \n \"115\": 12, \n [...]\n \"18\": 1, \n \"9\": 1, \n \"148\": 1\n }\n Jones Score:\n 4.0\n\n`PyEsprima `__:\n\n::\n\n $ p jones_complexity.py pyesprima.py \n Line counts:\n {\n \"4182\": 265, \n \"3688\": 190, \n \"4186\": 189, \n \"48\": 189, \n \"4181\": 164, \n [...]\n \"1201\": 1, \n \"3728\": 1\n }\n Jones Score:\n 9.0\n\n.. |Build Status| image:: https://travis-ci.org/Miserlou/JonesComplexity.svg\n :target: https://travis-ci.org/Miserlou/JonesComplexity", "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/Miserlou/JonesComplexity", "keywords": "flake8", "license": "Expat license", "maintainer": null, "maintainer_email": null, "name": "jones-complexity", "package_url": "https://pypi.org/project/jones-complexity/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/jones-complexity/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Miserlou/JonesComplexity" }, "release_url": "https://pypi.org/project/jones-complexity/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Jones Complexity checker, plugin for flake8", "version": "0.1.2" }, "last_serial": 1961585, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4404cffb0a92cf3c7c1a926e3af662a2", "sha256": "04173a7d8f9df5f2ba417ccc8610d0dc233eb9194467517d025e0b84788def75" }, "downloads": -1, "filename": "jones_complexity-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4404cffb0a92cf3c7c1a926e3af662a2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5196, "upload_time": "2016-02-17T15:50:30", "url": "https://files.pythonhosted.org/packages/46/72/68b6f32c83b63197be9ad0e164540362f700d2b44c99190d182a496d9815/jones_complexity-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78fdc0c6bd87402392ed6859409d2f70", "sha256": "cddbab5bcb6b0099af2c1eabbb222c4fa0e01176783f7e3fafe8fb751cbff6f6" }, "downloads": -1, "filename": "jones-complexity-0.1.0.tar.gz", "has_sig": false, "md5_digest": "78fdc0c6bd87402392ed6859409d2f70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3472, "upload_time": "2016-02-17T15:50:15", "url": "https://files.pythonhosted.org/packages/fb/bc/9afec7000fc62f8a1e65eb819e56a06056014916c42d14ef2b31f19232db/jones-complexity-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "daec60d77881cc54fdf985b237c0ff22", "sha256": "24090edccda886ee140a82373b97712f72620866d44c4c573aa40004dfdc4aa0" }, "downloads": -1, "filename": "jones_complexity-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "daec60d77881cc54fdf985b237c0ff22", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5770, "upload_time": "2016-02-17T16:15:03", "url": "https://files.pythonhosted.org/packages/33/40/ac12a23b04b58c45548f373e80c7a666864030a437a87423006cb42a6fb5/jones_complexity-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6967243090684cd3e434a852ac0310bb", "sha256": "90e08deb29976860e9c32ee62ef3e1cabab40c173c366553da1c6057b68ed872" }, "downloads": -1, "filename": "jones-complexity-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6967243090684cd3e434a852ac0310bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3750, "upload_time": "2016-02-17T16:14:52", "url": "https://files.pythonhosted.org/packages/0b/ac/ab734ff33a351d922e14a7953e8f95d6f6e45619e7af21fdfa5f5cb998f3/jones-complexity-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "fb51dbbd2073cfe0658d14a5be5a39f7", "sha256": "aa636165499d077537a9942d020e8ab148ab7fa3be8c0cafbf6693a77e5759f1" }, "downloads": -1, "filename": "jones_complexity-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "fb51dbbd2073cfe0658d14a5be5a39f7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5758, "upload_time": "2016-02-17T16:20:55", "url": "https://files.pythonhosted.org/packages/0c/d0/06300564e39accf7bf7b1518871677eae4a4617ebc19efd65ad30d245358/jones_complexity-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4f07c5731d3ee3018a8491878d0bac9", "sha256": "801bebd57317c2bfe8ca47a8d537749ad4aa7f641ed0ef25a1dfd74f7a7b60c1" }, "downloads": -1, "filename": "jones-complexity-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f4f07c5731d3ee3018a8491878d0bac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3743, "upload_time": "2016-02-17T16:20:47", "url": "https://files.pythonhosted.org/packages/7c/94/e3fc33adcd42cfaf301575c42a9f816aa15b6ccaec8c97d8f6bb089afea7/jones-complexity-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fb51dbbd2073cfe0658d14a5be5a39f7", "sha256": "aa636165499d077537a9942d020e8ab148ab7fa3be8c0cafbf6693a77e5759f1" }, "downloads": -1, "filename": "jones_complexity-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "fb51dbbd2073cfe0658d14a5be5a39f7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5758, "upload_time": "2016-02-17T16:20:55", "url": "https://files.pythonhosted.org/packages/0c/d0/06300564e39accf7bf7b1518871677eae4a4617ebc19efd65ad30d245358/jones_complexity-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4f07c5731d3ee3018a8491878d0bac9", "sha256": "801bebd57317c2bfe8ca47a8d537749ad4aa7f641ed0ef25a1dfd74f7a7b60c1" }, "downloads": -1, "filename": "jones-complexity-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f4f07c5731d3ee3018a8491878d0bac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3743, "upload_time": "2016-02-17T16:20:47", "url": "https://files.pythonhosted.org/packages/7c/94/e3fc33adcd42cfaf301575c42a9f816aa15b6ccaec8c97d8f6bb089afea7/jones-complexity-0.1.2.tar.gz" } ] }