Cita : Haghish, EF (2020). Desarrollar, mantener y alojar software estadístico Stata en GitHub. El diario Stata, 20(4), 931-951.
github
es un módulo de Stata para buscar e instalar paquetes de Stata desde GitHub, incluidas las versiones anteriores de un paquete. Es una combinación de varios comandos de Stata, como search
, findit
y ssc
, pero está diseñado para administrar paquetes de Stata alojados en GitHub. Además, el paquete proporciona nuevas funciones para el control de versiones que no están disponibles para los usuarios de Stata en otros lugares (por ejemplo, el paquete permite instalar versiones anteriores de un paquete de Stata para reproducir un análisis realizado con software más antiguo).
NOTICIAS : Presentamos el comando gitget
. gitget
simplifica aún más la instalación y actualización de un paquete. proporciona una base de datos para todos los paquetes de Stata existentes en GitHub, lo que le permite instalar un paquete alojado en GitHub y conocido como gitget
, simplemente escribiendo:
gitget packagename
El comando gitget
se basa en una lista completa de paquetes de Stata en GitHub para identificar la URL de un proyecto. Esta lista se crea mediante programación utilizando un programa de búsqueda que detecta paquetes de Stata. Primero, todos los repositorios de Stata se identifican y almacenan en repolist.dta . A continuación, los paquetes instalables se extraen y almacenan en gitget.dta , que también se instala con el paquete en su máquina. La lista completa del archivo también está disponible para obtener una vista previa en este repositorio.
Tabla de contenido
gitget
En los últimos años, los usuarios de Stata han utilizado cada vez más GitHub para compartir código y conjuntos de datos de Stata, desarrollar software estadístico y alojar paquetes de Stata, como se muestra en la siguiente figura. ¡Esta es realmente una buena noticia para la comunidad de Stata y para cualquiera que promueva la transparencia en la investigación! El módulo github
facilita la búsqueda, instalación, administración e incluso creación de paquetes Stata. Además, permite instalar versiones de desarrollo o, alternativamente, versiones estables de un paquete. También permite especificar las dependencias de los paquetes que se instalarán automáticamente, lo que hace que GitHub sea aún más atractivo para los usuarios y desarrolladores de Stata. Aquí, le muestro rápidamente cómo instalar y usar el paquete github
.
github
Puede instalar la última versión del comando github
ejecutando el siguiente código:
net install github, from("https://haghish.github.io/github/")
La sintaxis general del paquete se puede resumir como:
github [subcommand] [...]
Donde el [ subcomando ] puede ser:
Subcomando | Descripción |
---|---|
search | encuentra un paquete Stata en GitHub |
findfile | busca un archivo entre todos los paquetes de Stata en GitHub |
install | instala un paquete desde GitHub |
list | proporciona información sobre los paquetes instalados con github |
query | enumera todas las versiones anteriores de un paquete |
check | prueba si un repositorio es instalable |
uninstall | elimina un paquete de Stata |
update | actualiza un paquete de GitHub |
version | devuelve la versión de un paquete instalado |
y [ ... ] puede ser nombre de usuario/repositorio o nombre de paquete según el subcomando especificado.
Para instalar un paquete, todo lo que necesitas es el nombre de usuario de GitHub y el nombre del repositorio. La combinación de nombre de usuario y nombre del repositorio, separados por una barra, proporciona la URL necesaria al repositorio. Por ejemplo, para instalar el paquete MarkDoc, que está alojado en https://github.com/haghish/markdoc, basta con escribir:
github install haghish/markdoc [, stable version("")]
El paquete github
incluye una base de datos para la lista completa de paquetes Stata alojados en GitHub. Por lo tanto, también puede instalar un paquete simplemente especificando el nombre del paquete. El comando gitget
, que es un contenedor para github install
, puede instalar o actualizar paquetes de Stata desde GitHub solo preguntando el nombre del paquete:
gitget packagename [, stable version("")]
Por ejemplo, si desea instalar el paquete markdoc
, escribir gitget markdoc
sería tan bueno como escribir github install haghish/markdoc
. Si desea inspeccionar la lista de paquetes de Stata alojados en GitHub, consulte el conjunto de datos gitget.dta .
Opciones | Descripción |
---|---|
stable | instala la última versión estable del paquete |
version(str) | instala la versión de lanzamiento especificada |
Puede buscar en GitHub el paquete Stata usando una palabra clave o muchas palabras clave. Esto es similar a los comandos search
o findit
de Stata, pero en cambio, solo se usa para buscar paquetes de GitHub:
github search weaver
Buscar la API de GitHub de forma eficaz es muy importante. Para ello, el paquete incluye una GUI de búsqueda que muestra la sintaxis que puede utilizar para limitar su búsqueda o ampliarla para incluir otras fuentes. El comando de búsqueda también analiza las fechas de lanzamiento de los paquetes alojados en el comando net
, lo cual es una característica muy útil. Para iniciar la GUI, escriba:
db github
Por ejemplo, si usa el comando github search
para buscar el paquete markdoc
, obtendrá el siguiente resultado:
github
tiene una base de datos incorporada que realiza un seguimiento de los paquetes instalados en su máquina y, por supuesto, también le indica las versiones de los paquetes instalados en la máquina. La versión se toma de las etiquetas de versión únicas del paquete, especificadas por el desarrollador. Puede list
los paquetes instalados y obtener información útil sobre ellos. Este comando también le notifica si hay una actualización disponible para cualquiera de sus paquetes de GitHub . Por ejemplo, en el resultado siguiente, sabemos que hay actualizaciones disponibles para dos de nuestros paquetes. También podemos hacer clic en el enlace (update)
para actualizar el paquete a la última versión.
. github list
No todos los paquetes son instalables. Los repositorios de Stata deben tener archivos toc y pkg para poder instalarse. Puede comprobar si un paquete es instalable o no utilizando el subcomando check
.
github check haghish/markdoc
Este es un punto bastante importante al que prestar atención porque el comando
github search
que se utiliza para buscar paquetes de Stata en GitHub tiende a descartar los repositorios de Stata que no son instalables. En otras palabras, si su repositorio no incluye estos archivos, no se considerará un paquete Stata, a menos que especifique la opciónall
en su búsqueda (en la GUI de búsqueda, marque la opción mostrar repositorios de GitHub que no son instalables ). Sin embargo, el paquetegithub
también incluye una GUI para crear estos archivos. Usando la GUI que viene congithub
, puedes crear fácilmente estos archivos para tu repositorio (ver más abajo).
Para instalar un paquete, utilice el subcomando uninstall
, seguido del nombre del paquete. Por ejemplo:
github uninstall markdoc
GitHub permite archivar un número ilimitado de versiones de paquetes. El comando github
tiene una opción para especificar la versión del paquete, lo que permite instalar versiones anteriores del paquete. Por ejemplo, para instalar una versión anterior del paquete MarkDoc, digamos 3.8.0
. puedes escribir:
github install haghish/markdoc , version("3.8.0")
¿Pero dónde puedes ver las versiones del paquete? GitHub tiene una pestaña de lanzamiento que enumera todas las versiones anteriores del software ( consulte, por ejemplo, las versiones anteriores de MarkDoc ). Pero la buena noticia es que github
tiene un subcomando para enumerar todas las versiones anteriores en las ventanas de resultados de Stata y le permite instalar cualquiera de ellas ( así como sus dependencias de paquetes para esa versión en particular, si se especifica ) con un solo clic del mouse o programáticamente. Para hacerlo, escriba:
github query username/repository
Por ejemplo, para enumerar las versiones anteriores de MarkDoc , escriba:
. 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
----------------------------------------
Al escribir un análisis con un software de documentación dinámica, como MarkDoc , debe informar la versión de los paquetes que utiliza en su análisis. Puede obtener la versión de un paquete instalado mediante programación utilizando el subcomando version
, seguido de:
. github version markdoc
3.8.0
Este comando no tiene ningún otro uso porque el comando github list
ya muestra la versión de los paquetes instalados y también verifica si hay una versión más nueva disponible...
Algunos paquetes dependen de otros paquetes. El comando github
le permite instalar las dependencias del paquete con o sin una versión específica. Para hacerlo:
dependency.do
e inclúyalo en el repositoriogithub
para instalar las dependencias del paquete e incluso especifique la versión requerida.github
busca dependency.do
después de instalar el paquete y si lo encuentra en el repositorio, lo ejecuta. Por ejemplo, el paquete MarkDoc tiene un archivo dependency.do
que puede servir como ejemplo de cómo se debe crear el archivo de dependencia. Naturalmente, el archivo dependenc.do
solo se puede ejecutar mediante el comando github install
.
El paquete github
incluye una base de datos de todos los archivos que están instalados dentro de los paquetes alojados en GitHub. Esta es una característica importante para que los desarrolladores eviten crear un archivo con un nombre utilizado por otro desarrollador porque dichos paquetes no se pueden instalar juntos en el mismo sistema (el problema también existe con el nombre del programa ). El paquete github
permite a los desarrolladores comprobar si un nombre en particular se ha utilizado anteriormente en un paquete.
El subcomando findfile
busca en githubfiles.dta
(instalado con el paquete) y, si lo encuentra, señala el repositorio que incluye el archivo. Por ejemplo, la búsqueda de archivos que tengan la palabra clave "dy" dará como resultado:
. github findfile dy
---------------------------------
Searching githubfiles database
---------------------------------
dynpandoc.ado
dynpandoc.sthlp
dynamicPage1.mata
---------------------------------
Estos archivos también incluyen el enlace a sus repositorios, si hace clic en ellos en la ventana de resultados.
Imagine que ha creado un archivo ado y archivos de ayuda de Stata. ¿Cómo haces que tu repositorio sea instalable? Debe crear manualmente los archivos stata.toc y packagename.pkg , especificar la información requerida, los archivos que deben instalarse, etc. El paquete github
presenta la GUI make
que genera las instalaciones del paquete para usted, utilizando un diseño estricto. Puede simplemente seleccionar los archivos que desea instalar, especificar la información requerida y tener listos sus archivos toc y pkg . Luego, tan pronto como copie estos archivos a su repositorio, ¡será instalable!
Cambie el directorio de trabajo a la ruta del repositorio y luego ejecute la GUI, escribiendo:
db make
anote la información requerida y seleccione los archivos que deben instalarse. ¡Presiona Aceptar y disfruta!
gitget
El conjunto de datos gitget
se descarga junto con el paquete github
. Este conjunto de datos se actualiza mensualmente. Haga clic aquí para ver la lista completa de paquetes gitget
.
EF Haghish
Centro de Biometría Médica e Informática Médica
Universidad de Friburgo, Alemania
@Haghish