Name | github-echo JSON |
Version |
0.0.7
JSON |
| download |
home_page | None |
Summary | A command-line tool built to obtain in-depth, actionable information about GitHub repositories. |
upload_time | 2024-09-07 14:31:23 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
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"
}