---
name: "pymetrics"
section: "1"
platform: "linux"
package: "pymetrics"
version: "0.8.1-7"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pymetrics"
---

# pymetrics(1)

Python source code metrics

## NAME

pymetrics - Python source code metrics

## SYNOPSIS

**pymetrics** \[*options*\] *files*...

## DESCRIPTION

This manual page documents briefly the **pymetrics** command

**pymetrics** is a program that produces metrics for Python programs. Metrics include McCabe's Cyclomatic Complexity metric, LoC, %Comments, etc. Users can also define their own metrics using data from PyMetrics. PyMetrics optionally outputs to stdout, SQL command files and CSV files.

## OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (\`-'). A summary of options is included below.

- **-h**, **--help**

  show this help message and exit

- **-s** SQLFILENAME, **--sql**=*SQLFILENAME*

  name of output SQL command file. (Default is metricData.sql)

- **-t** SQLTOKENTABLENAME, **--tokentable**=*SQLTOKENTABLENAME*

  name of output SQL token table. (Default is metricTokens)

- **-m** SQLMETRICSTABLENAME, **--metricstable**=*SQLMETRICSTABLENAME*

  name of output SQL metrics table. (Default is metricData)

- **-c** CSVFILENAME, **--csv**=*CSVFILENAME*

  name of output CSV data file. (Default is metricData.csv)

- **-f** INFILELIST, **--files**=*INFILELIST*

  File containing list of path names to modules for analysis.

- **-i** INCLUDEMETRICSSTR, **--include**=*INCLUDEMETRICSSTR*

  list of metrics to include in run. This is a comma separated list of metric module names with no whitespace. Optionally, you can specify the class name of the metric by following the module name with a colon (:) and the metric class name. (Default metrics are 'simple:SimpleMetric,mccabe:McCabeMetric,sloc:SLOC Metric'. Default metric class name for metric module 'wxYz' is 'WxYzMetric' when only module name given **--** note capitalized metric class name.)

- **-l** LIBNAME, **--library**=*LIBNAME*

  user-defined name applied to collection of modules (Default is '')

- **-e**, **--exists**

  assume SQL tables exist and does not generate creation code. Using this option sets option **-N**. (Default is False)

- **-N**, **--noold**

  create new command output files and tables after deleting old results, if any. Ignored if **-e** is set. (Default is False)

- **-B**, **--nobasic**

  suppress production of Basic metrics (Default is False)

- **-S**, **--nosql**

  suppress production of output SQL command text file. (Default is False)

- **-C**, **--nocsv**

  suppress production of CSV output text file. (Default is False)

- **-H**, **--noheadings**

  suppress heading line in csv file. (Default is False)

- **-k**, **--kwcnt**

  generate keyword counts. (Default is False)

- **-K**, **--nokwcnt**

  suppress keyword counts. (Default is True)

- **-q**, **--quiet**

  suppress normal summary output to stdout. (Default is False)

- **-z**, **--zero**

  display zero or empty values in output to stdout. (Default is to suppress zero/empty output)

- **-v**, **--verbose**

  Produce verbose output - more **-v**'s produce more output. (Default is no verbose output to stdout)

- **-d**, **--debug**

  Provide debug output, not usually generated - internal use only

## AUTHOR

pymetrics was written by Reg. Charney.

This manual page was written by Andrew Pollock \<apollock@debian.org\>, for the Debian project (but may be used by others).
