# Developer’s notes¶

## Source code¶

The source code is currently available on GitHub under the terms and conditions of the MIT license. Fork away!

## Getting Started For Developers¶

Warning

the following guide is used only if you want to develop the pywicta package. If you just want to write code that uses it externally, you should rather install it as explained there.

This guide assumes you are using the Anaconda Python distribution, installed locally (miniconda should also work).

### Step 1: Set up your package environment¶

In your terminal, change to the directory where you cloned pywicta, and type:

conda env create -f environment.yml


This will create a conda virtual environment called pywi-cta-dev with all the PyWI dependencies and a few useful packages for development and interaction.

If you want to give a different name to this environment, replace the previous command by:

conda env create -n NAME_OF_THE_ENVIROMENT -f environment.yml


and don’t forget to adapt the following commands.

You can check the virtual environment has been successfully created with the following command:

conda env list


Next, switch to this new virtual environment:

• On Windows, in your Anaconda Prompt, run activate pywi-cta-dev
• On MacOSX and Linux, in your Terminal, run source activate pywi-cta-dev

You will need to type that last command any time you open a new terminal to activate the virtual environment (you can of course install everything into the base Anaconda environment without creating a virtual environment, but then you may have trouble if you want to install other packages with different requirements on the dependencies).

If you want to see the list of packages installed in the virtual environment, type:

conda list -n pywi-cta-dev


If later you want to leave the pywi-cta-dev virtual environment:

• On Windows, in your Anaconda Prompt, run deactivate
• On MacOSX and Linux, in your Terminal, run source deactivate

Also if you want to completely remove this environment from your system, you can type:

conda remove --name pywi-cta-dev --all


### Step 2: Setup PyWI for development¶

Now setup this cloned version for development. The following command will make symlinks in your python library directory to your PyWI installation (it creates a .pth file, there is no need to set PYTHONPATH, in fact it should be blank to avoid other problems). From then on, all the PyWI binaries and the library itself will be usable from anywhere.

For Linux/MacOSX users, type:

python3 setup.py develop


or as a shorter alternative:

make develop


For Windows users, type:

py setup.py develop


If you want to remove the

## Bug reports¶

To search for bugs or report them, please use the Bug Tracker at:

## Contribute¶

This project is written for Python 3.x. Python 2.x is not supported.

The TODO.md file contains the TODO list.

All contributions should at least comply with the following PEPs:

• PEP8 “Python’s good practices”
• PEP257 “Docstring Conventions”
• PEP287 “reStructuredText Docstring Format”

All contribution should be properly documented and tested with unittest and/or doctest.

The inline documentation (a.k.a. docstrings) should follow the Numpy style (check examples here).

pylint, pep8 and pyflakes should also be used to check the quality of each module.