On 05/24/2018 02:46 AM, Chenxiong Qi wrote:
I'm currently adding override support to fedpkg, and it is good
to use
Python bindings in some logic instead of CLI. fedpkg now has code to
detected bodhi CLI's major version, and fedpkg only works with version
less than 4. Will this major version change in future impact the
interfaces in Python bindings? Would that change mean the bodhi CLI
interface could change only? Thanks.
Greetings!
One of the problems with Bodhi right now that I hope to solve at some
point is that it uses the same version for its server, CLI, and
bindings. This presents a challenge when I need to do something
backwards incompatible in one of the three, because they will all get an
X release bump. This indicates that *something* changed, but users will
have to read the release notes to find out what.
All that to say, it is possible for future X releases to make
incompatible changes in the bindings or CLI. I don't currently have
specific plans for that. You can see my planned backwards incompatible
changes here:
https://github.com/fedora-infra/bodhi/issues?q=is%3Aopen+is%3Aissue+label...
Note that API changes from the server can change the data structures
returned by the Python bindings, even if the bindings themselves don't
change, if that makes sense. I may be releasing Bodhi 4 in the coming
months with some of these changes. I don't expect the CLI or bindings to
change, though the API will likely change a bit. You may not want to
hard code the version check to be less than 4, but that's up to you.