123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- Metadata-Version: 2.0
- Name: mccabe
- Version: 0.6.1
- Summary: McCabe checker, plugin for flake8
- Home-page: https://github.com/pycqa/mccabe
- Author: Ian Cordasco
- Author-email: graffatcolmingov@gmail.com
- License: Expat license
- Keywords: flake8 mccabe
- Platform: UNKNOWN
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Environment :: Console
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Operating System :: OS Independent
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 2
- Classifier: Programming Language :: Python :: 2.7
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.3
- Classifier: Programming Language :: Python :: 3.4
- Classifier: Programming Language :: Python :: 3.5
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
- Classifier: Topic :: Software Development :: Quality Assurance
- McCabe complexity checker
- =========================
- Ned's script to check McCabe complexity.
- This module provides a plugin for ``flake8``, the Python code checker.
- Installation
- ------------
- You can install, upgrade, uninstall ``mccabe`` with these commands::
- $ pip install mccabe
- $ pip install --upgrade mccabe
- $ pip uninstall mccabe
- Standalone script
- -----------------
- The complexity checker can be used directly::
- $ python -m mccabe --min 5 mccabe.py
- ("185:1: 'PathGraphingAstVisitor.visitIf'", 5)
- ("71:1: 'PathGraph.to_dot'", 5)
- ("245:1: 'McCabeChecker.run'", 5)
- ("283:1: 'main'", 7)
- ("203:1: 'PathGraphingAstVisitor.visitTryExcept'", 5)
- ("257:1: 'get_code_complexity'", 5)
- Plugin for Flake8
- -----------------
- When both ``flake8 2.0`` and ``mccabe`` are installed, the plugin is
- available in ``flake8``::
- $ flake8 --version
- 2.0 (pep8: 1.4.2, pyflakes: 0.6.1, mccabe: 0.2)
- By default the plugin is disabled. Use the ``--max-complexity`` switch to
- enable it. It will emit a warning if the McCabe complexity of a function is
- higher that the value::
- $ flake8 --max-complexity 10 coolproject
- ...
- coolproject/mod.py:1204:1: C901 'CoolFactory.prepare' is too complex (14)
- This feature is quite useful to detect over-complex code. According to McCabe,
- anything that goes beyond 10 is too complex.
- Links
- -----
- * Feedback and ideas: http://mail.python.org/mailman/listinfo/code-quality
- * Cyclomatic complexity: http://en.wikipedia.org/wiki/Cyclomatic_complexity.
- * Ned Batchelder's script:
- http://nedbatchelder.com/blog/200803/python_code_complexity_microtool.html
- Changes
- -------
- 0.6.1 - 2017-01-26
- ``````````````````
- * Fix signature for ``PathGraphingAstVisitor.default`` to match the signature
- for ``ASTVisitor``
- 0.6.0 - 2017-01-23
- ``````````````````
- * Add support for Python 3.6
- * Fix handling for missing statement types
- 0.5.3 - 2016-12-14
- ``````````````````
- * Report actual column number of violation instead of the start of the line
- 0.5.2 - 2016-07-31
- ``````````````````
- * When opening files ourselves, make sure we always name the file variable
- 0.5.1 - 2016-07-28
- ``````````````````
- * Set default maximum complexity to -1 on the class itself
- 0.5.0 - 2016-05-30
- ``````````````````
- * PyCon 2016 PDX release
- * Add support for Flake8 3.0
- 0.4.0 - 2016-01-27
- ``````````````````
- * Stop testing on Python 3.2
- * Add support for async/await keywords on Python 3.5 from PEP 0492
- 0.3.1 - 2015-06-14
- ``````````````````
- * Include ``test_mccabe.py`` in releases.
- * Always coerce the ``max_complexity`` value from Flake8's entry-point to an
- integer.
- 0.3 - 2014-12-17
- ````````````````
- * Computation was wrong: the mccabe complexity starts at 1, not 2.
- * The ``max-complexity`` value is now inclusive. E.g.: if the
- value is 10 and the reported complexity is 10, then it passes.
- * Add tests.
- 0.2.1 - 2013-04-03
- ``````````````````
- * Do not require ``setuptools`` in setup.py. It works around an issue
- with ``pip`` and Python 3.
- 0.2 - 2013-02-22
- ````````````````
- * Rename project to ``mccabe``.
- * Provide ``flake8.extension`` setuptools entry point.
- * Read ``max-complexity`` from the configuration file.
- * Rename argument ``min_complexity`` to ``threshold``.
- 0.1 - 2013-02-11
- ````````````````
- * First release
|