Skip to content

ml4rrieu/py_so

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python pour la science ouverte

Exemples de notebooks Jupyter permettant de déployer la science ouverte en contexte institutionnel



Techniques | Contexte | Ressources

Applications

Identifier les publications HAL de son établissement issues des projets ANR qui ne sont pas en accès ouvert

Difficulté faible
Exercice pub_projet_research_hal_no_oa.ipynb
Compétences requêtes API HAL, json vers dataframe
Objectif faire respecter l'obligation d'accès ouvert
Démo pub_projet_research_hal_no_oa.ipynb

Représenter l'évolution et les types de dépôts dans HAL d'une structure ou institution

Difficulté faible
Exercice hal_evol_depots.ipynb
Compétences requêtes API de HAL en série, json vers dataframe, plot histogramme
Objectif Automatiser la production de statistiques pour les unités de recherche
Démo hal_evol_depots.ipynb

Récupérer les identifiants des projets de recherche ANR portés par son établissemement

Difficulté moyen
Exercice get_anr_research_project.ipynb
Compétences requêtes aurehal structure, données API, read_csv, filtre
Objectif initier une politique de suivi des publications des projets de recherche ANR
Démo get_anr_research_project.ipynb

Niveau de bruit de son établissement dans le référentiel structure de HAL

Difficulté faible
Exercice aurehal_struct_noise.ipynb
Compétences requêtes aurehal structure, données API, fonction
Objectif Mesurer le niveau de bruit de son établissement dans le référentiel HAL structure

Extraire un tableau des structures non valides de son étab. avec le nombre de documents associés

Difficulté moyen
Exercice aurehal_struct_incoming_list.ipynb
Compétences requêtes aurehal struct, données API, fonction apply
Objectif Nettoyer les structures de son établissement dans le référentiel AureHAL
Démo aurehal_struct_incoming_list.ipynb

Calculer le niveau de bruit dans le référentiel structures des établissements ayants un portail HAL

Difficulté moyen
Compétences requêtes aurehal struct, données API, fonction
Objectif Sensibiliser les adminsitrateurs HAL à la propreté du référentiel structure
Démo aurehal_struct_noise_per_institution.ipynb

Représenter le niveau de bruit des établissements dans le référentiel structure

Difficulté moyen
Compétences wordcloud, pandas, matplotlib
Objectif Rendre comte du niveau de bruit des étab. dans le ref. structure
Démo aurehal_struct_noise_per_institution_graph.ipynb

cf. résultats nuage de mots-clés


Vérifier à partir d'une source externe la présence en accès ouvert dans HAL des publications de son établissement

Difficulté fort
Compétences API ScanR, Permissions, Module python
Objectif Identifier les publications de son établissement pouvant être déposées en accès ouvert #HALathon
Démo github.com/ml4rrieu/halathon

Notebook réalisé dans le cadre du CasuHalathon 2021


Retrouver dans Zenodo les jeux de données de son établissement

Difficulté moyenne
Compétences API Zenodo, JSON, iterations
Objectif Retrouver les jeux de données déposés dans Zenodo relevant de son établissement
Démo get_dataset_from_zenodo.ipynb

Récupérer les métadonnées d'un article publié avec Lodel pour enregistrer son DOI chez CrossRef

Difficulté moyenne
Compétences request, XML, BeautifulSoup
Objectif Récupérer les métadonnées et former un XML Crossref pour l'enregistrement du DOI
Démo get_metadata_from_article_to_register_crossref_doi.ipynb


Contexte

Formation initiée en 2021 avec Emilien Shultz, à la suite de l'excellent ouvrage Python pour les SHS (pyshs.fr). Formation en deux volets (2* 1.5 jours) : Python les fondamentaux et Python pour la science ouverte.

Un langage de programmation ne s'apprend pas en trois jours.

La formation en elle-même ne vous permettra pas de programmer en python. Par contre la réalisation des exercices, le livre Python pour les SHS, des MOOCs, votre perséverance et curiosité vous permettront de programmer en python.

  • 2024-02, URFIST Lyon
  • 2023-05, CasuHAL Visioconférence
  • 2023-03, URFIST Lyon
  • 2022-10, URFIST Occitanie
  • 2022-06, Journées CasuHAL
  • 2021-11, URFIST Occitanie

Partage sur twitter : #py_so



Pré-requis

  • Avoir les compétences décrites jusqu'au chapitre 4 du manuel Python pour les SHS
  • Maîtriser les APIs de HAL (l'API générale "search" et celle du référentiel structures de Aurehal)
  • Bonne connaissance du paysage de l'Enseignement Supérieur et de la Recherche et des enjeux de la science ouverte


Techniques à maîtriser

  • différentes syntaxes pour imprimer : print("ici", "là"), print(f"{ma_variable} encore") , print("{} dernière".format("une"))
  • Request, pandas
  • passer des données en JSON en dataframe (Pandas)
  • fonction avec argument
  • sortir un résultat structuré
  • filtrer une dataframe, extraire une liste, ajouter colonne


Ressources