* To make a release:

** Increment version number
Currently the version number is hard-coded in the following locations:

./doc/conf.py
./setup.py
./skfmm/__init__.py
./README.txt

** Tag the release

$ git tag v0.0.n
$ git push --tags origin master

** Build the documentation

To build the documentation you need Sphinx and the numpydoc Sphinx
extension

$ make html

check that everything looks ok by opening build/html/index.html

the documentation should build automatically on RTD.

Check https://scikit-fmm.readthedocs.io/en/latest/  trigger a build if needed.

** Upload to PyPI

make sure you have twine installed with:

$ pip install twine

One the final commit has been made, wait for the AppVeyor and TravisCI
builds to finish. Make sure all the tests pass on all the platforms.

Copy the build artifacts from AppVeyor to dist/
Click the AppVeyor badge on the README, go to each build configuration
and download the wheel files

build the source distribution:

$ python setup.py sdist

$ twine upload dist/*

* Cython Wrapper for heap class

The binary min heap C++ class has a Cython wrapper to expose it to
Python. Cython is not required to build this module as the c++ files
created by Cython are checked into the git repo. If changes are made
to skfmm/heap.h or skfmm/heap.cpp the Cython c++ file pheap.cpp needs
to be updated. This is done with the command:

$ cython3 --cplus -3 pheap.pyx

The updates pheap.cpp should also be checked into the git repo
