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

Uploaded Source

Built Distribution

maintainability-0.3.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: maintainability-0.3.0.tar.gz
  • Upload date:
  • Size: 7.8 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.3.0.tar.gz
Algorithm Hash digest
SHA256 dc27ace575585bd146f7b394a3fa2ae25b2a81a098d6e4b9c2b9ccda97c405e7
MD5 ae9a139810627c691d82d016465a0ccd
BLAKE2b-256 d19b7bf7f89127729569c2e7fcb8ffef1808a953f12226ec8515ae466cbec402

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maintainability-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3de5efcd51b7cc069feb37be236db449758352b73ec42007c89a623e1c0c1ae8
MD5 1d9cd9086be3c56f4fbc3bb47ed29310
BLAKE2b-256 6152310fc631ebc3874eff9f9fad6c17cdbe31a08137e0289bbc072688206cd5

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