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.7.1.tar.gz (108.0 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.7.1-py3-none-any.whl (157.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for metripy-0.7.1.tar.gz
Algorithm Hash digest
SHA256 9fabf2f92f5bcbfb16d0b87d8b14ecf701fd130995f3800a46a762597514cb01
MD5 7920c99ba592236c6b775347688ccadf
BLAKE2b-256 230eb0fdbfd9b7f7f737347e4a938da8978dd1431ef7e61b955ac5a0ab475ee4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: metripy-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 157.3 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.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9bc404ebd709e48adcdf7f65f08271ad5e70cb6fbe8d3975dd184bf1b2c8f3ea
MD5 b5e7ca2bba804d41d58ee3d6285050f9
BLAKE2b-256 9a02507d08010e07b0cac4832eaca8767abb92e6c7b8ee6ecc98606ed4c8dd5a

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