Pecan: Publier des packages sur CRAN

Créé le 21 mars 2021  ·  5Commentaires  ·  Source: PecanProject/pecan

La description

Actuellement, PEcAn n'est pas disponible dans CRAN, ce qui rend son installation plus difficile sur les systèmes car il oblige l'utilisateur à télécharger d'abord tout le code et à l'installer. L'ajouter à CRAN le rendra non seulement plus facile à installer, mais aussi plus facile à trouver. Cela nécessitera de corriger les avertissements dans le processus de construction et éventuellement de diviser le code en différents modules. (projet GSOC 2021)

Il s'agit d'un problème de haut niveau dans le but de publier des packages sur CRAN ; chaque paquet nécessitera au moins un problème et des fils de discussion.

_Veuillez mettre à jour cette description initiale selon les besoins en fonction des commentaires ci-dessous._

Solution proposée

  1. revoir les packages de base (dans le sous-répertoire /base) et quels packages de base sont utilisés par les packages de priorité supérieure dans /modules
  2. libérer les packages de base - l'enregistreur peut être la dépendance la plus probable
  3. commencer à publier des packages

Une liste approximative de priorités (TODO se transforme en tableau)

  • base/enregistreur

    • pas d'importations ; suggère de tester

  • base/télécommande

    • importe PEcAn.logger

  • modules/photosynthèse

    • pas de dépendances non cran PEcAn

  • modules/allométrie

    • importe uniquement PEcAn.logger

  • modules/data.atmosphere

    • importe PEcAn utils, remote, logger, DB

    • inclut également sur ropesci/geonames et ropesci/nneo de github, bien qu'ils soient maintenant sur CRAN

  • modules/méta-analyse

    • dépend de l'enregistreur, des paramètres, de la base de données, des utilitaires

    • les paramètres peuvent-ils être remplacés ? La base de données peut être remplacée par des appels à l'API, les utilitaires peuvent être difficiles à remplacer.

    • les modèles statistiques sont-ils eux-mêmes séparables des requêtes de base de données ou les requêtes db peuvent-elles être remplacées par des appels à l'API ?

  • PEcAnRTM : modules/rtm

    • importe PEcAn.assim.batch

    • suggère PEcAn.utils, PEcAn.ED2

Alternatives envisagées

Garder les paquets sur Github.

Contexte supplémentaire

Toute personne souhaitant s'attaquer à ce problème doit être familiarisée avec les versions CRAN et le développement de packages (ou avoir un mentor qui l'est) et avec les chapitres sur la publication de packages dans le livre 'rOpenSci packages' et le livre 'R packages' de Hadley Wickham . Ces chapitres fournissent les étapes et décrivent de nombreuses fonctions d'assistance pour la publication de packages.

Enhancement Modules GSOC

Tous les 5 commentaires

Bonjour @dlebauer monsieur,
Je voulais travailler sur ce problème.

A commencé à travailler.

@ avinash14022002 C'est un gros problème et nous nous attendons à ce que le terminer prenne tout un projet GSOC et peut-être au-delà. Votre contribution est la bienvenue, mais je vous encourage à commencer à travailler sur une proposition de travail plutôt que de vous lancer directement dans le codage.

@infotroph monsieur,

Oui monsieur.
En plus de vouloir vos conseils.

J'aime aussi contribuer à PEcAn post Gsoc.

@infotroph @dlebauer
"base/remote- importe PEcAn.logger" lorsque nous disons cela .. cela signifie-t-il que nous devons transmettre PEcAn.remote avec les FONCTIONS PEcAn.logger au CRAN ? était un peu confus à ce sujet.

En général, les packages soumis au CRAN ne sont autorisés à avoir des dépendances que sur les packages qui sont également dans le CRAN[1], nous devrions donc supposer que les packages doivent être soumis dans l'ordre des dépendances, par exemple PEcAn.logger avant PEcAn.data.remote.

Ces dépendances s'aggravent rapidement, donc dans le cadre des préparatifs de la publication du CRAN, nous devrions rechercher des opportunités pour supprimer les dépendances inutiles - par exemple, il est probable que certains des packages qui importent PEcAn.utils ne l'utilisent que pour quelques fonctions simples et il peut il est plus logique de les copier directement dans un autre package plutôt que de les importer.

[1] Techniquement, c'est « les packages dont dépend un package CRAN doivent être disponibles à partir d'un référentiel grand public », mais en pratique, « grand public » signifie CRAN ou Bioconductor.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

istfer picture istfer  ·  8Commentaires

tonygardella picture tonygardella  ·  5Commentaires

serbinsh picture serbinsh  ·  17Commentaires

ashiklom picture ashiklom  ·  7Commentaires

ayushprd picture ayushprd  ·  9Commentaires