How to build and release¶
Working on a development version of MinPy is most convenient when installed in editable mode. Refer to MinPy installation guide for instructions. This way changes will appear directly in the installed package.
MinPy also needs MXNet to run its GPU operators. There is also a
regular and a development installtion for MXNet. Please refer to
MXNet’s document for details. MXNet has some C++ parts, so it requires
compilation. But MinPy is pure Python, so a pip
installation is
enough.
When contributing, make sure coding convention is consistent. Run
yapf -i <python-file>
to auto format source files. Google Python
Style Guide is a
good stop for advice.
MinPy version numbers conform to Semver rules. To ensure consistency between version numbers on PyPI and git tags, there are a few utility scripts at the root of the repositry.
First run ./install_hooks.sh
once to install some Git hooks. This
will automatically tag your commits upon version change, and push them
if necessary. Now after you make some changes, run ./bump_version (major |
minor | patch)
to increment the version number. Then make a commit
and push to upstream. If your Git version is not too old, it will push the tags
along the commit. Otherwise you would have to push the tags manually.
Travis CI will test and build the commit, and if there is a tag, release new version to PyPI.