استشهد : هاغيش، إي أف (2020). تطوير وصيانة واستضافة البرامج الإحصائية Stata على GitHub. مجلة ستاتا, 20(4)، 931-951.
github
عبارة عن وحدة Stata للبحث عن حزم Stata وتثبيتها من GitHub، بما في ذلك الإصدارات السابقة للحزمة. إنه مزيج من عدة أوامر Stata مثل search
و findit
و ssc
، ولكنه بدلاً من ذلك مصمم لإدارة حزم Stata المستضافة على GitHub. بالإضافة إلى ذلك، توفر الحزمة ميزات جديدة للتحكم في الإصدار والتي لا تتوفر لمستخدمي Stata في أي مكان آخر (على سبيل المثال، تسمح الحزمة بتثبيت الإصدارات القديمة من حزمة Stata لإعادة إنتاج التحليل الذي تم إجراؤه باستخدام البرامج القديمة).
الأخبار : تقديم أمر gitget
. يعمل gitget
على تبسيط عملية تثبيت الحزمة وتحديثها. فهو يوفر قاعدة بيانات لجميع حزم Stata الموجودة على GitHub، مما يسمح لك بتثبيت حزمة مستضافة على GitHub - وتعرف بواسطة gitget
، وذلك ببساطة عن طريق كتابة:
gitget packagename
يعتمد أمر gitget
على قائمة كاملة بحزم Stata على GitHub لتحديد عنوان URL الخاص بالمشروع. يتم إنشاء هذه القائمة برمجيًا باستخدام برنامج بحث يكتشف حزم Stata. أولاً، يتم تحديد كافة مستودعات Stata وتخزينها في repolist.dta . بعد ذلك، يتم استخراج الحزم القابلة للتثبيت وتخزينها في gitget.dta والتي يتم تثبيتها أيضًا مع الحزمة الموجودة على جهازك. القائمة الكاملة للأرشيف متاحة أيضًا للمعاينة داخل هذا المستودع
جدول المحتويات
gitget
في السنوات الأخيرة، استخدم مستخدمو Stata بشكل متزايد GitHub لمشاركة كود Stata ومجموعات البيانات، وتطوير البرامج الإحصائية، واستضافة حزم Stata، كما هو موضح في الشكل أدناه. هذه بالفعل أخبار جيدة لمجتمع Stata وأي شخص يروج لشفافية الأبحاث! تسهل وحدة github
البحث عن حزم Stata وتثبيتها وإدارتها وحتى إنشاءها. علاوة على ذلك، فهو يسمح بتثبيت إصدار التطوير أو الإصدارات الثابتة للحزمة بدلاً من ذلك. كما يسمح أيضًا بتحديد تبعيات الحزمة التي سيتم تثبيتها تلقائيًا، مما يجعل GitHub أكثر جاذبية لمستخدمي ومطوري Stata. هنا، سأوضح لك بسرعة كيفية تثبيت واستخدام حزمة github
.
github
يمكنك تثبيت أحدث إصدار من أمر github
عن طريق تنفيذ التعليمة البرمجية التالية:
net install github, from("https://haghish.github.io/github/")
يمكن تلخيص بناء الجملة العام للحزمة على النحو التالي:
github [subcommand] [...]
حيث يمكن أن يكون [ الأمر الفرعي ]:
أمر فرعي | وصف |
---|---|
search | العثور على حزمة Stata على GitHub |
findfile | يبحث عن ملف بين جميع حزم Stata على GitHub |
install | يقوم بتثبيت حزمة من GitHub |
list | يوفر معلومات حول الحزم المثبتة مع github |
query | يسرد كافة الإصدارات السابقة من packag |
check | يختبر ما إذا كان المستودع قابلاً للتثبيت |
uninstall | يزيل حزمة من ستاتا |
update | يقوم بتحديث حزمة من GitHub |
version | إرجاع إصدار الحزمة المثبتة |
ويمكن أن يكون [ ... ] سواء اسم المستخدم/المستودع أو اسم الحزمة بناءً على الأمر الفرعي المحدد.
لتثبيت الحزمة، كل ما تحتاجه هو اسم مستخدم GitHub واسم المستودع. يوفر الجمع بين اسم المستخدم واسم المستودع - مفصولين بشرطة مائلة - عنوان URL المطلوب للمستودع. على سبيل المثال، لتثبيت حزمة MarkDoc، المستضافة على https://github.com/haghish/markdoc، يكفي كتابة:
github install haghish/markdoc [, stable version("")]
تتضمن حزمة github
قاعدة بيانات للقائمة الكاملة لحزم Stata المستضافة على GitHub. لذلك، يمكنك أيضًا تثبيت الحزمة فقط عن طريق تحديد اسم الحزمة. يمكن لأمر gitget
- وهو برنامج مجمع github install
- تثبيت حزم Stata أو تحديثها من GitHub فقط عن طريق السؤال عن اسم الحزمة:
gitget packagename [, stable version("")]
على سبيل المثال، إذا كنت ترغب في تثبيت حزمة markdoc
، فإن كتابة gitget markdoc
ستكون بنفس جودة كتابة github install haghish/markdoc
. إذا كنت ترغب في فحص قائمة حزم Stata المستضافة على GitHub، فراجع مجموعة بيانات gitget.dta .
خيارات | وصف |
---|---|
stable | يقوم بتثبيت أحدث إصدار ثابت من الحزمة |
version(str) | يقوم بتثبيت إصدار الإصدار المحدد |
يمكنك البحث في GitHub عن حزمة Stata باستخدام كلمة رئيسية أو العديد من الكلمات الرئيسية. يشبه هذا أوامر search
أو findit
Stata، ولكنه بدلاً من ذلك يستخدم فقط للبحث في حزم GitHub:
github search weaver
يعد البحث في GitHub API بشكل فعال أمرًا مهمًا للغاية. ولهذا السبب، تتضمن الحزمة واجهة المستخدم الرسومية للبحث التي تعرض الصيغة التي يمكنك استخدامها لتضييق نطاق البحث أو توسيعه ليشمل مصادر أخرى. يقوم أمر البحث أيضًا بتحليل تواريخ إصدار الحزم المستضافة على أمر net
، وهي ميزة مفيدة جدًا. لبدء تشغيل واجهة المستخدم الرسومية، اكتب:
db github
على سبيل المثال، إذا كنت تستخدم أمر github search
للبحث عن حزمة markdoc
، فستحصل على الإخراج التالي:
يحتوي github
على قاعدة بيانات مدمجة تقوم بتتبع الحزم المثبتة على جهازك، وبالطبع، تخبرك أيضًا بإصدارات الحزم المثبتة على الجهاز. الإصدار مأخوذ من علامات الإصدار الفريدة للحزمة التي حددها المطور. يمكنك list
الحزم المثبتة والحصول على معلومات مفيدة عنها. يُعلمك هذا الأمر أيضًا في حالة وجود تحديث متاح لأي من حزم GitHub الخاصة بك . على سبيل المثال، في الإخراج أدناه، نعلم أن هناك تحديثات متاحة لاثنين من حزمنا. يمكننا أيضًا الضغط على رابط (update)
لتحديث الحزمة إلى الإصدار الأحدث.
. github list
ليست كل الحزم قابلة للتثبيت. يجب أن تحتوي مستودعات Stata على ملفات toc و pkg حتى تكون قابلة للتثبيت. يمكنك التحقق مما إذا كانت الحزمة قابلة للتثبيت أم لا باستخدام الأمر الفرعي check
.
github check haghish/markdoc
هذه نقطة مهمة إلى حد ما يجب الانتباه إليها لأن أمر
github search
المستخدم للبحث في حزم Stata على GitHub، يميل إلى استبعاد مستودعات Stata غير القابلة للتثبيت. بمعنى آخر، إذا كان المستودع الخاص بك لا يتضمن هذه الملفات، فلن يتم اعتباره حزمة Stata، إلا إذا حددت خيارall
في بحثك (في واجهة المستخدم الرسومية للبحث، حدد خيار إظهار مستودعات GitHub غير القابلة للتثبيت ). ومع ذلك، تتضمن حزمةgithub
أيضًا واجهة مستخدم رسومية لإنشاء هذه الملفات. باستخدام واجهة المستخدم الرسومية التي تأتي معgithub
، يمكنك بسهولة إنشاء هذه الملفات لمستودعك (انظر أدناه).
لتثبيت حزمة، استخدم الأمر الفرعي uninstall
، متبوعًا باسم الحزمة. على سبيل المثال:
github uninstall markdoc
يسمح GitHub بأرشفة عدد غير محدود من إصدارات الحزمة. يحتوي أمر github
على خيار لتحديد إصدار الحزمة، مما يسمح بتثبيت إصدارات الحزمة السابقة. على سبيل المثال، لتثبيت إصدار أقدم من حزمة MarkDoc، قل 3.8.0
. يمكنك كتابة:
github install haghish/markdoc , version("3.8.0")
ولكن هل يمكنك رؤية إصدارات الحزمة؟ يحتوي GitHub على علامة تبويب إصدار تسرد جميع الإصدارات السابقة من البرنامج ( انظر على سبيل المثال الإصدارات السابقة من MarkDoc ). لكن الخبر السار هو أن github
لديه أمر فرعي لإدراج جميع الإصدارات السابقة في نوافذ نتائج Stata ويسمح لك بتثبيت أي منها ( بالإضافة إلى تبعيات الحزمة الخاصة بها لهذا الإصدار المعين، إذا تم تحديده ) بنقرة ماوس واحدة أو برمجيا. للقيام بذلك، اكتب:
github query username/repository
على سبيل المثال، لسرد إصدارات MarkDoc السابقة، اكتب:
. github query haghish/markdoc
----------------------------------------
Version Release Date Install
----------------------------------------
3.8.5 2016-10-16 Install
3.8.4 2016-10-13 Install
3.8.3 2016-10-03 Install
3.8.2 2016-10-01 Install
3.8.1 2016-09-29 Install
3.8.0 2016-09-24 Install
3.7.9 2016-09-20 Install
3.7.8 2016-09-19 Install
3.7.7 2016-09-18 Install
3.7.6 2016-09-13 Install
3.7.5 2016-09-08 Install
3.7.4 2016-09-07 Install
3.7.3 2016-09-06 Install
3.7.2 2016-09-05 Install
3.7.0 2016-08-23 Install
3.6.9 2016-08-16 Install
3.6.7 2016-02-27 Install
----------------------------------------
عند كتابة تحليل باستخدام برنامج توثيق ديناميكي، مثل MarkDoc ، يجب عليك الإبلاغ عن إصدار الحزم المستخدمة في تحليلك. يمكنك الحصول على إصدار الحزمة المثبتة برمجيًا باستخدام الأمر الفرعي version
، متبوعًا بما يلي:
. github version markdoc
3.8.0
ليس لهذا الأمر أي استخدامات أخرى لأن أمر github list
يعرض بالفعل إصدار الحزم المثبتة ويتحقق أيضًا من توفر إصدار أحدث منها...
تعتمد بعض الحزم على حزم أخرى. يسمح لك أمر github
بتثبيت تبعيات الحزمة مع أو بدون إصدار محدد. للقيام بذلك:
dependency.do
وقم بتضمينه في المستودعgithub
لتثبيت تبعيات الحزمة وحتى تحديد الإصدار المطلوب.github
عن dependency.do
بعد تثبيت الحزمة وإذا وجدها في المستودع، فإنه ينفذها. على سبيل المثال، تحتوي حزمة MarkDoc على ملف dependency.do
الذي يمكن أن يكون بمثابة مثال لكيفية إنشاء ملف التبعية. وبطبيعة الحال، فإن ملف dependenc.do
قابل للتنفيذ فقط عن طريق أمر github install
.
تتضمن حزمة github
قاعدة بيانات لجميع الملفات المثبتة ضمن الحزم المستضافة على GitHub. هذه ميزة مهمة للمطورين لتجنب إنشاء ملف باسم يستخدمه مطور آخر لأنه لا يمكن تثبيت هذه الحزم معًا على نفس النظام (المشكلة موجودة أيضًا في اسم البرنامج ). تسمح حزمة github
للمطورين بالتحقق مما إذا كان قد تم استخدام اسم معين في الحزمة من قبل.
يبحث الأمر الفرعي findfile
في githubfiles.dta
(المثبت مع الحزمة)، وإذا تم العثور عليه، فإنه يشير إلى المستودع الذي يتضمن الملف. على سبيل المثال، سيؤدي البحث عن الملفات التي تحتوي على الكلمة الأساسية "dy" إلى:
. github findfile dy
---------------------------------
Searching githubfiles database
---------------------------------
dynpandoc.ado
dynpandoc.sthlp
dynamicPage1.mata
---------------------------------
تتضمن هذه الملفات أيضًا رابطًا إلى مستودعاتها، إذا نقرت عليها في نافذة النتائج.
تخيل أنك قمت بإنشاء ملف ADO وملفات مساعدة Stata. كيف تجعل مستودعك قابلاً للتثبيت؟ تحتاج إلى إنشاء ملفات stata.toc و packagename.pkg يدويًا، وتحديد المعلومات المطلوبة، والملفات التي يجب تثبيتها، وما إلى ذلك. تقدم حزمة github
واجهة المستخدم الرسومية make
التي تنشئ عمليات تثبيت الحزمة لك، باستخدام تخطيط صارم. يمكنك فقط تحديد الملفات التي ترغب في تثبيتها، وتحديد المعلومات المطلوبة، وتجهيز ملفات toc و pkg الخاصة بك. وبعد ذلك، بمجرد نسخ هذه الملفات إلى مستودعك، ستكون قابلة للتثبيت!
قم بتغيير دليل العمل إلى مسار المستودع، ثم قم بتشغيل واجهة المستخدم الرسومية، بكتابة:
db make
قم بتدوين المعلومات المطلوبة وحدد الملفات التي يجب تثبيتها. اضغط موافق، واستمتع!
gitget
يتم تنزيل مجموعة بيانات gitget
مع حزمة github
. يتم تحديث مجموعة البيانات هذه شهريًا. انقر هنا لرؤية القائمة الكاملة لحزم gitget
.
إي أف هاغيش
مركز القياسات الحيوية الطبية والمعلوماتية الطبية
جامعة فرايبورج، ألمانيا
@هاغيش