Contribuer

Les contributions sont les bienvenues, et elles sont grandement appréciées! Chaque petit coup de pouce aide, et le crédit sera toujours donné.

Vous pouvez contribuer de plusieurs façons:

Types de contributions

Signaler les bugs

Signaler les bugs sur https://github.com/SekouD/mlconjug/issues.

Si vous signalez un bug, veuillez inclure:

  • Le nom et la version de votre système d’exploitation.
  • Tous les détails sur votre configuration locale qui pourraient être utiles pour le dépannage.
  • Les étapes détaillées pour reproduire le bug.

Corriger les bugs

Consultez le depot GitHub pour voir si il y a des bugs en attente de correction. Tout ce qui est étiqueté « bug » et « help wanted » est ouvert à quiconque veut l’implémenter.

Implémenter de nouvelles fonctionnalités

Consultez GitHub pour voir si le projet est en attente de nouvelles fonctionnalités. Tout ce qui est étiqueté avec « enhancement » et « help wanted » est ouvert à quiconque veut l’implémenter.

Ecrire de la documentation

MLConjug pourrait toujours utiliser plus de documentation, que ce soit dans la documentation officielle de MLConjug, dans les docstrings, ou même avec une mention sur des blogs, articles et autres.

Soumettre des commentaires

La meilleure façon d’envoyer vos commentaires est de remplir une « issue » sur https://github.com/SekouD/mlconjug/issues.

Si vous proposez une fonctionnalité:

  • Expliquez en détail comment cela fonctionnerait.
  • Gardez la portée aussi minime que possible, pour rendre la fonctionnalité plus facile à mettre en œuvre.
  • Rappelez-vous qu’il s’agit d’un projet mené par des bénévoles, et que les contributions sont les bienvenues :)

Commencez!

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

  1. Forkez le dépôt mlconjug sur GitHub.

  2. Cloner votre fork localement:

    $ git clone git@github.com:your_name_here/mlconjug.git
    
  3. Installez votre copie locale dans un virtualenv. Si vous avez installé virtualenvwrapper, voici comment configurer votre fork pour le développement:

    $ mkvirtualenv mlconjug
    $ cd mlconjug/
    $ 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 faire vos changements localement.

  5. Lorsque vous avez fini de faire vos changements, vérifiez que vos changements passent flake8 et les tests, y compris les test d’autres versions de Python avec tox:

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

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

  6. Validez vos modifications en faisant un commit et faites un push de 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. Soumettre une requête pull (pull request) sur le site Web de GitHub.

Directives sur les Pull Request

Avant de soumettre une requête pull, vérifiez qu’elle respecte les consignes suivantes:

  1. La requête pull doit inclure des tests.
  2. Si la requête pull ajoute des fonctionnalités, les documents doivent être mis à jour. Mettez votre nouvelle fonctionnalité dans une fonction avec une docstring et ajoutez la fonctionnalité à la liste dans README.rst.
  3. La requête pull devrait fonctionner pour Python 3.3, 3.4, 3.5 et 3.6. Vérifiez sur https://travis-ci.org/SekouD/mlconjug/pull_requests et assurez-vous que les tests passent pour toutes les versions de Python supportées.

Conseils

Pour exécuter un sous-ensemble de tests:

$ py.test tests.test_mlconjug