Document toolboxDocument toolbox

Updating the Python client version in the synapser package


Background:  The synapser R package embeds a copy of the Synapse Python client, automatically generating wrapper functions in R matching the Python command set.  When a new version of the Synapse Python client becomes available, we update the R package as follows:


  1. Create a feature branch of the synapser GitHub repo, https://github.com/Sage-Bionetworks/synapser, branching from the 'develop' branch.
  2. Visit https://pypi.python.org/pypi/synapseclient/ and click on the link to the latest version, e.g. https://pypi.python.org/pypi/synapseclient/1.7.5
  3. Copy the link to the .tar.gz archive, e.g. https://pypi.python.org/packages/70/1d/f7af7571f00e248b6410241301f7add772d1afadc745d732545304bf7d41/synapseclient-1.7.5.tar.gz
  4. In your feature branch edit inst/python/installPythonClient.py
    1. Change  packageName = "synapseclient-1.7.3" to match the version of the new Python client archive.
    2. Change urlPrefix = "https://pypi.python.org/packages/b0/73/89ff25d74e8cf342982bbbdc98ec724243f799ce1c4196181e106a5528bc/" to match the prefix of the URL found in step 3.
  5. R CMD install .
  6. run 'git status' and look for any files added, removed, or changed under the sub folder 'auto-man/'.   
    1. For any new files, copy them to man/, removing the five line header and editing as needed.
    2. For any removed files, delete the corresponding file under man/
    3. For any modified files, use 'git diff' to examine the changes and then modify the corresponding file under man/ as needed.
  7. Build and load the package:
    1. R CMD install .
    2. R
    3. library(synapser)
  8. Now use "help" or "?" to review any files modified under man/
  9. When satisfied, 'git commit -am <feature branch>', then push to GitHub.
  10. Follow the usual procedure for building/testing on all platforms, conducting a code review and releasing the package.