Add your description here
Project description
Python Loc Counter - PYLOCC
pylocc is a command-line tool for counting lines of code in various programming languages. It helps you get a quick overview of the size and composition of your codebase.
This project draws instiparion from scc and uses the same language.json file.
Features
- Counts lines of code, comments, and blank lines.
- Supports a wide range of programming languages.
- Can process single files or entire directories.
- Provides both aggregated and per-file reports.
- Easy to use and configure.
Requirements
- Python >= 3.10
Installation
From Pypi
pip install pylocc
pylocc --help
From Source
- Clone the repository:
git clone https://github.com/your-username/pylocc.git
- Navigate to the project directory:
cd pylocc
- Install the dependencies:
uv run pylocc
Usage
To use pylocc, run the following command:
pylocc [OPTIONS] <file_or_directory>
or
uv run pylocc --help
Usage: pylocc [OPTIONS] FILE
Run pylocc on the specified file or directory.
Options:
--by-file Generate report by file.
--output FILE Stores the output report in csv format to the given path
--help Show this message and exit.
Options
--by-file: Generate a report for each file individually.--output <path>: Save the report to a file.
Examples
- Count lines of code in a single file:
pylocc my_file.py - Count lines of code in a directory and all its subdirectories:
pylocc my_project/ - Generate a per-file report:
pylocc --by-file my_project/
- Save the report to a file:
pylocc --output report.csv my_project/
Configuration
pylocc uses a language.json file to define the comment syntax for different languages. You can customize this file to add new languages or modify existing ones.
Each language entry in language.json has the following structure:
{
"LanguageName": {
"extensions": ["ext1", "ext2"],
"line_comment": ["//"],
"multi_line": [["/*", "*/"]]
}
}
extensions: A list of file extensions for the language.line_comment: A list of strings that represent single-line comments.multi_line: A list of pairs of strings that represent the start and end of multi-line comments.
Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull request.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylocc-1.0.3.tar.gz.
File metadata
- Download URL: pylocc-1.0.3.tar.gz
- Upload date:
- Size: 2.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c6eb34d505d5b61e0b5aa3b601a9378c0e3f4c0739175facd9e4bc877e45868
|
|
| MD5 |
33d15cf43eda1891f6f1064e05c5fca9
|
|
| BLAKE2b-256 |
0cc7fecfcd14dd5518bc01c023d9679d2fc43a114b9b3b510d39502aea3ba533
|
File details
Details for the file pylocc-1.0.3-py3-none-any.whl.
File metadata
- Download URL: pylocc-1.0.3-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad31439bbeaa40dc186f2ae88592a5ac7c012a0573bf25a2cb0e947d10f3f2fb
|
|
| MD5 |
8ffbd702d0a5eaa232844eac7f5b6923
|
|
| BLAKE2b-256 |
45e1828d1e6178d995233dcfb7711addd731c5742f53cc88611bb6c6fc787395
|