TODO ==== - dummy context manager - dummy file cacheutils ---------- - counting dictionary (with sys.modules example) dictutils --------- - autoindexing list for dictionaries. As records get added, uses a basic proportion-based heuristic to create subdictionaries as indexes over the same data. Maybe automatically does a full-scan option too. - non-overwriting version of dict.update() jsonutils --------- * jsonl ignore blank lines * jsonl add line number to error message misc? ----- - wrap_trace debug utility. Takes an object, looks at its dir, wraps everything callable, with a hook. Needs an enable/disable flag. - get/set/call/return/exception - __slots__ - Tracking proxy. An object that always succeeds for all operations, saving the call history. - Top/Bottom singletons (greater than and less than everything) cliutils -------- - progress bar - confirmation prompt (e.g., "Question? (Y/n)") tbutils ------- - fold repeated frames (recursive calls) statsutils ---------- - dirty bit auto clears cache on property access - geometric mean (2 ** sum(log(a, b, ...)) funcutils --------- #class FunctionDef(object): # """ # general blocker: accept a bunch of fine-grained arguments, or just # accept a whole ArgSpec? or a whole signature? # """ # def __init__(self, name, code, doc=None): # pass