Currently the version number is hard-coded in the following locations:
./doc/conf.py ./pyproject.toml ./meson.build ./skfmm/__init__.py ./README.txt
The version number format is YYYY.MM.DD with leading zeros
$ git tag YYYY.MM.DD $ git push –tags origin master
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.
make sure you have twine installed with:
$ pip install twine
One the final commit has been made, wait for the GitHub workflow builds to finish. Make sure all the tests pass on all the platforms.
Copy the build artifacts from the GitHub actions to dist/
$ twine upload dist/*
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