Skip to content

Contribution Guidelines

Sagar Patil edited this page Oct 4, 2018 · 3 revisions

Welcome to pypackages !

Contribution to the Notebooks

Hello dear friend, welcome! This guide details how to contribute to this repository.

Project uses python 3.x (sorry python 2 users!)

This project uses python 3.x and not python 2, but it is quite easy to pick up python 3 if you already know python 2.

Repository Structure

  • The file name for any notebook should be given as module_name.ipynb. Avoid adding jupyter, jupyter_notebook, notebook or any such suffixes to the name.
  • The notebook for corresponding modules must be placed in under the Major categories defined.
  • If some module you have taken, has not been placed under any category defined, add it in under the appropriate category.
  • If category for any module has not been defined, make an appropriate category and add your notebook to the new category. Here, it is assumed that the module is not already present in the repository. If it is already present, please make sure to edit the earlier notebook rather than making a new notebook altogether.

Notebook Formatting and PR guide

  • Try to keep your code in the notebooks follow the PEP 8 style guide. Some minor deviations would be allowed but do not write an entire different style of writing python itself. Our goal here is to let the reader understand concepts and their applications clearly. Hence, a common style of writing would help us achieve this goal.
  • Write clean and modular code. Provide ample space (preferably, not more than one empty cell) between two different code cells describing two different functions, tricks, etc. If the cells are illustrating same snippet or method, do not add any empty cell.
  • It is a good habit to write comments along with code. Provide small description regarding the method or trick using the inbuilt markdown cell in jupyter. Try to learn Github's Markdown syntax. It's simple!
  • Make sure you have pulled in the latest changes before making changes in your working copy.
  • Do not send in empty PR without any actual content or code being added.
  • PR will be accepted and merged in the following cases -
    • Added new notebook describing new module that is not present in the repository.
    • Corrected typos in the repository or in the notebooks.
    • Added new or more description to already available notebook for a module.
    • Any other meaningful change to the repository (Adding index, sublist to module, making readme for each module, etc.)

And that's it ! It's easy and simple...
We hope you contribute to this great repository. 👍