https://github.com/homoluctus/ghc
List up GitHub user / org repositories filtered by topics (ghc = GitHub Collector)
https://github.com/homoluctus/ghc
github graphql jinja2 python
Last synced: 4 months ago
JSON representation
List up GitHub user / org repositories filtered by topics (ghc = GitHub Collector)
- Host: GitHub
- URL: https://github.com/homoluctus/ghc
- Owner: homoluctus
- License: mit
- Created: 2020-08-22T15:36:02.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-16T00:04:30.000Z (over 3 years ago)
- Last Synced: 2025-12-18T00:16:47.789Z (6 months ago)
- Topics: github, graphql, jinja2, python
- Language: Python
- Homepage:
- Size: 75.2 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ghc (GitHub Collector)



List up GitHub user / org repositories filtered by topics
- [Feature](#feature)
- [Installtion](#installtion)
- [Usage](#usage)
- [Examples](#examples)
- [Output JSON](#output-json)
- [Output Markdown](#output-markdown)
- [Use GHC_TOKEN instead of --token option](#use-ghc_token-instead-of---token-option)
- [Roadmap](#roadmap)
## Feature
- List up GitHub org repositories
- filtered by topics
- Support several formats
- JSON
- Markdown
- Output the results to stdout or file
- Specify 'ghc/result.md' as output filename and if 'ghc' does not exist, create new directory
## Installtion
```bash
pip install ghc
```
## Usage
```
usage: ghc [-h] [--token TOKEN] [-t [TOPICS [TOPICS ...]]] [-f {json,md}] [-o FILENAME] [-V] owner
List up GitHub user / org repositories filtered by topics
positional arguments:
owner Repository user or organization name to search
optional arguments:
-h, --help show this help message and exit
--token TOKEN Personal Access Token to access the private repository. Use the environment variable "GHC_TOKEN" instead.
-t [TOPICS [TOPICS ...]], --topics [TOPICS [TOPICS ...]]
Filter repository using topics
-f {json,md}, --format {json,md}
Format the results with json or md (markdown). Default is json
-o FILENAME, --output FILENAME
Filename to output the results. Output stdout if not specified
-V, --version Show command version
```
## Examples
### Output JSON
```bash
ghc homoluctus --token xxxxxxxx -f json -t python
```
Result
```json
{
"count": 11,
"repositories": [
{
"description": null,
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "algorithms",
"url": "https://github.com/homoluctus/algorithms"
},
{
"description": "Sample for logging decorator",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "decolog",
"url": "https://github.com/homoluctus/decolog"
},
{
"description": "This tool helps to migrate DynamoDB to MySQL",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "dymy",
"url": "https://github.com/homoluctus/dymy"
},
{
"description": "Scan the vulnerability of Docker images stored in ECR",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "ecranner",
"url": "https://github.com/homoluctus/ecranner"
},
{
"description": "List up GitHub user / org repositories filtered by topics (ghc = GitHub Collector)",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "ghc",
"url": "https://github.com/homoluctus/ghc"
},
{
"description": "Python logging outputs as JSON",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "json-pyformatter",
"url": "https://github.com/homoluctus/json-pyformatter"
},
{
"description": "Analysis tool for Postfix log in /var/log/maillog",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "maillogger",
"url": "https://github.com/homoluctus/maillogger"
},
{
"description": "Notify today's wether information",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "ohtenki",
"url": "https://github.com/homoluctus/ohtenki"
},
{
"description": "Audit action for python dependencies (requirements.txt, Pipfile and poetry.lock)",
"is_archive": false,
"is_template": false,
"language": "Shell",
"language_logo_url": null,
"name": "pip-audit-action",
"url": "https://github.com/homoluctus/pip-audit-action"
},
{
"description": "The CLI tool to query AWS CloudWatch Logs Insights :mag:",
"is_archive": false,
"is_template": false,
"language": "Python",
"language_logo_url": "https://cdn.jsdelivr.net/npm/programming-languages-logos/src/python/python_24x24.png",
"name": "pyinsights",
"url": "https://github.com/homoluctus/pyinsights"
},
{
"description": "GitHub template for Python3.8",
"is_archive": false,
"is_template": true,
"language": "Makefile",
"language_logo_url": null,
"name": "python-template",
"url": "https://github.com/homoluctus/python-template"
}
]
}
```
### Output Markdown
```bash
nghc homoluctus --token xxxxxxx -f md -t python
```
Result (Raw)
```markdown
# Repositories
Total Count: 11
|Name|URL|Language|Description|
|:--:|:--:|:--:|:--|
|algorithms|https://github.com/homoluctus/algorithms||None|
|decolog|https://github.com/homoluctus/decolog||Sample for logging decorator|
|dymy|https://github.com/homoluctus/dymy||This tool helps to migrate DynamoDB to MySQL|
|ecranner|https://github.com/homoluctus/ecranner||Scan the vulnerability of Docker images stored in ECR|
|ghc|https://github.com/homoluctus/ghc||List up GitHub user / org repositories filtered by topics (ghc = GitHub Collector)|
|json-pyformatter|https://github.com/homoluctus/json-pyformatter||Python logging outputs as JSON|
|maillogger|https://github.com/homoluctus/maillogger||Analysis tool for Postfix log in /var/log/maillog|
|ohtenki|https://github.com/homoluctus/ohtenki||Notify today's wether information|
|pip-audit-action|https://github.com/homoluctus/pip-audit-action|Shell|Audit action for python dependencies (requirements.txt, Pipfile and poetry.lock)|
|pyinsights|https://github.com/homoluctus/pyinsights||The CLI tool to query AWS CloudWatch Logs Insights :mag:|
|python-template |https://github.com/homoluctus/python-template|Makefile|GitHub template for Python3.8|
> Generated by [ghc](https://github.com/homoluctus/ghc)
```
Result
# Repositories
Total Count: 11
|Name|URL|Language|Description|
|:--:|:--:|:--:|:--|
|algorithms|https://github.com/homoluctus/algorithms||None|
|decolog|https://github.com/homoluctus/decolog||Sample for logging decorator|
|dymy|https://github.com/homoluctus/dymy||This tool helps to migrate DynamoDB to MySQL|
|ecranner|https://github.com/homoluctus/ecranner||Scan the vulnerability of Docker images stored in ECR|
|ghc|https://github.com/homoluctus/ghc||List up GitHub user / org repositories filtered by topics (ghc = GitHub Collector)|
|json-pyformatter|https://github.com/homoluctus/json-pyformatter||Python logging outputs as JSON|
|maillogger|https://github.com/homoluctus/maillogger||Analysis tool for Postfix log in /var/log/maillog|
|ohtenki|https://github.com/homoluctus/ohtenki||Notify today's wether information|
|pip-audit-action|https://github.com/homoluctus/pip-audit-action|Shell|Audit action for python dependencies (requirements.txt, Pipfile and poetry.lock)|
|pyinsights|https://github.com/homoluctus/pyinsights||The CLI tool to query AWS CloudWatch Logs Insights :mag:|
|python-template |https://github.com/homoluctus/python-template|Makefile|GitHub template for Python3.8|
> Generated by [ghc](https://github.com/homoluctus/ghc)
### Use GHC_TOKEN instead of --token option
```bash
GHC_TOKEN=xxxxxxxx ghc homoluctus -f json -t python aws
```
## Roadmap
- [ ] Ignore filter
- [ ] Output to user-defined template