Skip to main content

Codebase Maintainability Analyzer

Project description

Maintainability - Codebase Maintainability Analyzer

GitHub stars PyPI

Maintainability is a Python CLI -> API workflow that innovates on static code analysis using large language models (GPT). It provides a comprehensive analysis of your codebase's maintainability, focusing on readability, design quality, testability, consistency, and debug error handling.

Why Use Maintainability? ๐Ÿš€

In the era of AI, why stick to traditional static code analysis? Maintainability leverages the power of GPT models to provide a more in-depth and intelligent analysis of your codebase. It's not just about finding bugs or syntax errors; it's about improving the quality of your code.

Imagine a future where this tool is integrated into your CI/CD pipeline, continuously analyzing and improving your codebase. That's the future Maintainability is building towards.

Repo Structure ๐Ÿ“‚

.
โ”œโ”€โ”€ .github
โ”‚   โ””โ”€โ”€ workflows
โ”‚       โ”œโ”€โ”€ integration_tests.yaml
โ”‚       โ””โ”€โ”€ publish_package.yaml
โ”œโ”€โ”€ maintainability
โ”‚   โ”œโ”€โ”€ api
โ”‚   โ”‚   โ”œโ”€โ”€ requirements.txt
โ”‚   โ”‚   โ”œโ”€โ”€ src
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ main.py
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ metrics_manager.py
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ models.py
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ __init__.py
โ”‚   โ”‚   โ””โ”€โ”€ vercel.json
โ”‚   โ””โ”€โ”€ cli
โ”‚       โ”œโ”€โ”€ file_operations.py
โ”‚       โ”œโ”€โ”€ main.py
โ”‚       โ””โ”€โ”€ __init__.py
โ”œโ”€โ”€ tests
โ”‚   โ”œโ”€โ”€ test_api_integration.py
โ”‚   โ””โ”€โ”€ test_cli_integration.py
โ”œโ”€โ”€ integration_tests.sh
โ”œโ”€โ”€ pyproject.toml
โ””โ”€โ”€ README.md

Usage ๐Ÿ’ป

To use Maintainability, you can run it from the command line with the following command:

maintainability --paths /path/to/your/code

This will analyze the code at the specified path and return a comprehensive maintainability report.

Example ๐Ÿ“–

Here's an example of how you can use Maintainability to analyze a Python file:

maintainability --paths /path/to/your/python/file.py

This will return a maintainability report for file.py, providing insights into its readability, design quality, testability, consistency, and debug error handling.

Future Plans ๐ŸŒˆ

We're working towards integrating Maintainability into GitHub Actions as a CI/CD step. This will allow you to continuously analyze and improve your codebase's maintainability with every push.

Stay tuned for more updates!

Contributing ๐Ÿค

Contributions are welcome! Please read our contributing guidelines for details on how to contribute to this project.

License ๐Ÿ“„

This project is licensed under the MIT License - see the LICENSE file for details.

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

maintainability-0.2.6.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

maintainability-0.2.6-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file maintainability-0.2.6.tar.gz.

File metadata

  • Download URL: maintainability-0.2.6.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.5 Linux/6.2.0-1012-azure

File hashes

Hashes for maintainability-0.2.6.tar.gz
Algorithm Hash digest
SHA256 5c5a11fbefb371b466e76c424ff300c9a015a08c9a9fca53644f0ff79a680368
MD5 7a7f94a6026e0d843ee3377cd0f8ba1c
BLAKE2b-256 c46ce5c874a3e9d3828d7d8058a3363e3965f57c72c94ce3d2346c8877e7816a

See more details on using hashes here.

File details

Details for the file maintainability-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: maintainability-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.5 Linux/6.2.0-1012-azure

File hashes

Hashes for maintainability-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 24271018ee389b15933c4790ea33724ab5dc7cf8ada2bf95774606690ef9b6f2
MD5 dcf7523e376b84cb4f432fcf51f5ec6a
BLAKE2b-256 d9511ffd61e36e69c7dcf324fadbcfae348c8ef717163fb85006d74c12375a47

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page