ภาพรวม
แพ็คเกจ GitHub Extractor เป็นไลบรารี Python ที่ออกแบบมาเพื่ออำนวยความสะดวกในการสกัดข้อมูลจาก GitHub
แพ็คเกจนี้มีฟังก์ชั่นในการดึงข้อมูลเกี่ยวกับที่เก็บรวมถึงภาษาที่ใช้การเผยแพร่ผู้สนับสนุนหัวข้อเวิร์กโฟลว์และอื่น ๆ ด้วยการจัดการข้อผิดพลาดที่แข็งแกร่งและการสนับสนุนการกำหนดค่า
คุณสมบัติ
- รายการองค์กรสำหรับผู้ใช้จาก GitHub
- รายการที่เก็บสำหรับผู้ใช้จาก GitHub
- รายการที่เก็บสำหรับองค์กรที่ระบุจาก GitHub
- รองรับการตรวจสอบสิทธิ์โดยใช้โทเค็น GitHub API
- การกรององค์กรและที่เก็บตามรูปแบบที่กำหนด
- การจัดการปนเปื้อนสำหรับคำขอ API
การติดตั้ง
คุณสามารถติดตั้ง GitHub Extractor ผ่าน PIP:
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 | เลขที่ | รายการชื่อองค์กรที่จะรวมไว้ในผลลัพธ์ |
| ละเว้น _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_contributors | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับผู้มีส่วนร่วมทั้งหมดในแต่ละที่เก็บ |
| get_languages | เลขที่ | เพิ่มรายการภาษาที่ระบุสำหรับที่เก็บแต่ละ |
| get_releases | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับการเปิดตัวทั้งหมดในที่เก็บแต่ละแห่ง |
| get_tags | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับแท็กทั้งหมดในที่เก็บแต่ละอัน |
| get_topics | เลขที่ | เพิ่มรายการหัวข้อที่กำหนดไว้ในที่เก็บแต่ละแห่ง |
| get_workflows | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับเวิร์กโฟลว์ทั้งหมดในที่เก็บแต่ละแห่ง |
พารามิเตอร์การกรอง
| ชื่อ | ที่จำเป็น | วัตถุประสงค์ |
|---|
| รวม _names | เลขที่ | รายการชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _names | เลขที่ | รายการชื่อที่เก็บเพื่อแยกออกจากผลลัพธ์ |
| รวม _repos | เลขที่ | รายการชื่อองค์กร/ชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _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_contributors | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับผู้มีส่วนร่วมทั้งหมดในแต่ละที่เก็บ |
| get_languages | เลขที่ | เพิ่มรายการภาษาที่ระบุสำหรับที่เก็บแต่ละ |
| get_releases | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับการเปิดตัวทั้งหมดในที่เก็บแต่ละแห่ง |
| get_tags | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับแท็กทั้งหมดในที่เก็บแต่ละอัน |
| get_topics | เลขที่ | เพิ่มรายการหัวข้อที่กำหนดไว้ในที่เก็บแต่ละแห่ง |
| get_workflows | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับเวิร์กโฟลว์ทั้งหมดในที่เก็บแต่ละแห่ง |
พารามิเตอร์การกรอง
| ชื่อ | ที่จำเป็น | วัตถุประสงค์ |
|---|
| รวม _names | เลขที่ | รายการชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _names | เลขที่ | รายการชื่อที่เก็บเพื่อแยกออกจากผลลัพธ์ |
| รวม _repos | เลขที่ | รายการชื่อองค์กร/ชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _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_contributors | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับผู้มีส่วนร่วมทั้งหมดในแต่ละที่เก็บ |
| get_languages | เลขที่ | เพิ่มรายการภาษาที่ระบุสำหรับที่เก็บแต่ละ |
| get_releases | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับการเปิดตัวทั้งหมดในที่เก็บแต่ละแห่ง |
| get_tags | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับแท็กทั้งหมดในที่เก็บแต่ละอัน |
| get_topics | เลขที่ | เพิ่มรายการหัวข้อที่กำหนดไว้ในที่เก็บแต่ละแห่ง |
| get_workflows | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับเวิร์กโฟลว์ทั้งหมดในที่เก็บแต่ละแห่ง |
พารามิเตอร์การกรอง
| ชื่อ | ที่จำเป็น | วัตถุประสงค์ |
|---|
| รวม _names | เลขที่ | รายการชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _names | เลขที่ | รายการชื่อที่เก็บเพื่อแยกออกจากผลลัพธ์ |
| รวม _repos | เลขที่ | รายการชื่อองค์กร/ชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _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_contributors | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับผู้มีส่วนร่วมทั้งหมดในแต่ละที่เก็บ |
| get_languages | เลขที่ | เพิ่มรายการภาษาที่ระบุสำหรับที่เก็บแต่ละ |
| get_releases | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับการเปิดตัวทั้งหมดในที่เก็บแต่ละแห่ง |
| get_tags | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับแท็กทั้งหมดในที่เก็บแต่ละอัน |
| get_topics | เลขที่ | เพิ่มรายการหัวข้อที่กำหนดไว้ในที่เก็บแต่ละแห่ง |
| get_workflows | เลขที่ | เพิ่มรายละเอียดเกี่ยวกับเวิร์กโฟลว์ทั้งหมดในที่เก็บแต่ละแห่ง |
พารามิเตอร์การกรอง
| ชื่อ | ที่จำเป็น | วัตถุประสงค์ |
|---|
| รวม _names | เลขที่ | รายการชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _names | เลขที่ | รายการชื่อที่เก็บเพื่อแยกออกจากผลลัพธ์ |
| รวม _repos | เลขที่ | รายการชื่อองค์กร/ชื่อที่เก็บเพื่อรวมไว้ในผลลัพธ์ |
| ละเว้น _repos | เลขที่ | รายชื่อชื่อองค์กร/ชื่อที่เก็บเพื่อแยกออกจากผลลัพธ์ |
| skip_private | เลขที่ | อย่ารวมที่เก็บส่วนตัวนี่คือสำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้องเท่านั้น |
ละเว้นและรวมชื่อใช้ชื่อเต็มของที่เก็บซึ่งเป็นชื่อองค์กร / ชื่อที่เก็บเช่น githubtoolbox / github-extractor-package
ข้อยกเว้น
มีการใช้ข้อยกเว้นที่กำหนดเองต่อไปนี้:
| ชื่อ | วัตถุประสงค์ |
|---|
| AuthenticationError | ยกขึ้นเมื่อการตรวจสอบความถูกต้องล้มเหลว สิ่งนี้เกิดจากโทเค็นที่ไม่ถูกต้อง |
| MissingOrgnameError | ยกขึ้นเมื่อชื่อองค์กรหายไป |
| MissingTokenError | เพิ่มขึ้นเมื่อโทเค็น GitHub API หายไป แต่จำเป็นต้องใช้ |
| notfounderror | เพิ่มขึ้นเมื่อไม่พบทรัพยากรที่ร้องขอ สิ่งนี้เกิดจากขอบเขตที่ไม่ถูกต้องของโทเค็น |
| RatelimitexceededError | เพิ่มขึ้นเมื่อเกินขีด จำกัด อัตรา GitHub API |
| requesterror | ยกขึ้นสำหรับข้อผิดพลาดการร้องขอทั่วไป |
| requesttimeouterror | ยกขึ้นเมื่อคำขอหมดเวลา |