Skip to content

Release Instructions

eli knaap edited this page May 10, 2019 · 13 revisions

Instructions for releasing a PySAL package

PySAL packages use a standard release process that involves two targets:

  • github release
  • pypi release

Following these two releases, updates for the PySAL.org site should be made to pubicize the releaes.

Github release

  1. Enusre all tests are passing
  2. On GitHUB, go to the main page of the repository
  3. Under the repository name, click Releases
  4. Click Draft a new release
  5. On your clone, use tools/gitcount.ipynb to generate the main content of your release notes
  6. Use that content also to update the CHANGELOG.md that is part of your source.
  7. Commit your updated CHANGELOG.md and issue a PR to upstream.
  8. After your PR is merged, Click Publish release on GitHUB.
  9. Move on to do the pypi release

PyPi release

  1. If you have not done so already, register your package on pypi.
  2. Based on the github release you just completed, download the tarball associated with that release
  3. Unpack the tarball, and cd into the source directory
  4. python setup.py sdist upload
  5. Move on to announce your release to the community.

conda-forge release

** first go to conda-forge.org, click on packages at the top, and search for your package to see whether someone has already created a recipe for your package--you may be in luck**

  1. On github.com, fork the conda-forge/staged-recipes repository https://github.com/conda-forge/staged-recipes
  2. Clone your fork locally and check out a new branch named after your package
    • e.g. git checkout -b spaghetti
  3. In the recipes directory, duplicate the "example" directory, and rename "example" to the name of your package
  4. Edit the recipe for your package according to the instructions found here. There are three key steps:
    • at the top of the file, change the name and version of the package to match the released versions on github and pypi
    • Go to the package's page on pypi and click "download files" in the left-hand side panel (e.g. https://pypi.org/project/splot/#files)
    • click the link for the SHA256 hash which will copy it to the clipboard. Paste the hash into the section for sha256 in the conda-forge recipe
    • the requirements/run section lists your package dependencies as would be found in your requirements.txt
    • about/home should list "http://pysal.org"
    • about/dev_url should list the package repository URL, e.g. "http://github.com/pysal/spaghetti"
    • about/doc_url should list the readthedocs URL, e.g. "http://readthedocs.org/projects/segregation/

News

  1. See the instructions for updating pysal.org
Clone this wiki locally