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.3.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: maintainability-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 46a0133de5840e1c5ee6176c80aabc88d85787efa1b9acc1870f225765cbac51
MD5 1a407c06aad879d5b859b47a66831aae
BLAKE2b-256 7d34dfb2c435f77937a6856fdfd5b7d2a7747a3b89673a1ec9c0760d74c09352

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maintainability-0.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f5a0811e6393fbb07a4ccf957b9c6f6f72000b70f9baba0acf5e00c213111e3e
MD5 dcfdc049702928369b0bc1206b271461
BLAKE2b-256 a900e079bdfa66e503a2c5c69fd6bfa0eda962030a2bf0324c1b0ba69add109e

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