Requests v2.0 Python module released
docs.python-requests.org
docs.python-requests.org
Requests is one of the best Python modules ever written, and I use it (literally) every day. Good stuff, man!
<3
It's painless to install, so I prefer it as a module I can just add to all of my routines.
I feel like stdlib is where cool Python modules go to die...
I think argparse is a cool module, and definitely better than optparse or getopt for the types of things I do. Both optparse and argparse were external packages before becoming part of Python. Optparse is dead, but I don't think that argparse is dead.
Some modules have a longer cycle time than Python. For examples, the decimal module (based on the 'General Decimal Arithmetic' standard) and sqlite module (based on SQLite).
I think these modules are cool. I don't think either of them are dead. (But on the other hand, the *bdb modules and the underlying implementations are dead.)
Some modules spun off, developed for a while on their own, and merged back into Python. Two examples were 'turtle2' and 'unittest2'. I enjoyed using unittest2, and am glad that it's part of Python 2.7 and newer. I never used turtle, but it was used in some computer classes. The turtle2 author pointed out that some computers are so locked down that the teachers can't change anything, which is why a 'turtle' in the base install can be useful.
Elementtree was and is a standalone package. I use it for nearly all of my XML parsing needs. It has a C extension as an accelerator, which isn't always painless to install, especially if I want a pure-Python distribution.
But on the other hand, minidom and the other XML-SIG package are dead. Then again, I didn't think they were cool. ;)
I looked at what modules were added in 3.2 and 3.3: lzma, faulthandler, ipaddress, argparse, concurrent.futures, unittest.mock, .. and that's about it.
(Interestingly, PEP 3156 would likely replace concurrent.futures.)
So I think others agree that only the most stable of APIs should go into Python core. But I don't think that all cool Python modules which get into the core die.
My concern is the frustration (which may not be the right term) of having to continually bring things out of core, implement improvements, and then feed them back in to core. All the while being concerned with impact your changes may have on the entire ecosystem.
All-in-all, maybe it's just moot. This could probably just be chalked up to the ebb-and-flow of software development as a whole.
I'm hanging on to 2.7 for dear life. I openly acknowledge I'm a bad person for it. :(
Have you tried docopt? https://github.com/docopt/docopt
I might try it in the future, but I don't think useful to change my current system. I have internal type strings which look like this "RDKit minPath=3 maxPath=7" and command-line options like "--minPath=3 --maxPath=7".
I ended up making a registry of options which is used to validate the type strings and is used to populate argparse.
I also use custom decoders, like a decoder to enforce that a given value is >=32 and a power of two. A quick glimpse at the docs doesn't show a way to support that ability, so it would need to be rewritten to occur after arg parsing has finished rather than during.
I don't doubt that I could use docopt instead, but the amount of work to migrate doesn't seem worthwhile.
Modules that get updated with things people need are cool. Stdlib modules can only be updated once per Python version, with great effort and extreme care not to break anything anywhere. So stdlib modules aren't cool.
I bet TONS of time is wasted because it is harder to find this module than it should be.
and many/most people will have urllib{,2,3} inflicted on them by default not knowing otherwise
I'm currently using `import requesocks as requests`.
Just run `polipo socksParentProxy=<host>:<port>` and then use it as a regular http proxy with requests (default port is 8123).
ref: https://twitter.com/mitsuhiko/status/363564610492063744