My major complaint is that the version argument is disingenuous and reflects poorly upon us every time we make it. (Internally, someone said that prior to requests-2.1.0, the API was unstable. 2.1.0 was released in 2013-12-05, about the time Ansible-1.5 was released. RHEL6 and Debian Jessie both have newer releases (2.6.0 and 2.4.3 respectively).
If we can agree to stop making that argument (at least, as a project member... I wouldn't object to someone making clear that api incompatibility of older versions was their personal pet peeve like: "The project doesn't allow requests because open_url works fine for almost all use cases. Personally, I can never forget that they changed their API 5 years ago so I don't use it myself".) that would satisfy me. For your point, though, the API is both well known to developers and much better designed than open_url/fetch_url. requests is available most places due to being a dep in so many third party libraries (including libraries which Ansible users will be installing for other Ansible modules) so it's not an extra dependency in many environments. I think the unnecessary dep argument is enough to prohibit it in core modules and discourage it in community modules doing simple things. I'm unsure if we should outright ban it there, though. I'm also leaning towards the view that even if we ban it for simple things, we shouldn't ban it in community modules doing complex things.... The API of requests makes complex things much easier to code than open_url/fetch_url and I don't think we want to spend a lot of time making open_url/fetch_url's API better.... -Toshio On Thu, Sep 13, 2018 at 9:16 AM, Matt Martz <m...@sivel.net> wrote: > I must not have been part of that discussion. It was never about the > requests version for me. It was about yet another unnecessary dependency. > > What is the driving factor behind wanting to allow it? > > On Thu, Sep 13, 2018 at 11:10 AM Toshio Kuratomi <tkura...@redhat.com> > wrote: >> >> When RHEL5 went EOL we talked about dropping the prohibition on >> modules using the requests library (directly.... many modules use >> requests indirectly through their dependencies) but someone said >> "there's other distros than RHEL5 using 1.x versions of requests." >> (and according to that person, the 1.x version of requests is >> different enough that code that can use both requests versions >> wouldn't be portable.) >> >> If the premise is correct, we still should figure out what our >> criteria is for allowing modules to make use of requests. We don't >> disallow other libraries **cough**docker**cough** just because their >> API is unstable. We simply tell people what version of the library is >> needed for the module to run. So what criteria needs to be met so >> that we can do that for requests? >> >> -Toshio >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Development" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to ansible-devel+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > > > -- > Matt Martz > @sivel > sivel.net -- You received this message because you are subscribed to the Google Groups "Ansible Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-devel+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.