Project Name: Github Profile Automated Analysis (Personal Ongoing Project)

This project is designed to find the most technically complex repository among all the public repositories of a GitHub user. It utilizes Python, OpenAI APIs, langchain, and Cohere APIs to achieve this functionality.

Directory Structure

/github-automated-analysis
|-- .venv
|-- data
|   |-- repos_cloned
|   |-- test_repos
|
|-- src
|   |-- modules.py
|   |-- consts.py
|   |-- preprocess.py
|   |-- evaluate_repo.py
|   |-- main.py
|
|-- tests
|   |-- test_preprocess.py
|   |-- test_evaluate_repo.py
|
|-- docs
|   |-- readme.md
|
|-- requirements.txt
|-- .gitignore

Installation

To set up and run this project locally, please follow the instructions below:

  1. Clone the repository:
git clone https://github.com/singhtanmay6735/github-automated-analysis.git
  1. Navigate to the project directory:
cd github-automated-analysis
  1. Create a virtual environment (optional but recommended):
python3 -m venv .venv
  1. Activate the virtual environment:
# For Windows
.venv\Scripts\activate.bat

# For Unix/Linux
source .venv/bin/activate
  1. Install the dependencies:
pip install -r requirements.txt
  1. Set up API credentials:

    • OpenAI API:

      • Sign up for an account at OpenAI.
      • Retrieve your API key.
      • Set the OPENAI_API_KEY environment variable with your API key.
    • Cohere API:

      • Sign up for an account at Cohere.
      • Retrieve your API key.
      • Set the COHERE_API_KEY environment variable with your API key.
  2. Run the application:

python src/main.py

Usage

Once the application is running, you can access it through the localhost. It prompts you to enter a GitHub user URL. Provide the URL of the user whose repositories you want to analyze for technical complexity.

The application will retrieve the public repositories of the user, calculate their technical complexity using GPT, and display the repository with the highest complexity with justification.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contributors

Acknowledgments

  • This project uses the OpenAI API and the Cohere API for natural language processing tasks.
  • Special thanks to the creators and maintainers of the libraries and APIs used in this project.