Contribuer

Les contributions sont les bienvenues, et elles sont grandement appréciées ! Chaque petit geste compte, et le crédit sera toujours accordé.

Vous pouvez contribuer de plusieurs manières :

Types de contributions

Signaler des bugs

Signalez les bugs à https://github.com/SekouDiaoNlp/pylexique/issues.

Si vous signalez un bug, veuillez inclure :

  • Le nom et la version de votre système d’exploitation.

  • Tout détail sur votre installation locale qui pourrait être utile pour le dépannage.

  • Les étapes détaillées de la reproduction du bug.

Corriger des bugs

Jetez un œil sur la section « issues » sur GitHub pour les bugs. Tout ce qui est étiqueté avec « bug » et « help wanted » est ouvert à quiconque veut l’implémenter.

Ajouter des fonctionnalités

Consultez les « issues » sur GitHub pour trouver des propositions d’ajout ou d’amélioration des fonctionnalités. Tout ce qui est étiqueté « amélioration » et « demande d’aide » est ouvert à tous ceux qui veulent l’implémenter.

Rédiger de la documentation

pylexique a toujours besoin de plus de documentation, que ce soit dans le cadre de la documentation officielle de pylexique, dans les docstrings, ou même sur le web dans des billets de blog, des articles et autres.

Soumettre des commentaires

La meilleure façon d’envoyer des commentaires est d’ouvrir un ticket de support à l’adresse https://github.com/SekouDiaoNlp/pylexique/issues.

Si vous proposez une fonctionnalité :

  • Expliquez en détail comment cela fonctionnerait.

  • Gardez le champ d’application aussi étroit que possible, pour faciliter la mise en œuvre.

  • N’oubliez pas que ce projet est mené par des bénévoles et que les contributions sont les bienvenues :)

Démarrez !

Prêt à contribuer ? Voici comment configurer pylexique pour le développement local.

  1. Créez un fork du dépôt pylexique sur GitHub.

  2. Clonez votre fork localement: :

    $ git clone git@github.com:your_name_here/pylexique.git
    
  3. Installez votre copie locale dans un environnement virtuel. En supposant que vous avez installé virtualenvwrapper, voici comment configurer votre fork pour le développement local: :

    $ mkvirtualenv pylexique
    $ cd pylexique/
    $ python setup.py develop
    
  4. Créer une branche pour le développement local : :

    $ git checkout -b name-of-your-bugfix-or-feature
    

    Vous pouvez maintenant effectuer vos modifications localement.

  5. Lorsque vous avez fini d’effectuer des modifications, vérifiez que vos modifications passent bien flake8 et la suite de tests, notamment en testant d’autres versions de Python avec tox: :

    $ flake8 pylexique tests
    $ python setup.py test or py.test
    $ tox
    

    Pour obtenir flake8 et tox, il suffit de les installer par pip dans votre virtualenv.

  6. Valider vos changements et pousser votre branche sur GitHub: :

    $ git add .
    $ git commit -m "Your detailed description of your changes."
    $ git push origin name-of-your-bugfix-or-feature
    
  7. Soumettez une « pull request » via le site Web GitHub.

Directives pour les Pull Requests

Avant de soumettre une pull request, vérifiez qu’elle respecte ces directives :

  1. La pull request doit inclure des tests.

  2. Si la pull request ajoute une fonctionnalité, la documentation doit être mise à jour. Mettez votre nouvelle fonctionnalité dans une fonction avec une docstring, et ajoutez la fonctionnalité à la liste dans README.rst.

  3. La pull request devrait fonctionner pour Python 3.6, 3.7, 3.8 3.9 et pour PyPy. Vérifiez https://github.com/SekouDiaoNlp/pylexique/actions et assurez-vous que les tests passent pour toutes les versions de Python supportées.

Conseils

Pour exécuter un sous-ensemble des tests: :

$ py.test tests.test_pylexique

Déploiement

Un rappel pour les mainteneurs sur la façon de déployer. Assurez-vous que toutes vos modifications sont validées (y compris une entrée dans HISTORY.rst). Ensuite, exécutez : :

$ bumpversion patch # possible: major / minor / patch
$ git push
$ git push --tags

Les packes générés par les actions GitHub seront ensuite déployées vers PyPI si les tests sont réussis.