Skip to main content

Python Code Complexity Metrics

Python package for calculating code complexity metrics of the target source code.

Description

With the help of this package, you can calculate the following code complexity metrics for your given source code as an input to it:

Level Metric Variants
methods FOUT Number of method calls (fan out) avg, max, total
MLOC Method lines of code avg, max, total
NBD Nested block depth avg, max, total
PAR Number of parameters avg, max, total
VG McCabe cyclomatic complexity avg, max, total
classes NOF Number of fields avg, max, total
NOM Number of methods avg, max, total
NSF Number of static fields avg, max, total
NSM Number of static methods avg, max, total
files ACD Number of anonymous class declarations value
NOI Number of interfaces value
NOT Number of classes value
TLOC Total lines of code value

Getting Started

Support

Currently, the following source code languages is supported:

  1. Java
  2. Python
  3. JavaScript

Dependencies

  1. Python 3
  2. Pip Package Manager

Installing

pip install pyccmetrics

Examples

  • TBC

Authors

Mohammad Mahdi Mohajer

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments & References

Inspired by the work of Thomas Zimmermann:

T. Zimmermann, R. Premraj and A. Zeller, "Predicting Defects for Eclipse," Third International Workshop on Predictor Models in Software Engineering (PROMISE'07: ICSE Workshops 2007), 2007, pp. 9-9, doi: 10.1109/PROMISE.2007.10. Click for more info.

Release files for pyccmetrics 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyccmetrics 0.1.2
File Size Uploaded
pyccmetrics-0.1.2.tar.gz 59.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyccmetrics 0.1.2
File Interpreter ABI Platform
pyccmetrics-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 119.4 kB

Release files / pyccmetrics-0.1.2.tar.gz

Download URL pyccmetrics-0.1.2.tar.gz
Size 59.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8cfa76edaf44601d5b57d8b71287e57e3770cd5faab4939cdf7f4cd2820378c2
BLAKE2b-256 checksum
How to use checksums
a2e0ad53bf253a0033f5f1c9cbe2c05639ee1c92eaecfb52d635c4ecdb23d585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.8

Release files / pyccmetrics-0.1.2-py3-none-any.whl

Download URL pyccmetrics-0.1.2-py3-none-any.whl
Size 59.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c04c8598a48ba8194632e33a510ff8f1dae5092c303f76ef827e9311647a9772
BLAKE2b-256 checksum
How to use checksums
192b56b561739392c3f7b7970c96558d27b0e636652e0ba06f46d4d0684e2f10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.8

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

0.1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page