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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: maintainability-0.2.5.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.5.tar.gz
Algorithm Hash digest
SHA256 496ca0960d72fb8856cebcf27d493e733ce549221e4e1cc11f6e9da4dc22d7a3
MD5 c2aefded2fec038b5c6310fb09ebfb23
BLAKE2b-256 a1e095a673afcb7802ad9f27f81f8ca0688ad0612997944c5f05e0fe8d97657b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maintainability-0.2.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3a270dae70131257f979677194fbb020d8436382d6010dafe5398a9ca2d5cf9a
MD5 6ed8daf6b7d092bf031bee05a9c395db
BLAKE2b-256 8bf873a4d8fad35984a5a40ee4eb1a822e4d1a8debee233c00e403bda977b28a

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