This 0,1,2 behavior is pycurl specific. If the concepts belong at the common level and we're going to try to get the downloaders to implement them, let's make the values constants instead of literal integers. We're not C :)  Then the downloader can translate the constant to the appropriate way of configuring its underlying library accordingly.