Skip to content
Snippets Groups Projects
CONTRIBUTING.md 1.57 KiB
Newer Older
  • Learn to ignore specific revisions
  • We are glad that you are considering contributing to navipy, and are
    looking forward to your contribution.
    
    # Pre-requisit
    We strongly recommand you to download, install, test, and compile the documentation
    
    ## Installation
    ```
    git clone git@gitlab.ub.uni-bielefeld.de:olivier.bertrand/navipy.git
    cd navipy
    python setup.py install
    ```
    
    ## Unittesting
    From the root directory of the repository
    
    ```
    python -m unittest discover navipy
    ```
    
    ## Blend-unittesting
    Several functionalty of navipy requires Blender, and thus code has to be run within blender (see doc for details). Unittesting of function requiring blender can be done as follow
    
    ```
    blendunittest
    ```
    
    Note: this command require blender to be installed
    
    ## Doc building
    The doc is contained in doc/source
    
    ```
    cd doc
    make html
    ```
    
    # Convention
    We follow the PEP8 recommendation and the code should be formatted as such.
    
    # Testing
    Ideally every function should be properly tested. Test file should match the pattern 'test*.py' here the * should match the module to be tested. For example to test function within maths.py, a file named test_maths.py should be created and stored in the same folder than maths.py
    
    Certain functionalities require the use of blender. Such test need to be stored in a file 'blendtest*.py'. Note that the blendunittest command uses the blender environment navipy/resources/twocylinders_world.blend. Therefore your test function should use this environment as well.
    
    # Documentation
    The documentation is based on Sphinx syntax. Although documenting functions is a must, tutorial is a bonus that will strongly encourage.