NOTES/CHECKLIST FOR CREATING AND DISTRIBUTION A NEW DISTRIBUTION


Working by default in ~/coding/pyimfit on Mac.

[opt]1. Generate updated libimfit.a for macOS, IF NECESSARY
    A. [mac] cd imfit
    B. [mac] scons --clang-openmp libimfit.a
    C. [mac] cp libimfit.a ../prebuilt/macos
    # copy updated Imfit C++ header files
    D. [mac] cd .. ; ./update_from_imfit.sh

[opt]2. Generate updated libimfit.a for Linux [VM: ubuntu64-16_dev], IF NECESSARY
    A. [vm] cd /home/vagrant/build/pyimfit/imfit
    B. [vm] scons libimfit.a
    E. [vm] cp libimfit.a /vagrant/transfer
    F. [mac] cp ~/vagrant/ubuntu64-16_dev/transfer/libimfit.a ./prebuilt/linux64

3. Do new "develop" install and run tests on macOS
    [mac] $ pip3 install -e ./
    [mac] $ cd pyimfit/tests ; pytest

4. Do new "develop" install and run tests on Linux VM
    [mac] $ cd ~/vagrant/ubuntu64-16_dev/transfer
    [mac] $ git clone ~/coding/pyimfit pyimfit
    [vm] $ cd /vagrant/transfer/pyimfit
    [vm] $ pip3 install --user -e ./
    [vm] $ cd pyimfit/tests ; pytest

5. Update version number in pyimfit/__init__.py

6. Generate new version of docs [docs/howto_generate_docs.txt]
    A. cd docs
    B. Update version number in conf.py
    C. IF the Jupyter notebook files have been updated, generate markdown versions with
        $ jupyter nbconvert pyimfit_emcee.ipynb --to markdown
        $ jupyter nbconvert pyimfit_bootstrap_BtoT.ipynb --to markdown
    D. Generate updated documentation
	    $ ./make_docs.sh
	E. View resulting docs in a web browser pointed at
	    file:///Users/erwin/coding/pyimfit/docs/_build/html/index.html
    F. Commit the changes, upload to github
        $ git commit -a -m "Updated documentation"      [or something like that]
        $ git push

7. See if updated version passes Travis CI tests

8. Generate source distribution and Mac binary wheels on Mac, and upload to PyPI:
        $ ./make_upload.sh x.x.x   [where "x.x.x" = version number]

10. Test installation via pip
