Maybe don't depend on beta gevent version?

Issue #18 resolved
Jonathan Kamens
created an issue

Could we maybe not put out releases that depend on beta gevent versions? ;-) gevent 1.1b1 has some bugs. This particular one is affecting us:

That means that we can't use gipc 0.6.0, because it explicitly depends on gevent >= 1.1b1.

Comments (3)

  1. Jan-Philip Gehrcke repo owner

    Hey Jonathan. Thanks for your note. However, I'm not sure I really understand the issue ;-).

    1) There is no advantage in using gipc 0.6.0 together with gevent < 1.1(b), because the only thing that was changed in gipc 0.6.0 is the introduction of Python 3 support.

    2) gipc 0.6.0 does not depend on a gevent beta version. It just requires a gevent version larger than 1.1b1, e.g. 1.1, if released. The main spec of gipc 0.6.x is to be compatible with gevent 1.1.

    3) If a certain gipc version promises to support Python 3, it needs to require a gevent version that supports Python 3. Maybe this point is disputable, but that's how I think it makes most sense, because it prevents potentially risky gevent/gipc combinations.

    Or, in other words, the fact that gevent 1.1b1 contains a bug that affects your application means that you must make sure not to use gevent 1.1b1 in which case you simply stay with gipc 0.5.0 for the moment, which is entirely fine. Isn't it? :-)

    Maybe I'm not thinking straight enough, in which case I would appreciate if you could express your thoughts more exhaustively.

    A note on the changelog/versioning:

    The 0.6.0 changelog explicitly includes the breaking change about requiring a gevent version larger 1.1b1. Which is why gipc's version number increased from 0.5 to 0.6. Quoting the semantic versioning spec:

    Major version zero (0.y.z) is for initial development. Anything may change at any time.

    I do not want to be resting on that situation (API stability is priority, sure), but surely this means you cannot simply pull the newest gipc version into production systems. Which you probably didn't.

    Before releasing 0.6.0 I thought about releasing the first 1.0 instead, because I think gipc can, API-wise, stay as it is. I then decided against it, because the gevent project got to speed again and I would like to wait and see in which direction it goes.

  2. Log in to comment