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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: maintainability-0.2.4.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.4.tar.gz
Algorithm Hash digest
SHA256 f0bb2a57a8d46ac23f7b064c2fd4f40eb356fd1c3c619a45ac3e0f88906dd453
MD5 e7366ebcb98749bb0832835aac143567
BLAKE2b-256 4453f99293dd68279eb23332879a51db69ab8075b09bcb9941b3d4d00b9bbd39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maintainability-0.2.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d7963d84b28293d3874432e50860e42decdceab042e0010341cb6abc7711df1a
MD5 d8e6eb7343ca4d572caf64d95d0ce54f
BLAKE2b-256 dcd4b976c05052f2c79e2163b7802b6ee8bb289eb51197eeebee27241b823c49

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