개요
GitHub 추출기 패키지는 GitHub의 데이터 추출을 용이하게하도록 설계된 Python 라이브러리입니다.
이 패키지는 강력한 오류 처리 및 구성 지원을 통해 사용 된 언어, 릴리스, 기고자, 주제, 워크 플로 등을 포함하여 저장소에 대한 정보를 가져 오는 기능을 제공합니다.
특징
- GitHub의 사용자를위한 조직을 나열합니다.
- GitHub의 사용자에 대한 저장소 목록.
- GitHub에서 지정된 조직의 저장소 목록.
- GitHub API 토큰을 사용한 인증 지원.
- 주어진 패턴을 기반으로 조직 및 저장소 필터링.
- API 요청에 대한 페이지 매김 처리.
설치
PIP를 통해 GitHub 추출기를 설치할 수 있습니다.
pip install wolfsoftware.github-extractor
용법
토큰 정보 얻기
주어진 토큰과 관련된 기본 정보를 얻습니다.
이 GitHub 토큰 유효성 검사기에 대한 특정 명령 줄 도구도 있습니다.
from wolfsoftware . github_extractor import get_token_information
config = {
"token" : "your_github_token" ,
} 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 예 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
사용자 정보 받기
인증 된 사용자 (토큰의 소유자)와 관련된 기본 정보를 얻습니다. 정보는 토큰의 범위에 의해 제한됩니다.
from wolfsoftware . github_extractor import get_authenticated_user
config = {
"token" : "your_github_token" ,
} 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 예 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
상장 조직
영국 또는 미국 영어 철자법을 사용하는 회원 인 조직에 나열 할 수 있습니다.
from wolfsoftware . github_extractor import list_organisations , list_organizations
config = {
"token" : "your_github_token" ,
"ignore_orgs" : [ "Test*" ]
}
# Using British English spelling
organisations = list_organisations ( config )
# Using American English spelling
organisations_us = list_organizations ( config ) 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 예 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
필터링 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 포함 _orgs | 아니요 | 결과에 포함 할 조직 이름 목록. |
| incor_orgs | 아니요 | 결과에서 제외 할 조직 이름 목록. |
| get_members | 아니요 | 결과에 조직 구성원을 포함시켜야합니다. |
목록 사용자 저장소
옵션 필터가있는 사용자의 리포지토리를 나열 할 수 있습니다.
from wolfsoftware . github_extractor import list_user_repositories
config = {
"token" : "your_github_token" ,
"ignore_repos" : [ "Test*" ],
"include_repos" : [ "Project*" ]
}
repositories = list_user_repositories ( config ) 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 아니요 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
| 사용자 이름 | 아니요 | 리포지토리를 나열 할 github 사용자 이름. (인증 된 사용자는 사용되지 않습니다). |
추가 데이터 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| get_branches | 아니요 | 각 저장소에 모든 분기에 대한 세부 사항을 추가하십시오. |
| get_contripors | 아니요 | 각 저장소에 모든 기여자에 대한 세부 정보를 추가하십시오. |
| get_languages | 아니요 | 각 저장소에 대해 식별 된 언어 목록을 추가하십시오. |
| get_releases | 아니요 | 모든 릴리스에 대한 세부 정보를 각 저장소에 추가하십시오. |
| get_tags | 아니요 | 각 저장소에 모든 태그에 대한 세부 사항을 추가하십시오. |
| get_topics | 아니요 | 각 저장소에 정의 된 주제 목록을 추가하십시오. |
| get_workflows | 아니요 | 모든 워크 플로에 대한 세부 정보를 각 저장소에 추가하십시오. |
필터링 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| include_names | 아니요 | 결과에 포함 할 저장소 이름 목록. |
| incor_names | 아니요 | 결과에서 제외 할 저장소 이름 목록. |
| include_repos | 아니요 | 결과에 포함 할 조직 이름/저장소 이름 목록. |
| incor_repos | 아니요 | 결과에서 제외 할 조직 이름/저장소 이름 목록. |
| skip_private | 아니요 | 개인 리포지토리를 포함하지 않으면 인증 된 사용자만을위한 것입니다. |
무시하고 포함 이름은 리포지토리의 전체 이름을 사용합니다. 이는 조직 이름 / 저장소 이름 예 : githubtoolbox / github-extractor-package입니다.
조직 별 리포지토리 목록
옵션 필터가있는 특정 조직의 리포지토리를 나열 할 수 있습니다.
from wolfsoftware . github_extractor import list_repositories_by_org
config = {
"token" : "your_github_token" ,
"org_name" : "your_organization" ,
"ignore_repos" : [ "Test*" ],
"include_repos" : [ "Project*" ]
}
repositories = list_repositories_by_org ( config ) 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 아니요 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
| org_name | 아니요 | GitHub 조직은 저장소를 나열합니다. |
추가 데이터 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| get_branches | 아니요 | 각 저장소에 모든 분기에 대한 세부 사항을 추가하십시오. |
| get_contripors | 아니요 | 각 저장소에 모든 기여자에 대한 세부 정보를 추가하십시오. |
| get_languages | 아니요 | 각 저장소에 대해 식별 된 언어 목록을 추가하십시오. |
| get_releases | 아니요 | 모든 릴리스에 대한 세부 정보를 각 저장소에 추가하십시오. |
| get_tags | 아니요 | 각 저장소에 모든 태그에 대한 세부 사항을 추가하십시오. |
| get_topics | 아니요 | 각 저장소에 정의 된 주제 목록을 추가하십시오. |
| get_workflows | 아니요 | 모든 워크 플로에 대한 세부 정보를 각 저장소에 추가하십시오. |
필터링 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| include_names | 아니요 | 결과에 포함 할 저장소 이름 목록. |
| incor_names | 아니요 | 결과에서 제외 할 저장소 이름 목록. |
| include_repos | 아니요 | 결과에 포함 할 조직 이름/저장소 이름 목록. |
| incor_repos | 아니요 | 결과에서 제외 할 조직 이름/저장소 이름 목록. |
| skip_private | 아니요 | 개인 리포지토리를 포함하지 않으면 인증 된 사용자만을위한 것입니다. |
무시하고 포함 이름은 리포지토리의 전체 이름을 사용합니다. 이는 조직 이름 / 저장소 이름 예 : githubtoolbox / github-extractor-package입니다.
모든 조직 저장소 목록
모든 조직에 대한 모든 리포지토리를 나열 할 수 있습니다.
from wolfsoftware . github_extractor import list_all_org_repositories
config = {
"token" : "your_github_token" ,
"ignore_repos" : [ "Test*" ],
"include_repos" : [ "Project*" ]
}
repositories = list_all_org_repositories ( config ) 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 예 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
추가 데이터 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| get_branches | 아니요 | 각 저장소에 모든 분기에 대한 세부 사항을 추가하십시오. |
| get_contripors | 아니요 | 각 저장소에 모든 기여자에 대한 세부 정보를 추가하십시오. |
| get_languages | 아니요 | 각 저장소에 대해 식별 된 언어 목록을 추가하십시오. |
| get_releases | 아니요 | 모든 릴리스에 대한 세부 정보를 각 저장소에 추가하십시오. |
| get_tags | 아니요 | 각 저장소에 모든 태그에 대한 세부 사항을 추가하십시오. |
| get_topics | 아니요 | 각 저장소에 정의 된 주제 목록을 추가하십시오. |
| get_workflows | 아니요 | 모든 워크 플로에 대한 세부 정보를 각 저장소에 추가하십시오. |
필터링 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| include_names | 아니요 | 결과에 포함 할 저장소 이름 목록. |
| incor_names | 아니요 | 결과에서 제외 할 저장소 이름 목록. |
| include_repos | 아니요 | 결과에 포함 할 조직 이름/저장소 이름 목록. |
| incor_repos | 아니요 | 결과에서 제외 할 조직 이름/저장소 이름 목록. |
| skip_private | 아니요 | 개인 리포지토리를 포함하지 않으면 인증 된 사용자만을위한 것입니다. |
무시하고 포함 이름은 리포지토리의 전체 이름을 사용합니다. 이는 조직 이름 / 저장소 이름 예 : githubtoolbox / github-extractor-package입니다.
모든 가시 리포지토리를 나열합니다
액세스 할 수있는 저장소를 나열 할 수 있습니다.
from wolfsoftware . github_extractor import list_all_visible_repositories
config = {
"token" : "your_github_token" ,
"ignore_repos" : [ "Test*" ],
"include_repos" : [ "Project*" ]
}
repositories = list_all_visible_repositories ( config ) 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| 토큰 | 예 | GitHub API의 인증. |
| 시간 초과 | 아니요 | GitHub API와 대화 할 때 사용하는 시간 초과 (기본값은 10 초). |
| 슬러그 | 아니요 | 결과를 슬러그로 반환해야합니다. (이름 목록 및 기타 없음). |
추가 데이터 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| get_branches | 아니요 | 각 저장소에 모든 분기에 대한 세부 사항을 추가하십시오. |
| get_contripors | 아니요 | 각 저장소에 모든 기여자에 대한 세부 정보를 추가하십시오. |
| get_languages | 아니요 | 각 저장소에 대해 식별 된 언어 목록을 추가하십시오. |
| get_releases | 아니요 | 모든 릴리스에 대한 세부 정보를 각 저장소에 추가하십시오. |
| get_tags | 아니요 | 각 저장소에 모든 태그에 대한 세부 사항을 추가하십시오. |
| get_topics | 아니요 | 각 저장소에 정의 된 주제 목록을 추가하십시오. |
| get_workflows | 아니요 | 모든 워크 플로에 대한 세부 정보를 각 저장소에 추가하십시오. |
필터링 매개 변수
| 이름 | 필수의 | 목적 |
|---|
| include_names | 아니요 | 결과에 포함 할 저장소 이름 목록. |
| incor_names | 아니요 | 결과에서 제외 할 저장소 이름 목록. |
| include_repos | 아니요 | 결과에 포함 할 조직 이름/저장소 이름 목록. |
| incor_repos | 아니요 | 결과에서 제외 할 조직 이름/저장소 이름 목록. |
| skip_private | 아니요 | 개인 리포지토리를 포함하지 않으면 인증 된 사용자만을위한 것입니다. |
무시하고 포함 이름은 리포지토리의 전체 이름을 사용합니다. 이는 조직 이름 / 저장소 이름 예 : githubtoolbox / github-extractor-package입니다.
예외
다음과 같은 사용자 정의 예외가 사용됩니다.
| 이름 | 목적 |
|---|
| AuthenticationError | 인증이 실패하면 제기됩니다. 이것은 잘못된 토큰으로 인해 발생합니다. |
| missingorgnameerror | 조직 이름이 누락되었을 때 제기되었습니다. |
| MissingTokenError | Github API 토큰이 누락되었을 때 발생하지만 필요합니다. |
| NotFoundError | 요청 된 리소스를 찾을 수 없을 때 발생합니다. 이것은 토큰의 잘못된 범위에 의해 발생합니다. |
| RatelimitexeceedEderror | Github API 요율 제한이 초과 될 때 증가합니다. |
| requestError | 일반적인 요청 오류로 증가했습니다. |
| requestTimeouTerror | 요청이 시간이 초과되면 제기됩니다. |