I'm happy to receive patches to Pysolar. Please make sure that your patch does not break the test suite before you send a pull request. If that's confusing, please feel free to send me an email.
(These notes are just to remind Brandon how releases worked the last time he released a new version of Pysolar.)
- Install pip: python3 -m ensurepip --upgrade
- Install Twine, Wheel, Jupyter Notebook, Matplotlib and Pandas:
pip3 install twine wheel jupyter matplotlib pandas
- Clone the latest version of Pysolar.
- Install:
sudo python3 ./setup.py install
- Patch, test, patch, test, until it works right. Test includes running test/testsolar.py and the validation suite.
- To run the validation suite, use the previously installed Jupyter Notebook, Matplotlib, and Pandas. Start the notebook server with
python3 -m notebook
- Run each cell of
test/validation.ipynb
. - Realize that the code in
query_usno.py
to pull from the US Naval Observatory is broken; decide the basic test code is good enough. - Update the version number in setup.py.
- Update contributors.markdown if needed.
- Commit and push to Github.
- Add a release on Github that matches the new version number: https://github.com/pingswept/pysolar/releases
- Put PyPI credentials in
~/.pypirc
. Example file below. sudo python3 setup.py bdist_wheel
sudo python3 setup.py sdist
?- Check that the right stuff exists in
dist
. There should be just atar.gz
and a.whl
. We don't wantegg
files any more. python3 -m twine upload --repository pysolar dist/*
- Figure out how to get a DOI from Zenodo.
[distutils]
index-servers =
pypi
pysolar
[pypi]
username = __token__
password = # either a user-scoped token or a project-scoped token you want to set as the default
[pysolar]
repository = https://upload.pypi.org/legacy/
username = __token__
password = # API token goes here