Description
The version of the delphi_epidata
python client is bound to the version of the repository. This means that a new version of the client is automatically published to PyPI whenever we do a release of delphi-epidata
, even if the client code has not actually changed. This can confuse or annoy users, as it might encourage them to do frequent but unnecessary upgrades. There are also concerns regarding what to do if we make changes to the client interface that might break users' existing workflows -- in such a case, Semantic Versioning necessitates incrementing the "major" version number, but this may be undesirable to apply to the entire repository.
We can address this in a number of ways:
- Uncouple versions between the two, which lets us number the client version however we need or want. This would involve removing the client from the existing "
bumpversion
" configuration, and would require creating a different release process (either automatic or manual -- automatic being more work up front, while manual requires remembering to perform some number of extra steps when changing the client). - Keep the versions coupled, but only do the PyPI release if/when the client code actually changes (again, either automatic or manual with the same caveats). Changes to the client (other than just version number) would be found in the file https://github.com/cmu-delphi/delphi-epidata/blob/dev/src/client/delphi_epidata.py and anything under the directory https://github.com/cmu-delphi/delphi-epidata/tree/dev/src/client/packaging/pypi . I suggest this path, at least initially.
This discussion came up in #1288. Additional points are made and details listed in that PR, starting with comment #1288 (comment) .
Similar concerns may exist for the other clients in this repo.