Skip to main content

pyfilemetre is a Python CLI tool that analyzes code using AST — counting functions, classes, and missing docstrings, and generating Markdown reports.

Project description

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:

pip install pyfilemetre

Note: Currently not available for local development!


Usage

Run pyfilemetre on a Python file or directory:

python -m pyfilemetre <path_to_project>

Example:

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

Saving the report.md file:

<path_to_project\report.md>

Example:

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:

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

Complete execution flow

Installation of pyfilemetre:

alt text

Information about pyfilemetre:

alt text

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

alt text

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

alt text

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

alt text

The report:

alt text


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.

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

pyfilemetre-0.1.6.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

pyfilemetre-0.1.6-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file pyfilemetre-0.1.6.tar.gz.

File metadata

  • Download URL: pyfilemetre-0.1.6.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for pyfilemetre-0.1.6.tar.gz
Algorithm Hash digest
SHA256 a1c2c80f521744fcb5915edc7813179ec9956cab29a003db9cf4d823be201337
MD5 918900e31c50ae2026c80fead2593032
BLAKE2b-256 2f373e5e0d2d9a6e651d9220027626586de6a6e1f3a87a74efcacf2f8137f491

See more details on using hashes here.

File details

Details for the file pyfilemetre-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pyfilemetre-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for pyfilemetre-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 eff22ff47f9b5fe8cb6cbd5fc866d4e366f8dbbcbb8e099aaa09a44a4bb6d171
MD5 6997c2422856e2b2a48661bc7248e57e
BLAKE2b-256 c8aa76fca5c30a4133f2f061eea6e2694a32f4d2ff12dcb28438f391eb22eeef

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