Las distintas disciplinas que abarca la ciencia abierta trabajan de manera conjunta; tal es el caso del código abierto, la investigación abierta y reproducible y los datos abiertos. En el presente artículo tratamos sobre pyOpenSci, un proyecto al servicio de la ciencia, desarrollado bajo el enfoque de estas disciplinas. Si eres un programador, quieres desarrollar (o estás desarrollando) algún paquete científico con Python y que sea aceptado por una gran comunidad de pythonistas, entonces aquí está lo que necesitas saber para lograrlo.
¿Qué es pyOpenSci? #
pyOpenSci, también conocido como pyOpenScience, es un proyecto encargado de promover la ciencia abierta mediante el apoyo al desarrollo, la revisión por pares y la publicación abierta de paquetes científicos escritos en Python que cuenten con una buena documentación y estén probados previamente. Estos paquetes son utilizados para recopilar, descargar y transformar datos científicos con una metodología de trabajo abierta y reproducible.
El modelo de trabajo del proyecto está basado en la comunidad rOpenSci. pyOpenSci no trabaja solo, tiene una fuerte vinculación con la Journal of Open Source Software (JOSS), una revista que fomenta la revisión por pares, la aceptación y la publicación de software de código abierto. Por tanto, estas dos comunidades pueden verse como complementarias entre sí. El enfoque en el proceso de revisión de pyOpenSci es más práctico que el de la JOSS. Con pyOpenSci los autores pueden publicar sus paquetes con un DOI (Digital Object Identifier) de manera que puedan ser citados y encontrados por los buscadores de artículos científicos.
En este momento (noviembre 2022), pyOpenSci es un proyecto patrocinado fiscalmente por Community Initiatives, razón por la cual se ha reanudado la revisión del software desde septiembre de 2022.
Inicios de pyOpenSci, un relato de su fundador #
El proyecto pyOpenSci surgió por el pythonista Steve Moss, el cual en el post Facilitating Open Science with Python, publicado en el blog de rOpenSci en mayo del 2013, manifiesta las razones de ¿Por qué Python?, ¿Por qué pyOpenSci? donde textualmente dice: "quería, ante todo, facilitar la mejora del campo científico, permitiendo y promoviendo la apertura y el intercambio dentro y entre las comunidades científicas. Creo que solo es posible que la ciencia progrese si se hace completamente transparente" (traducción propia al español). De allí es donde se fundamentan los ideales de pyOpenSci.
El proyecto pretende mejorar y facilitar la apertura de la investigación científica. Para ese momento Steve Moss tenía la esperanza de poder incentivar a los investigadores a utilizar pyOpenSci para desarrollar, compartir y comprometerse con sus estrategias y así hacer posible la ciencia abierta. Para esto esperaba poder ofrecer talleres, sesiones de formación, consultoría y apoyo y que pyOpenSci participara en actividades de divulgación dentro de las comunidades. Algo que también expresa en su artículo.
¿Cómo puedes contribuir a pyOpenSci? #
Puedes involucrarte en este proyecto de distintas maneras, a continuación te las presentamos:
-
Súmate al foro comunitario. Un espacio donde se discuten los temas de interés y se publican los anuncios de nuevas reuniones.
-
Envía un paquete. Hazlo para apoyar a la comunidad científica de Python en general y a la de pyOpenSci en específico.
-
Puedes ser un revisor de paquetes.
-
Ayuda con la infraestructura técnica. Tanto el sitio oficial del proyecto como los otros sitios web, por ejemplo, necesitan mantenimiento y desarrollo.
-
Participa activamente en la divulgación de pyOpenSci. Comenta a tus amigos y colegas, haz mención del proyecto en eventos abiertos y en tus redes sociales. !Transmite la información para hacer crecer esta comunidad!
Colaboradores #
Según el fundador de pyOpenSci, para colaborar se necesita lo siguiente: "Además de un amor por Python, uno debería tener un amor por ser abierto y transparente sobre los temas que les apasionan". Esto lo expresó en su post para la comunidad rOpenSci en 2013 (mencionado anteriormente). Donde resalta que, para ese momento, solo era él en pyOpenSci y hasta la actualidad más de 30 personas han colaborado con el proyecto, conformando una comunidad diversa de personas con un fin común: ofrecer un lugar práctico en torno al software científico en Python y donde se promuevan las buenas prácticas de ciencia abierta.
Aquí te mencionamos algunas personas que han contribuido y son miembros activos de pyOpenSci: Leah Wasser, Chris Holdraf, Max Joseph, Ivan Ogasawara miembro del Consejo Directivo de nuestra plataforma Open Science Labs.
Paquetes pyOpenSci #
La comunidad pyOpenSci es la encargada de desarrollar, presentar, revisar y promover los paquetes de software científico en Python. Al ser una comunidad abierta, cualquiera puede enviar un paquete para su revisión. Puedes conocer los paquetes que se encuentran actualmente en revisión accediendo a este repositorio GitHub y los aceptados aquí.
Algunos de los paquetes aprobados hasta ahora por pyOpenSci son:
-
Lectura, desplazamiento temporal y la escritura de datos de sensores devicely
-
Exploración y visualización de datos espaciales earthpy.
-
Diapositivas de Jupyter Notebooks con Nbless.
-
Validación de las estructuras de datos manejadas por pandas con Pandera.
-
Datos geoquímicos pyrolite.
-
Integrar conjuntos de datos multimétricos OpenOmics
Pasemos ahora a conocer algunos de los sitios y recursos técnicos que mantiene el proyecto (además de las reuniones y el foro).
pyOpenSci blog #
En este blog se abordan distintos tópicos, entre ellos:
-
Eventos y actividades planificadas.
-
Paquetes que han pasado por el proceso de revisión.
-
Desafíos de pyOpenSci en la enorme comunidad de Python.
Otros recursos y sitios relacionados #
-
Organización pyOpenSci Github. Contiene el repositorio de revisión de software y otros.
-
pyOpenSci cookiecutter es una plantilla que facilita el empaquetado del código Python.
-
Guía de desarrollo de paquetes y Guía de revisión por pares con información para los autores y revisores de los paquetes, que incluye todo el proceso. Es lo primero que debes leer si estás interesado en enviar un paquete a pyOpenSci.
-
Repositorio de Gobernanza de pyOpenSci. Donde se discuten la dirección y el alcance de pyOpenSci. También ofrece notas de las reuniones de la comunidad.
La comunidad pyOpenSci está abierta para que envíes un paquete, te conviertas en revisor, ayudes a difundir sus actividades y buenas prácticas o para que participes en los foros donde tomarán en cuenta tus intervenciones. De esta manera, estarás contribuyendo con la comunidad científica de Python.