The tool is analysing your codebase in a git repository and generating a report showing how your codebase was developing from size and complexity points of view.
You need to install the following python packages:
- xlsxwriter
- gitpython
- python-dateutil
Edit the config file git_analysis.yml
Then run the script python git_analysis.py
, it will look for the config file in the current directory. If you are working with different repositories it might make sense to create the git_analysis.yml in each of them and add it to .gitignore. And then execute the script from the respective repository directory.
There are some unittests implemented using unittest
in the folder test.
You may run them by executing python -m unitest discover -v -s test
from the root folder
- Optimize the code
- Make it multiprocessed and analyze complexity for different files asynchronously
- There is a HUUUGE bug: the files seem to be analyzed from the end to the beginning of the commit history. Therefore the files that were created are marked as deleted and only the files that were there from the very beginning are considered as not deleted.