ملخص
حزمة مستخرج Github عبارة عن مكتبة Python مصممة لتسهيل استخراج البيانات من 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 (الافتراضي هو 10 ثوان). |
| الرخويات | لا | هل يجب أن نرجع النتائج كركود. (قائمة الأسماء ولا شيء آخر). |
الحصول على معلومات المستخدم
يمكنك الحصول على معلومات أساسية تتعلق بالمستخدم المصادق (مالك الرمز المميز). ستقتصر المعلومات على نطاق الرمز المميز.
from wolfsoftware . github_extractor import get_authenticated_user
config = {
"token" : "your_github_token" ,
} حدود
| اسم | مطلوب | غاية |
|---|
| رمز | نعم | المصادقة لجيثب واجهة برمجة التطبيقات. |
| نفذ الوقت | لا | المهلة التي يجب استخدامها عند التحدث إلى 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 (الافتراضي هو 10 ثوان). |
| الرخويات | لا | هل يجب أن نرجع النتائج كركود. (قائمة الأسماء ولا شيء آخر). |
تصفية المعلمات
| اسم | مطلوب | غاية |
|---|
| include_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 (الافتراضي هو 10 ثوان). |
| الرخويات | لا | هل يجب أن نرجع النتائج كركود. (قائمة الأسماء ولا شيء آخر). |
| اسم المستخدم | لا | اسم مستخدم Github لسرد المستودعات ل. (سيتم استخدام المستخدم المصادق عليه ، هل لم يتم توفير هذا). |
معلمة بيانات إضافية
| اسم | مطلوب | غاية |
|---|
| get_branches | لا | أضف تفاصيل حول جميع الفروع إلى كل مستودع. |
| get_contributors | لا | أضف تفاصيل حول جميع المساهمين في كل مستودع. |
| get_languages | لا | أضف قائمة اللغات المحددة لكل مستودع. |
| get_release | لا | أضف تفاصيل حول جميع الإصدارات إلى كل مستودع. |
| get_tags | لا | أضف تفاصيل حول جميع العلامات إلى كل مستودع. |
| get_topics | لا | أضف قائمة الموضوعات المحددة إلى كل مستودع. |
| get_workflows | لا | أضف تفاصيل حول جميع مهام سير العمل إلى كل مستودع. |
تصفية المعلمة
| اسم | مطلوب | غاية |
|---|
| include_names | لا | قائمة أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _names | لا | قائمة أسماء المستودعات لاستبعادها من النتائج. |
| include_repos | لا | قائمة أسماء المؤسسات/أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _repos | لا | قائمة أسماء الأسماء/المستودعات المنظمة لاستبعادها من النتائج. |
| skip_private | لا | لا تشمل المستودعات الخاصة ، وهذا مخصص للمستخدم المصادق عليه فقط. |
تجاهل وتضمين الأسماء استخدم الاسم الكامل للمستودع ، وهو اسم المؤسسة / اسم المستودع على سبيل المثال
إدراج مستودعات من قبل المنظمة
يمكنك سرد المستودعات لمؤسسة معينة مع مرشحات اختيارية:
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 (الافتراضي هو 10 ثوان). |
| الرخويات | لا | هل يجب أن نرجع النتائج كركود. (قائمة الأسماء ولا شيء آخر). |
| org_name | لا | منظمة GitHub لسرد المستودعات ل. |
معلمة بيانات إضافية
| اسم | مطلوب | غاية |
|---|
| get_branches | لا | أضف تفاصيل حول جميع الفروع إلى كل مستودع. |
| get_contributors | لا | أضف تفاصيل حول جميع المساهمين في كل مستودع. |
| get_languages | لا | أضف قائمة اللغات المحددة لكل مستودع. |
| get_release | لا | أضف تفاصيل حول جميع الإصدارات إلى كل مستودع. |
| get_tags | لا | أضف تفاصيل حول جميع العلامات إلى كل مستودع. |
| get_topics | لا | أضف قائمة الموضوعات المحددة إلى كل مستودع. |
| get_workflows | لا | أضف تفاصيل حول جميع مهام سير العمل إلى كل مستودع. |
تصفية المعلمة
| اسم | مطلوب | غاية |
|---|
| include_names | لا | قائمة أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _names | لا | قائمة أسماء المستودعات لاستبعادها من النتائج. |
| include_repos | لا | قائمة أسماء المؤسسات/أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _repos | لا | قائمة أسماء الأسماء/المستودعات المنظمة لاستبعادها من النتائج. |
| skip_private | لا | لا تشمل المستودعات الخاصة ، وهذا مخصص للمستخدم المصادق عليه فقط. |
تجاهل وتضمين الأسماء استخدم الاسم الكامل للمستودع ، وهو اسم المؤسسة / اسم المستودع على سبيل المثال
سرد جميع مستودعات المنظمة
يمكنك سرد جميع المستودعات لجميع المؤسسات التي أنت عضو فيها.
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 (الافتراضي هو 10 ثوان). |
| الرخويات | لا | هل يجب أن نرجع النتائج كركود. (قائمة الأسماء ولا شيء آخر). |
معلمة بيانات إضافية
| اسم | مطلوب | غاية |
|---|
| get_branches | لا | أضف تفاصيل حول جميع الفروع إلى كل مستودع. |
| get_contributors | لا | أضف تفاصيل حول جميع المساهمين في كل مستودع. |
| get_languages | لا | أضف قائمة اللغات المحددة لكل مستودع. |
| get_release | لا | أضف تفاصيل حول جميع الإصدارات إلى كل مستودع. |
| get_tags | لا | أضف تفاصيل حول جميع العلامات إلى كل مستودع. |
| get_topics | لا | أضف قائمة الموضوعات المحددة إلى كل مستودع. |
| get_workflows | لا | أضف تفاصيل حول جميع مهام سير العمل إلى كل مستودع. |
تصفية المعلمة
| اسم | مطلوب | غاية |
|---|
| include_names | لا | قائمة أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _names | لا | قائمة أسماء المستودعات لاستبعادها من النتائج. |
| include_repos | لا | قائمة أسماء المؤسسات/أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _repos | لا | قائمة أسماء الأسماء/المستودعات المنظمة لاستبعادها من النتائج. |
| skip_private | لا | لا تشمل المستودعات الخاصة ، وهذا مخصص للمستخدم المصادق عليه فقط. |
تجاهل وتضمين الأسماء استخدم الاسم الكامل للمستودع ، وهو اسم المؤسسة / اسم المستودع على سبيل المثال
سرد جميع المستودعات المرئية
يمكنك سرد المستودعات التي يمكنك الوصول إليها.
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 (الافتراضي هو 10 ثوان). |
| الرخويات | لا | هل يجب أن نرجع النتائج كركود. (قائمة الأسماء ولا شيء آخر). |
معلمة بيانات إضافية
| اسم | مطلوب | غاية |
|---|
| get_branches | لا | أضف تفاصيل حول جميع الفروع إلى كل مستودع. |
| get_contributors | لا | أضف تفاصيل حول جميع المساهمين في كل مستودع. |
| get_languages | لا | أضف قائمة اللغات المحددة لكل مستودع. |
| get_release | لا | أضف تفاصيل حول جميع الإصدارات إلى كل مستودع. |
| get_tags | لا | أضف تفاصيل حول جميع العلامات إلى كل مستودع. |
| get_topics | لا | أضف قائمة الموضوعات المحددة إلى كل مستودع. |
| get_workflows | لا | أضف تفاصيل حول جميع مهام سير العمل إلى كل مستودع. |
تصفية المعلمة
| اسم | مطلوب | غاية |
|---|
| include_names | لا | قائمة أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _names | لا | قائمة أسماء المستودعات لاستبعادها من النتائج. |
| include_repos | لا | قائمة أسماء المؤسسات/أسماء المستودعات لتضمينها في النتائج. |
| تجاهل _repos | لا | قائمة أسماء الأسماء/المستودعات المنظمة لاستبعادها من النتائج. |
| skip_private | لا | لا تشمل المستودعات الخاصة ، وهذا مخصص للمستخدم المصادق عليه فقط. |
تجاهل وتضمين الأسماء استخدم الاسم الكامل للمستودع ، وهو اسم المؤسسة / اسم المستودع على سبيل المثال
استثناءات
يتم استخدام الاستثناءات المخصصة التالية:
| اسم | غاية |
|---|
| المصادقة | أثيرت عند فشل المصادقة. هذا ناتج عن رمز غير صالح. |
| Missingorgnameerror | أثير عندما يكون اسم المنظمة مفقودًا. |
| MissingTokenerror | أثير عندما يكون رمز Github API مفقودًا ولكنه مطلوب. |
| notfounderror | أثير عند عدم العثور على مورد مطلوب. هذا ناتج عن نطاق غير صحيح من الرمز المميز. |
| ratelimitexentederror | أثير عندما يتم تجاوز حد معدل API Github. |
| طلب | أثيرت لأخطاء الطلب العام. |
| requesttimeouterror | أثيرت عند طلب الطلب. |