Metadata-Version: 2.4
Name: pyfilemetre
Version: 0.1.6
Summary: pyfilemetre is a Python CLI tool that analyzes code using AST — counting functions, classes, and missing docstrings, and generating Markdown reports.
Author: Aditi Gupta
Author-email: Aditi Gupta <aditig135@gmail.com>
License: MIT
Project-URL: Homepage, https://pypi.org/project/pyfilemetre/
Keywords: python,pyfilemetre,cli,code analysis,AST,metrics,report
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tabulate>=0.9.0
Dynamic: author
Dynamic: license-file
Dynamic: requires-python

# pyfilemetre: Python Codebase Analyzer

**pyfilemetre** is a **Python CLI tool** that counts classes and functions, checks for **docstrings**, and generates **Markdown reports** for Python projects. It is designed to give you a clear, file-by-file summary of your codebase quickly.

---

## Features

* Counts **classes and functions**.
* Checks for **missing docstrings**.
* Generates **Markdown reports** summarizing the project.
* Interactive CLI with **spinner animation**.
* Optional flag to **skip saving the report**.

---

## Installation

You can install pyfilemetre from PyPI:

```bash
pip install pyfilemetre
````

> **Note:** Currently not available for local development\!

-----

## Usage

> Run pyfilemetre on a Python file or directory:

```bash
python -m pyfilemetre <path_to_project>
```

**Example:**

```bash
python -m pyfilemetre "C:\Users\You\Desktop\demo_project"
```

> Saving the `report.md` file:

```bash
<path_to_project\report.md>
```

**Example:**

```bash
C:\Users\You\Desktop\demo_project\report.md
```
**Note:** 

  * Do not put the file path in double quotes ("") when entering as path to save report.md file.
  * Always specify `\report.md` at the end of the path you give.

---
### Execution Flow
---
1.  You'll see a **spinner animation** showing progress.
2.  The terminal will display a summary of classes, functions, and docstrings.
3.  You’ll be prompted to save a Markdown report. Enter `y` to save and provide a path, or `n` to skip.

### Optional Flags

  * `--no-md` = Skip saving the Markdown report.

**Example with flag:**

```bash
python -m pyfilemetre "C:\Users\You\Desktop\demo_project" --no-md
```

-----

## Complete execution flow
>Installation of pyfilemetre:

![alt text](image.png)

>Information about pyfilemetre:

![alt text](image-1.png) 

>Using pyfilemetre to get the summary of your codebase without saving the file:

![alt text](image-2.png)

>Gives same result if you use `--no-md`:

![alt text](image-3.png)

>Generating summary and saving the report `(notice how i didn't enclose the path with "")`:

![alt text](image-4.png)

>The report:

![alt text](image-5.png)

-----

## License

This project is licensed under the **MIT License**. See the `LICENSE` file for details.

-----

## Notes

  * **Python 3.8+** required.
  * Works on Windows, macOS, and Linux.
  * **Tabulate** library is used for nice terminal output.

----
### Created by **[Aditi Gupta](https://aditi-gupta-portfolio.vercel.app/)**.
