github-echo


Namegithub-echo JSON
Version 0.0.7 PyPI version JSON
download
home_pageNone
SummaryA command-line tool built to obtain in-depth, actionable information about GitHub repositories.
upload_time2024-09-07 14:31:23
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords github genai python3 cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img width="100%" src="https://github.com/AryanK1511/github-echo/blob/main/assets/logo.png?raw=true"><br /><br />
  <strong>A command-line tool built to obtain in-depth, actionable information about GitHub repositories that is often challenging to decipher manually</strong><br /><br />
</p>

<p align="center">
  <a href="https://python.org">
    <img src="https://img.shields.io/badge/Python-3.11-blue?logo=python&logoColor=white" alt="Python Version">
  </a>
  <a href="https://github.com/AryanK1511/github-echo">
    <img src="https://img.shields.io/github/stars/AryanK1511/github-echo?style=social" alt="GitHub Stars">
  </a>
  <a href="https://github.com/AryanK1511/github-echo/graphs/contributors">
    <img src="https://img.shields.io/github/contributors/AryanK1511/github-echo" alt="GitHub Contributors">
  </a>
  <a href="https://opensource.org/licenses/MIT">
    <img src="https://img.shields.io/github/license/AryanK1511/github-echo" alt="License">
  </a>
  <a href="https://github.com/AryanK1511/github-echo/issues">
    <img src="https://img.shields.io/github/issues/AryanK1511/github-echo" alt="GitHub Issues">
  </a>
</p>

## Table of Contents

- [Usage](#usage)
  - [Prerequisites](#prerequisites)
  - [Setup Instructions](#setup-instructions)
    - [1. Clone the Repository](#1-clone-the-repository)
    - [2. Set Up Environment Variables](#2-set-up-environment-variables)
    - [3. Install Required Dependencies](#3-install-required-dependencies)
  - [Running the CLI Tool](#running-the-cli-tool)
    - [On Windows](#on-windows)
    - [On macOS and Linux](#on-macos-and-linux)
  - [Additional Information](#additional-information)
  - [Troubleshooting](#troubleshooting)
- [Further Usage Instructions](#further-usage-instructions)
  - [Arguments](#arguments)
  - [Options](#options)
- [More about `github-echo`](#more-about-github-echo)
  - [Information drawn from the GitHub API](#information-drawn-from-the-github-api)
  - [Gemini GenAI Integration](#gemini-genai-integration)
- [Contributing](#contributing)
- [License](#license)
- [Author](#author)

## Usage

This tool has not been converted into a package yet so the only way to run this tool is to clone the repository and run it locally. Here are the steps to do so.

### Prerequisites

1. **Python3+**: Ensure `Python3` is installed on your system. You can download it from [python.org](https://www.python.org/downloads/).
2. **Git**: Ensure Git is installed. You can download it from [git-scm.com](https://git-scm.com/).

### Setup Instructions

#### 1. Clone the Repository

First, clone the repository to your local machine:

```bash
git clone https://github.com/AryanK1511/github-echo
cd github-echo
```

#### 2. Set Up Environment Variables

Create a `.env` file in the root of the repository and add the following content:

```text
GOOGLE_GEMINI_API_KEY='Your API Key'
GITHUB_API_TOKEN='Your API Token'
GITHUB_API_VERSION='2022-11-28'
```

- Replace `'Your API Key'` with your [Google Gemini API Key](https://aistudio.google.com/app/apikey).
- Replace `'Your API Token'` with your [GitHub Access Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).
- `GITHUB_API_VERSION` can be left as is unless you need a specific version.

#### 3. Install Required Dependencies

Install the necessary Python packages using `pipenv`:

1. `pip install pipenv`: Install `pipenv`.
2. `pipenv shell`: Activate the virtual environment.
3. `pipenv install`: Install all the required dependencies.

For more information on how to use `pipenv` read this [documentation](./_docs/using_pipenv.md) that I wrote.

### Running the CLI Tool

#### On Windows

1. Open Command Prompt or PowerShell.

2. Navigate to the project directory:

   ```cmd
   cd path\to\github-echo
   ```

3. Run the script:

   ```cmd
   python _main.py <GITHUB_REPOSITORY_URL> [OPTIONS]
   ```

   Example:

   ```cmd
   python _main.py https://github.com/user/repo --output results.md
   ```

#### On macOS and Linux

1. Open Terminal.

2. Navigate to the project directory:

   ```bash
   cd /path/to/github-echo
   ```

3. Make the script executable:

   ```bash
   chmod +x _main.py
   ```

4. Run the script:

   ```bash
   ./_main.py <GITHUB_REPOSITORY_URL> [OPTIONS]
   ```

   Example:

   ```bash
   ./_main.py https://github.com/user/repo --output results.md
   ```

### Additional Information

- **For Help**: Run `./_main.py --help` or `python _main.py --help` to see the available options and usage instructions.
- **For Version**: Use the `--version` or `-v` flag to get the version number.

### Troubleshooting

- **Invalid GitHub URL**: Ensure the URL is correct and follows the format `https://github.com/owner/repo`.
- **Connection Issues**: Check your internet connection and API tokens.
- **Permission Errors**: On Windows, ensure you have the necessary permissions to run scripts. On macOS/Linux, ensure the script has execution permissions.

## Further Usage Instructions

```bash
_main.py [OPTIONS] GITHUB_REPOSITORY_URL COMMAND [ARGS]..._
```

### Arguments

| Argument                | Tsype | Description                                 | Default | Required |
| ----------------------- | ----- | ------------------------------------------- | ------- | -------- |
| `github_repository_url` | TEXT  | The URL of the GitHub repository to analyze | None    | Yes      |

### Options

| Option      | Shortcut | Type | Description                | Default |
| ----------- | -------- | ---- | -------------------------- | ------- |
| `--version` | `-v`     | Flag | Get the version number     |         |
| `--output`  | `-o`     | PATH | Path to the output file    | None    |
| `--help`    |          | Flag | Show this message and exit |         |

## More about `github-echo`

### Information drawn from the GitHub API

The tool fetches the following key information about GitHub repositories:

- **Repository Metadata**: Name, description, owner, URL, and other basic information.
- **Contributors**: Details about contributors, including their usernames, IDs, and avatars.
- **Issues and Pull Requests**: Information about open and closed issues and pull requests, including titles, states, and comments.
- **Labels**: Labels associated with issues and pull requests.
- **Activity Data**: Data related to repository activity, such as commit history and contributions.

### Gemini GenAI Integration

**Repo Insights** uses Gemini GenAI to analyze the fetched repository data. Gemini GenAI provides advanced capabilities for:

- **Summary Generation**: Creating comprehensive summaries based on the repository data.
- **Insight Extraction**: Identifying key patterns and insights that are not immediately obvious from raw data.

**How It Works**:

1. **Data Fetching**: The tool queries GitHub's API to gather repository data.
2. **Data Processing**: The fetched data is processed and formatted.
3. **AI Analysis**: The processed data is sent to Gemini GenAI, which analyzes it and generates a detailed summary.
4. **Summary Output**: The summary is either displayed in the terminal or saved to a specified file.

## Contributing

We welcome contributions to improve **Repo Insights**. If you have suggestions, bug reports, or enhancements, please open an issue or submit a pull request.

1. Fork the repository.
2. Create a feature branch (`git checkout -b feature/your-feature`).
3. Commit your changes (`git commit -am 'Add new feature'`).
4. Push to the branch (`git push origin feature/your-feature`).
5. Create a new Pull Request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Author

[Aryan Khurana](https://www.github.com/AryanK1511)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "github-echo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "GitHub, GenAI, Python3, CLI",
    "author": null,
    "author_email": "Aryan Khurana <aryankhurana1511@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/d4/34/cd63ba2adc2a75000cf9026669362e1656e2ffa956307a5daabbbdf8705a/github_echo-0.0.7.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img width=\"100%\" src=\"https://github.com/AryanK1511/github-echo/blob/main/assets/logo.png?raw=true\"><br /><br />\n  <strong>A command-line tool built to obtain in-depth, actionable information about GitHub repositories that is often challenging to decipher manually</strong><br /><br />\n</p>\n\n<p align=\"center\">\n  <a href=\"https://python.org\">\n    <img src=\"https://img.shields.io/badge/Python-3.11-blue?logo=python&logoColor=white\" alt=\"Python Version\">\n  </a>\n  <a href=\"https://github.com/AryanK1511/github-echo\">\n    <img src=\"https://img.shields.io/github/stars/AryanK1511/github-echo?style=social\" alt=\"GitHub Stars\">\n  </a>\n  <a href=\"https://github.com/AryanK1511/github-echo/graphs/contributors\">\n    <img src=\"https://img.shields.io/github/contributors/AryanK1511/github-echo\" alt=\"GitHub Contributors\">\n  </a>\n  <a href=\"https://opensource.org/licenses/MIT\">\n    <img src=\"https://img.shields.io/github/license/AryanK1511/github-echo\" alt=\"License\">\n  </a>\n  <a href=\"https://github.com/AryanK1511/github-echo/issues\">\n    <img src=\"https://img.shields.io/github/issues/AryanK1511/github-echo\" alt=\"GitHub Issues\">\n  </a>\n</p>\n\n## Table of Contents\n\n- [Usage](#usage)\n  - [Prerequisites](#prerequisites)\n  - [Setup Instructions](#setup-instructions)\n    - [1. Clone the Repository](#1-clone-the-repository)\n    - [2. Set Up Environment Variables](#2-set-up-environment-variables)\n    - [3. Install Required Dependencies](#3-install-required-dependencies)\n  - [Running the CLI Tool](#running-the-cli-tool)\n    - [On Windows](#on-windows)\n    - [On macOS and Linux](#on-macos-and-linux)\n  - [Additional Information](#additional-information)\n  - [Troubleshooting](#troubleshooting)\n- [Further Usage Instructions](#further-usage-instructions)\n  - [Arguments](#arguments)\n  - [Options](#options)\n- [More about `github-echo`](#more-about-github-echo)\n  - [Information drawn from the GitHub API](#information-drawn-from-the-github-api)\n  - [Gemini GenAI Integration](#gemini-genai-integration)\n- [Contributing](#contributing)\n- [License](#license)\n- [Author](#author)\n\n## Usage\n\nThis tool has not been converted into a package yet so the only way to run this tool is to clone the repository and run it locally. Here are the steps to do so.\n\n### Prerequisites\n\n1. **Python3+**: Ensure `Python3` is installed on your system. You can download it from [python.org](https://www.python.org/downloads/).\n2. **Git**: Ensure Git is installed. You can download it from [git-scm.com](https://git-scm.com/).\n\n### Setup Instructions\n\n#### 1. Clone the Repository\n\nFirst, clone the repository to your local machine:\n\n```bash\ngit clone https://github.com/AryanK1511/github-echo\ncd github-echo\n```\n\n#### 2. Set Up Environment Variables\n\nCreate a `.env` file in the root of the repository and add the following content:\n\n```text\nGOOGLE_GEMINI_API_KEY='Your API Key'\nGITHUB_API_TOKEN='Your API Token'\nGITHUB_API_VERSION='2022-11-28'\n```\n\n- Replace `'Your API Key'` with your [Google Gemini API Key](https://aistudio.google.com/app/apikey).\n- Replace `'Your API Token'` with your [GitHub Access Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n- `GITHUB_API_VERSION` can be left as is unless you need a specific version.\n\n#### 3. Install Required Dependencies\n\nInstall the necessary Python packages using `pipenv`:\n\n1. `pip install pipenv`: Install `pipenv`.\n2. `pipenv shell`: Activate the virtual environment.\n3. `pipenv install`: Install all the required dependencies.\n\nFor more information on how to use `pipenv` read this [documentation](./_docs/using_pipenv.md) that I wrote.\n\n### Running the CLI Tool\n\n#### On Windows\n\n1. Open Command Prompt or PowerShell.\n\n2. Navigate to the project directory:\n\n   ```cmd\n   cd path\\to\\github-echo\n   ```\n\n3. Run the script:\n\n   ```cmd\n   python _main.py <GITHUB_REPOSITORY_URL> [OPTIONS]\n   ```\n\n   Example:\n\n   ```cmd\n   python _main.py https://github.com/user/repo --output results.md\n   ```\n\n#### On macOS and Linux\n\n1. Open Terminal.\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd /path/to/github-echo\n   ```\n\n3. Make the script executable:\n\n   ```bash\n   chmod +x _main.py\n   ```\n\n4. Run the script:\n\n   ```bash\n   ./_main.py <GITHUB_REPOSITORY_URL> [OPTIONS]\n   ```\n\n   Example:\n\n   ```bash\n   ./_main.py https://github.com/user/repo --output results.md\n   ```\n\n### Additional Information\n\n- **For Help**: Run `./_main.py --help` or `python _main.py --help` to see the available options and usage instructions.\n- **For Version**: Use the `--version` or `-v` flag to get the version number.\n\n### Troubleshooting\n\n- **Invalid GitHub URL**: Ensure the URL is correct and follows the format `https://github.com/owner/repo`.\n- **Connection Issues**: Check your internet connection and API tokens.\n- **Permission Errors**: On Windows, ensure you have the necessary permissions to run scripts. On macOS/Linux, ensure the script has execution permissions.\n\n## Further Usage Instructions\n\n```bash\n_main.py [OPTIONS] GITHUB_REPOSITORY_URL COMMAND [ARGS]..._\n```\n\n### Arguments\n\n| Argument                | Tsype | Description                                 | Default | Required |\n| ----------------------- | ----- | ------------------------------------------- | ------- | -------- |\n| `github_repository_url` | TEXT  | The URL of the GitHub repository to analyze | None    | Yes      |\n\n### Options\n\n| Option      | Shortcut | Type | Description                | Default |\n| ----------- | -------- | ---- | -------------------------- | ------- |\n| `--version` | `-v`     | Flag | Get the version number     |         |\n| `--output`  | `-o`     | PATH | Path to the output file    | None    |\n| `--help`    |          | Flag | Show this message and exit |         |\n\n## More about `github-echo`\n\n### Information drawn from the GitHub API\n\nThe tool fetches the following key information about GitHub repositories:\n\n- **Repository Metadata**: Name, description, owner, URL, and other basic information.\n- **Contributors**: Details about contributors, including their usernames, IDs, and avatars.\n- **Issues and Pull Requests**: Information about open and closed issues and pull requests, including titles, states, and comments.\n- **Labels**: Labels associated with issues and pull requests.\n- **Activity Data**: Data related to repository activity, such as commit history and contributions.\n\n### Gemini GenAI Integration\n\n**Repo Insights** uses Gemini GenAI to analyze the fetched repository data. Gemini GenAI provides advanced capabilities for:\n\n- **Summary Generation**: Creating comprehensive summaries based on the repository data.\n- **Insight Extraction**: Identifying key patterns and insights that are not immediately obvious from raw data.\n\n**How It Works**:\n\n1. **Data Fetching**: The tool queries GitHub's API to gather repository data.\n2. **Data Processing**: The fetched data is processed and formatted.\n3. **AI Analysis**: The processed data is sent to Gemini GenAI, which analyzes it and generates a detailed summary.\n4. **Summary Output**: The summary is either displayed in the terminal or saved to a specified file.\n\n## Contributing\n\nWe welcome contributions to improve **Repo Insights**. If you have suggestions, bug reports, or enhancements, please open an issue or submit a pull request.\n\n1. Fork the repository.\n2. Create a feature branch (`git checkout -b feature/your-feature`).\n3. Commit your changes (`git commit -am 'Add new feature'`).\n4. Push to the branch (`git push origin feature/your-feature`).\n5. Create a new Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Author\n\n[Aryan Khurana](https://www.github.com/AryanK1511)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A command-line tool built to obtain in-depth, actionable information about GitHub repositories.",
    "version": "0.0.7",
    "project_urls": {
        "Homepage": "https://github.com/AryanK1511/github-echo",
        "Issues": "https://github.com/AryanK1511/github-echo/issues"
    },
    "split_keywords": [
        "github",
        " genai",
        " python3",
        " cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57ad41fd4fdd2b4a0c3462a19f4973d773df75f542772a2530567c9686db54dc",
                "md5": "4f52767496a46385eb615a85ff2c922c",
                "sha256": "bd55abc4928c22fc9540bb1b800493e9a80584a0836bab07b67dbc56e5bcf888"
            },
            "downloads": -1,
            "filename": "github_echo-0.0.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4f52767496a46385eb615a85ff2c922c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 14380,
            "upload_time": "2024-09-07T14:31:21",
            "upload_time_iso_8601": "2024-09-07T14:31:21.528012Z",
            "url": "https://files.pythonhosted.org/packages/57/ad/41fd4fdd2b4a0c3462a19f4973d773df75f542772a2530567c9686db54dc/github_echo-0.0.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d434cd63ba2adc2a75000cf9026669362e1656e2ffa956307a5daabbbdf8705a",
                "md5": "4cec28943eae46f6af63330fbd776609",
                "sha256": "b038815518b88ba6b511440549e6a453edb110e9ada6c7aef33d8e7da6d27960"
            },
            "downloads": -1,
            "filename": "github_echo-0.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "4cec28943eae46f6af63330fbd776609",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 66578,
            "upload_time": "2024-09-07T14:31:23",
            "upload_time_iso_8601": "2024-09-07T14:31:23.121784Z",
            "url": "https://files.pythonhosted.org/packages/d4/34/cd63ba2adc2a75000cf9026669362e1656e2ffa956307a5daabbbdf8705a/github_echo-0.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-07 14:31:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AryanK1511",
    "github_project": "github-echo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "github-echo"
}
        
Elapsed time: 0.34524s