Ringkasan
Paket Github Extractor adalah perpustakaan Python yang dirancang untuk memfasilitasi ekstraksi data dari GitHub.
Paket ini menyediakan fungsi untuk mengambil informasi tentang repositori, termasuk bahasa yang digunakan, rilis, kontributor, topik, alur kerja, dan lainnya dengan penanganan kesalahan yang kuat dan dukungan konfigurasi.
Fitur
- Daftar organisasi untuk pengguna dari GitHub.
- Daftar repositori untuk pengguna dari GitHub.
- Daftar repositori untuk organisasi tertentu dari GitHub.
- Dukungan untuk otentikasi menggunakan token API GitHub.
- Penyaringan organisasi dan repositori berdasarkan pola yang diberikan.
- Penanganan pagination untuk permintaan API.
Instalasi
Anda dapat menginstal Github Extractor melalui PIP:
pip install wolfsoftware.github-extractor
Penggunaan
Mendapatkan informasi token
Anda mendapatkan informasi dasar yang berkaitan dengan token yang diberikan.
Ada juga alat baris perintah khusus untuk validator token github ini.
from wolfsoftware . github_extractor import get_token_information
config = {
"token" : "your_github_token" ,
} Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | Ya | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
Mendapatkan informasi pengguna
Anda mendapatkan informasi dasar yang berkaitan dengan pengguna yang diautentikasi (pemilik token). Informasi akan dibatasi oleh ruang lingkup token.
from wolfsoftware . github_extractor import get_authenticated_user
config = {
"token" : "your_github_token" ,
} Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | Ya | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
Organisasi daftar
Anda dapat membuat daftar organisasi bahwa Anda adalah anggota menggunakan ejaan Inggris Inggris atau Amerika.
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 ) Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | Ya | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
Parameter penyaringan
| Nama | Diperlukan | Tujuan |
|---|
| termasuk_orgs | TIDAK | Daftar nama organisasi untuk dimasukkan dalam hasil. |
| abaikan_orgs | TIDAK | Daftar nama organisasi untuk dikecualikan dari hasil. |
| get_members | TIDAK | Haruskah kami memasukkan anggota organisasi dalam hasil. |
Mendaftarkan repositori pengguna
Anda dapat membuat daftar repositori untuk pengguna dengan filter opsional:
from wolfsoftware . github_extractor import list_user_repositories
config = {
"token" : "your_github_token" ,
"ignore_repos" : [ "Test*" ],
"include_repos" : [ "Project*" ]
}
repositories = list_user_repositories ( config ) Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | TIDAK | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
| nama belakang | TIDAK | Nama pengguna GitHub untuk mendaftar repositori. (Pengguna yang diautentikasi akan digunakan adalah ini tidak disediakan). |
Parameter data tambahan
| Nama | Diperlukan | Tujuan |
|---|
| get_branches | TIDAK | Tambahkan detail tentang semua cabang ke setiap repositori. |
| get_contributors | TIDAK | Tambahkan detail tentang semua kontributor untuk setiap repositori. |
| get_banguages | TIDAK | Tambahkan daftar bahasa yang diidentifikasi untuk setiap repositori. |
| get_releases | TIDAK | Tambahkan detail tentang semua rilis ke setiap repositori. |
| get_tags | TIDAK | Tambahkan detail tentang semua tag untuk setiap repositori. |
| get_topics | TIDAK | Tambahkan daftar topik yang ditentukan ke setiap repositori. |
| get_workflows | TIDAK | Tambahkan detail tentang semua alur kerja ke setiap repositori. |
Parameter penyaringan
| Nama | Diperlukan | Tujuan |
|---|
| termasuk_names | TIDAK | Daftar nama repositori untuk dimasukkan dalam hasil. |
| abaikan_names | TIDAK | Daftar nama repositori untuk dikecualikan dari hasil. |
| termasuk_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dimasukkan dalam hasil. |
| abaikan_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dikecualikan dari hasil. |
| skip_private | TIDAK | Jangan termasuk repositori pribadi, ini hanya untuk pengguna yang diautentikasi. |
Abaikan dan Sertakan Nama Gunakan nama lengkap repositori, yang merupakan nama organisasi / nama repositori misalnya githubtoolbox / github-extractor-package
Daftar repositori oleh organisasi
Anda dapat membuat daftar repositori untuk organisasi tertentu dengan filter opsional:
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 ) Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | TIDAK | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
| org_name | TIDAK | Organisasi GitHub untuk mendaftar repositori. |
Parameter data tambahan
| Nama | Diperlukan | Tujuan |
|---|
| get_branches | TIDAK | Tambahkan detail tentang semua cabang ke setiap repositori. |
| get_contributors | TIDAK | Tambahkan detail tentang semua kontributor untuk setiap repositori. |
| get_banguages | TIDAK | Tambahkan daftar bahasa yang diidentifikasi untuk setiap repositori. |
| get_releases | TIDAK | Tambahkan detail tentang semua rilis ke setiap repositori. |
| get_tags | TIDAK | Tambahkan detail tentang semua tag untuk setiap repositori. |
| get_topics | TIDAK | Tambahkan daftar topik yang ditentukan ke setiap repositori. |
| get_workflows | TIDAK | Tambahkan detail tentang semua alur kerja ke setiap repositori. |
Parameter penyaringan
| Nama | Diperlukan | Tujuan |
|---|
| termasuk_names | TIDAK | Daftar nama repositori untuk dimasukkan dalam hasil. |
| abaikan_names | TIDAK | Daftar nama repositori untuk dikecualikan dari hasil. |
| termasuk_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dimasukkan dalam hasil. |
| abaikan_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dikecualikan dari hasil. |
| skip_private | TIDAK | Jangan termasuk repositori pribadi, ini hanya untuk pengguna yang diautentikasi. |
Abaikan dan Sertakan Nama Gunakan nama lengkap repositori, yang merupakan nama organisasi / nama repositori misalnya githubtoolbox / github-extractor-package
Mendaftarkan semua repositori organisasi
Anda dapat mendaftarkan semua repositori untuk semua organisasi yang Anda anggota.
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 ) Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | Ya | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
Parameter data tambahan
| Nama | Diperlukan | Tujuan |
|---|
| get_branches | TIDAK | Tambahkan detail tentang semua cabang ke setiap repositori. |
| get_contributors | TIDAK | Tambahkan detail tentang semua kontributor untuk setiap repositori. |
| get_banguages | TIDAK | Tambahkan daftar bahasa yang diidentifikasi untuk setiap repositori. |
| get_releases | TIDAK | Tambahkan detail tentang semua rilis ke setiap repositori. |
| get_tags | TIDAK | Tambahkan detail tentang semua tag untuk setiap repositori. |
| get_topics | TIDAK | Tambahkan daftar topik yang ditentukan ke setiap repositori. |
| get_workflows | TIDAK | Tambahkan detail tentang semua alur kerja ke setiap repositori. |
Parameter penyaringan
| Nama | Diperlukan | Tujuan |
|---|
| termasuk_names | TIDAK | Daftar nama repositori untuk dimasukkan dalam hasil. |
| abaikan_names | TIDAK | Daftar nama repositori untuk dikecualikan dari hasil. |
| termasuk_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dimasukkan dalam hasil. |
| abaikan_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dikecualikan dari hasil. |
| skip_private | TIDAK | Jangan termasuk repositori pribadi, ini hanya untuk pengguna yang diautentikasi. |
Abaikan dan Sertakan Nama Gunakan nama lengkap repositori, yang merupakan nama organisasi / nama repositori misalnya githubtoolbox / github-extractor-package
Mendaftarkan semua repositori yang terlihat
Anda dapat membuat daftar repositori yang dapat Anda akses.
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 ) Parameter
| Nama | Diperlukan | Tujuan |
|---|
| token | Ya | Otentikasi untuk API GitHub. |
| Batas waktu | TIDAK | Timeout untuk digunakan saat berbicara dengan API GitHub (default adalah 10 detik). |
| siput | TIDAK | Haruskah kita mengembalikan hasilnya sebagai siput. (Daftar nama dan tidak ada yang lain). |
Parameter data tambahan
| Nama | Diperlukan | Tujuan |
|---|
| get_branches | TIDAK | Tambahkan detail tentang semua cabang ke setiap repositori. |
| get_contributors | TIDAK | Tambahkan detail tentang semua kontributor untuk setiap repositori. |
| get_banguages | TIDAK | Tambahkan daftar bahasa yang diidentifikasi untuk setiap repositori. |
| get_releases | TIDAK | Tambahkan detail tentang semua rilis ke setiap repositori. |
| get_tags | TIDAK | Tambahkan detail tentang semua tag untuk setiap repositori. |
| get_topics | TIDAK | Tambahkan daftar topik yang ditentukan ke setiap repositori. |
| get_workflows | TIDAK | Tambahkan detail tentang semua alur kerja ke setiap repositori. |
Parameter penyaringan
| Nama | Diperlukan | Tujuan |
|---|
| termasuk_names | TIDAK | Daftar nama repositori untuk dimasukkan dalam hasil. |
| abaikan_names | TIDAK | Daftar nama repositori untuk dikecualikan dari hasil. |
| termasuk_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dimasukkan dalam hasil. |
| abaikan_repos | TIDAK | Daftar nama organisasi/nama repositori untuk dikecualikan dari hasil. |
| skip_private | TIDAK | Jangan termasuk repositori pribadi, ini hanya untuk pengguna yang diautentikasi. |
Abaikan dan Sertakan Nama Gunakan nama lengkap repositori, yang merupakan nama organisasi / nama repositori misalnya githubtoolbox / github-extractor-package
Pengecualian
Pengecualian khusus berikut digunakan:
| Nama | Tujuan |
|---|
| AuthenticationError | Dibesarkan saat otentikasi gagal. Ini disebabkan oleh token yang tidak valid. |
| MississOrGnameError | Dibesarkan saat nama organisasi hilang. |
| HilangnyaTokenError | Dibesarkan ketika token API GitHub hilang tetapi diperlukan. |
| Notfounderror | Dibesarkan ketika sumber daya yang diminta tidak ditemukan. Ini disebabkan oleh ruang lingkup token yang salah. |
| Ratelimitexededederror | Dinaikkan ketika batas tingkat API GitHub terlampaui. |
| RequestError | Dibesarkan untuk kesalahan permintaan umum. |
| RequestTimeouterror | Dibesarkan saat permintaan keluar. |