Skip to main content

A Python tool to generate multi project, multi language code metric reports

Project description

Metripy

A multilanguage, multi project code metrics analysis tool.

PyPI version Tests Coverage License Downloads

Languages

Supported languages

  • Python (with radon)
  • Php (experimental)
  • Typescript (experimental)
  • TBD

Analysis types

Code analysis

Analyses code with cyclomatic complexity, maintainability index, halstead metrics.

Git analysis

Analyses git stats of the past months

Dependeny analysis

Analyzses composer, npm or pip dependencies

More dependencies TBD

Report formats

Html

Generates an easy to read dashboard

TODO: as this application generates multi project reports, add central dashboard to have project specific insights at first glance

Csv

Coming soon...

Json

Coming soon...

Cli

Coming soon...

Configuration

Configuration is for the moment only possible with the --config=<file>.json option. More TBD

Sample configuraiton:

{
    "configs": {
        "metripy": {
            "base_path": "./", // base path to look at
            "includes": [
                "metripy/" // paths to include from the base path on
            ],
            "excludes": [
                "__pycache__" // exclude patterns of paths / files
            ],
            "extensions": [
                "py" // file extensions to look at
            ],
            "git": { // if git is set, analyzes git history
                "branch": "main" // git branch to look at
            },
            "composer": true, // looks for base_path/composer.json and analyzes dependencies - for php projects
            "npm": true, // looks for base_path/package.json and analyzes dependencies - for ts/js projects
            "pip": true,
            // looks for base_path/requirements.txt or base_path/pyproject.toml and analyzes dependencies - for python projects
            "reports": {
                "html": "./build/report/metripy", // report should be put into this directory
                "json-git": "./build/json-report/metripy-git.json" // file where to put git json report
                // more types of reports TBA
            }
        },
        // next project name: { next config... } 
    }
}

Configuration for only git stats

{
    "configs": {
        "metripy-git": {
            "base_path": "./",
            "git": {
                "branch": "main"
            },
            "reports": {
                "json-git": "./build/json-report/metripy-git.json"
            }
        }
    }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metripy-0.5.0.tar.gz (102.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metripy-0.5.0-py3-none-any.whl (145.7 kB view details)

Uploaded Python 3

File details

Details for the file metripy-0.5.0.tar.gz.

File metadata

  • Download URL: metripy-0.5.0.tar.gz
  • Upload date:
  • Size: 102.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for metripy-0.5.0.tar.gz
Algorithm Hash digest
SHA256 2d19fa0f320f80e63040d70dc5dab36e48c7b42016a0bc1776cb414aed4baf9c
MD5 f82c912be8d8073a392f059d9287bc77
BLAKE2b-256 7f12b06d098520b2aa9b5e375d10f650450c87e62b02e82c4f3676a6b01ab2a2

See more details on using hashes here.

File details

Details for the file metripy-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: metripy-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 145.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for metripy-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 736ce16b1552515e9b7c653bf16b0f0dfdd35786143c7ea77cf8d1a956fdbbfe
MD5 eae1267d80d8056524f64a0d7b5ed376
BLAKE2b-256 615af7a103927bbce135a3592d53f85b3e0c511e2a37fe9df06eea3a7ac4fde9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page