snakeoil
snakeoil copied to clipboard
a python library that implements optimized versions of common functionality
Argparse flow is first value conversion (validate and convert), then action invocation (store it). `ParseNonblockingStdin` is an action which is actually a `type` arg- it converts `-` into a stream...
Every codebase at one point winds up with factory registries, or instance maps, etc. W/in the ecosystem we have the following registries exist- even if people may not call them...
The api of that predates `subprocess` (literally, py2.2 or py2.3); there are things I did in there that subprocess still lacks (the FD juggling for pipes for example) that will...
See https://github.com/pkgcore/snakeoil/blob/47d756214d27477d23bdbccca6a95b29d77345a7/src/snakeoil/deprecation.py ; the usage of this is actually straight forward. For snakeoil we create our project registry in `_internals` and then just do thus: https://github.com/pkgcore/snakeoil/commit/47d756214d27477d23bdbccca6a95b29d77345a7 . This annotates all...
Py3k supports pickling directly from the slot structure of a class, without requiring a `__getstate__` override. Thus https://github.com/pkgcore/snakeoil/blob/d3438ebf23b639093dd0d432f9f9fe88040eefc5/src/snakeoil/klass/__init__.py#L420-L430 is unneeded. That code exists- I think- as part of the bridge...
The current code has an explicit fallback that uses a list for unhashable items, which is a quadratic search for unhashable N. Not awesome, in short, but a byproduct of...
Roughly, via checking the stack we can see if we're in a module parsing- thus demandload can detect if it just got reify'ied during a module parse, and should flag...
These base classes are doing registry type functionality- which is good- but the way it's done and intermixing classes on the fly (and lack of clarity on what is/isn't mixin)...
The original reason for a seperated `Formatter` was to use it for GUI type callbacks, but the reality of all usage, this isn't something a GUI will use. It'll just...