Skip to main content

A technical debt tracker package

Project description

Tech-debt

A simple tool to quantify your technical debt

Installation

requirements : python 3

pip install techdebt

Usage

  1. Adding debpt annotation

add debt annotations in your project files to mark technical debt:

  • @debt()
  • @debt("debt_type") or
  • @debt("debt_type":"comment")

Let's say you have a python file with some debt :

#@debt("implementation")
def poor_function():

    #@debt("implementation": "variable naming")
    bla = 2
    return bla
  1. Project configuration

Adapt the following configuration file and put it in your project folder (cf config_example.yml)

folder:
  included:
    - test_project/subA
    - test_project/subB

  excluded:
    - vendor
    - node_modules
    - var
    - web
    - nbproject
    - public
    - .git
    - __pycache__

extensions:
  - .py
  - .js
  - .md
  - .php

scores:
  api: 5
  implementation: 3
  1. Run
techdebt --conf="path/to/config_file.yml" #default is "techdebt.yml"

Plugins

You may want to have automatic code checkers do some analysis and being included in the final debt score

For now phpstan is the sole plugin available

edit configuration with the following:

plugin:
    phpstan:
        function_to_call: ""
        folders: 
            - folder_to_analyse
        scores: 
            - 

adding plugin

you need to code a file plugin with a method which returns scores and then add it to the yarml file

Roadmap

  • adding line file of annotation
  • better reporting
  • tracking debt over time
  • adding estimation range

Testing

pytest -s src/lib.py

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

techdebt-0.1.2.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

techdebt-0.1.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file techdebt-0.1.2.tar.gz.

File metadata

  • Download URL: techdebt-0.1.2.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.10

File hashes

Hashes for techdebt-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6bae75608de20133023bee945d1ff4df8447ce9241466cf7160b1fa1f8062ae7
MD5 b404f34b201e7366551fe04621a9fa9a
BLAKE2b-256 4fb1c96aabd44bd408aec0b2c4e365f733a2d87b59307110ee8ce8b434b64627

See more details on using hashes here.

File details

Details for the file techdebt-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: techdebt-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.10

File hashes

Hashes for techdebt-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 126ecc3ba47e30f4abf5d0cdfd8198ee128731202d041f6f4122cab5380366fd
MD5 1ce458ed3eebb3743859c14d40d3c8d7
BLAKE2b-256 1b1226fdb43fc92a45fe70f5f3e2b5e4e096cf5f86f7c24a46b92abd73d341ea

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