New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unvendor dependencies for 3.0.0 #4031
Comments
/cc @sigmavirus24 @Lukasa I'm not sold that it's a good idea. I just like change. Maybe it's time. |
I'm not sold on it being a good idea either. Presently projects may do the following:
In this case, that would break Requests 2.14.2. We'd have to expand our CI to start testing against a wider breadth of our dependencies to allow for users doing something like above. In part, this problem is due to Pip not having a dependency resolver still that would tell the user: At the same time, I'd like us to stop being the project everyone points at and berates because once a year someone on reddit realizes we vendor our dependencies for good reason but is shocked, horrified, mortified, and supposedly going back to httplib. |
So, I'm open to doing this if and when pip gets a proper dependency solver. A little birdie told me that pip has a GSOC student who is working on doing exactly that, so if that lands I'm open to us considering that change. |
hell let's just do it. assigning to myself. minor version bump. I'll be pragmatic and require the latest version of urllib3 or greater (or less than the next major). |
We'll also emit warnings for incompatible versions at import time. |
Warnings are often ignored by users. This should be a hard exception if we're going to bother with version checks at all. |
interesting idea. I like it. @sigmavirus24 can you provide me with a list of our compatible version ranges, if you're up to helping out with this? Would be much appreciated. |
would be nice if Python had an IncompatiblePackages warning. Should we subclass or use RuntimeError? |
The closest thing to an I don't like subclassing RuntimeError but I can't think of a better option at the moment (then again I'm not really thinking too hard about this). What I'm worried about is maintaining versions that we use to check for incompatible requirements and maintaining the versions in our setup.py/setup.cfg and how we might do that with the least amount of pain. |
I'll find a DRY solution. |
Thanks for your thoughts! Much appreciated. I think this will reduce maintinence burden, in an ideal world. |
Ian, do you want to get me that list? If not, I'll make another issue for a new contributor to maybe |
Meaning, no rush, just wondering :) |
List of dependencies? As they are now,
That said, I'm struggling to think of a way to cover all of our bases:
I am thinking what we might want is to make an attempt to go for 90% static package configuration via |
@sigmavirus24 do you want to get a working prototype in place? |
related: #4067 4067 |
Done! |
thoughts?
The text was updated successfully, but these errors were encountered: