{"id":32490279,"url":"https://github.com/yunkon-kim/github-influence-factors-counter","last_synced_at":"2026-05-17T04:43:22.635Z","repository":{"id":56026746,"uuid":"309329952","full_name":"yunkon-kim/github-influence-factors-counter","owner":"yunkon-kim","description":"The GitHub Meaningful Achievements Counter is a tool to efficiently extract significant open-source R\u0026D achievements from multiple repositories in an organization. Verification was completed by confirming that the information extracted by the tool matches the data displayed in the GitHub UI.","archived":false,"fork":false,"pushed_at":"2024-07-10T08:57:37.000Z","size":63,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-07-10T10:48:46.609Z","etag":null,"topics":["achievements","github","github-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yunkon-kim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-02T10:06:03.000Z","updated_at":"2024-07-10T08:57:41.000Z","dependencies_parsed_at":"2023-12-11T07:41:15.850Z","dependency_job_id":null,"html_url":"https://github.com/yunkon-kim/github-influence-factors-counter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yunkon-kim/github-influence-factors-counter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunkon-kim%2Fgithub-influence-factors-counter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunkon-kim%2Fgithub-influence-factors-counter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunkon-kim%2Fgithub-influence-factors-counter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunkon-kim%2Fgithub-influence-factors-counter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yunkon-kim","download_url":"https://codeload.github.com/yunkon-kim/github-influence-factors-counter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunkon-kim%2Fgithub-influence-factors-counter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281241875,"owners_count":26467373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-27T02:00:05.855Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["achievements","github","github-api"],"created_at":"2025-10-27T09:00:15.652Z","updated_at":"2025-10-27T09:00:20.857Z","avatar_url":"https://github.com/yunkon-kim.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub meaningful achievements counter\n\n공개SW R\u0026D의 유의미한 성과들은 각 저장소(Repository)에 기록이 남습니다. \n그래서 조직(Organization)차원에서 성과를 파악하는 것은 상당히 소모적인 작업이라 할 수 있습니다.\n조직 내의 여러 저장소들의 유의미한 성과들을 효율적으로 파악하고자 도구를 만들게 되었습니다.\nGitHub API를 호출하여 유의미한 성과들을 파악하여 GitHub UI 상에 나타나는 수치와 일치합니다. \n\n참고 - [GitHub REST API documentation](https://docs.github.com/en/rest?apiVersion=2022-11-28) \n\n본 도구를 활용하면 조직 정보, 저장소 정보, 및 아래와 같은 성과를 파악할 수 있습니다. :thumbsup:  \n\n![image](https://github.com/yunkon-kim/github-influence-factors-counter/assets/7975459/2ca2231a-7cfa-4d78-a3db-ad7799915442)\n\nOpen Source Software (OSS) 관련 프로젝트에서 편리하게 활용되기를 바랍니다. :smile:   \n\n**앞에서 유의미한 성과로 표현했지만, 공개SW 생태계에서 일어나는 모든 기여는 너무나도 중요하고 소중합니다.**   \n**만약 본 프로그램이 평가에 활용된다면, \u003cins\u003e필히! 정성적인 가치 평가가 함께 이루어져야할 것 입니다.\u003c/ins\u003e** :pray:\n\n\n## Environment\n\n다음과 같은 환경에서 개발 및 테스트를 진행하였습니다.\n\n- Ubuntu 22.04.3 LTS (on WSL2)\n- Python 3.10.12\n- pip 22.0.2 \n\n## 사용방법\n\n### 소스코드 내려 받기\n\n`git clone`을 통해 소스 코드를 내려 받습니다.\n\n```bash\ngit clone https://github.com/yunkon-kim/github-influence-factors-counter.git\n```\n\n### 실행 환경 구성\n\n참고 - 최초 한번만 수행하면 되는 사항입니다. \n\n#### Python 및 관련 패키지 설치\n\n아래 명령어를 통해 Python 및 관련 패키지를 설치하실 수 있습니다.\n\n```bash\nsudo apt update -y\nsudo apt install python3 -y\nsudo apt install python3-pip -y\nsudo apt install python3.10-venv -y\n```\n\n#### `venv` 환경 설정\n\n아래 명령어를 통해 `venv`를 설정 합니다. \n(`.venv` 디렉토리가 생성되고 `venv` 관련 사항들이 설치될 것 입니다.)\n\n```bash\npython3 -m venv .venv\n```\n\n아래 명령어를 통해 `venv`를 활성화합니다.\n\n```bash\nsource .venv/bin/activate\n```\n\n#### Python 모듈 설치\n\n아래 명령어를 통해 도구를 실행하는데 필요한 모듈을 설치 합니다.\n\n```bash\npip3 install -r requirements.txt\n```\n\n\n### 설정 파일 작성\n\nGitHub REST API에는 Rating limit이 적용되어 있고, Personal Access Token (PAT) 활용을 통해 시간단 5000회 까지 호출하도록 만들 수 있습니다. \n\n참고 - [Creating a personal access token (classic)](https://docs.github.com/ko/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic))\n\n`template-auth.json`을 복사하여 `auth.json` 생성한 후 알맞게 수정하시기 바랍니다.\n```json\n{\n  \"username\": \"your-github-username\",\n  \"personal-access-token\": \"your-github-personal-access-token\"\n}\n\n```\n\n`template-config.json`을 복사하여 `config.json` 생성한 후 알맞게 수정하시기 바랍니다.\n\n```json\n{\n  \"org-name\": \"your-organization-name\",\n  \"since\": \"2023-01-01\",\n  \"until\": \"2023-12-31\",\n  \"repositories\": [\n    \"repo1\",\n    \"repo2\",\n    \"repo3\"\n  ]\n}\n```\n\n(optional) 조직내의 모든 저장소 리스트를 확인하는 스크립트를 만들어 두었습니다.\n`repositories`를 채우실때 도움이 될 것 같습니다.\n\n```bash\npython3 get_org_repos.py\n```\n\n### 실행 및 결과 확인\n\n위 준비 사항을 끝마치셨으면 이제 도구를 실행해 주기만 하면 됩니다.\n\n아래 명령어를 통해 조직내의 지정된 저장소의 유의미한 성과를 추출할 수 있습니다.\n\n```bash\npython3 orgs.py\n```\n\n성과를 추출하는데 시간이 조금 소요되며, 결과가 `.results/` 경로에 `csv` 형식으로 출력됩니다.\n(파일명 예: `(cloud-barista)repos-statistics-rawdata-20231208-223421.csv`)\n\n파일을 열어 결과를 확인합니다.\n\n![image](https://github.com/yunkon-kim/github-influence-factors-counter/assets/7975459/2ca2231a-7cfa-4d78-a3db-ad7799915442)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunkon-kim%2Fgithub-influence-factors-counter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyunkon-kim%2Fgithub-influence-factors-counter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunkon-kim%2Fgithub-influence-factors-counter/lists"}