Get LOC metrics for python scripts
Project description
python-loc-counter
The python-loc-counter module was built to count various LOC metrics:
- source_loc (Everything thats not a comment or blank line)
- single_comment_loc (Comments with the pound key)
- single_docstring_loc (Docstrings with single quotes)
- double_docstring_loc (Docstrings with double quotes)
- total_comments_loc (single_comment_loc + single_docstring_loc + double_docstring_loc)
- blank_loc (Any whitespace designated only with string.whitespace)
- total_line_count (Typical line count)
This uses extensive regex to try to cover weird edge cases, like comments in the middle of a src line (I recommend a quick review about how comments are decidely handled in tests/randomFile.txt). This is written entirely in python with no dependencies outside the standard library. Made to be used as a library.
Installation
This package is locted on github and pypi. If you have pip installed the easiest way to install is:
$ pip install python-loc-counter
Example Usage
from python_loc_counter import LOCCounter
def main():
counter = LOCCounter(<file_name>)
loc_data = counter.getLOC()
print(loc_data)
This will print a dictionary that might look something like:
{
total_src_loc:1757
total_single_comments_loc:75
total_single_docstrings_loc:0
total_double_docstrings_loc:179
total_blank_loc:516
total_comments_loc:254
total_line_count:2530
}
Development
See a feature or found a bug? Feel free to make suggestions or (better yet) contributions for future iterations!
Example Projects
- Originally this module was built for: https://github.com/bcdasilv/code-style-mining/tree/python_analysis.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file python_loc_counter-0.2.tar.gz.
File metadata
- Download URL: python_loc_counter-0.2.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04d5b1e3998f5a1d3006d279b1bf1d12842631d73fe282cdd8da93e5a5f8950b
|
|
| MD5 |
065db511ad02bd971303fa9b435398f7
|
|
| BLAKE2b-256 |
937c5dc2139a46728353d76a1f9044c197e1594713228723f8767017060b0f7a
|