1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
* To make a release:
** Increment version number
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
** Tag the release
$ git tag YYYY.MM.DD
$ 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 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/*
* 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
|