Emulates sanity for other people's dirty ass non-pep compliant code via only the /dirtiest/ of means.
Tested with Python 2.7, 3.5.
Hi! I'm pysanity and I turn:
import logging
log = logging.getLogger(__name__)
Into the much less brain numbing:
from pysanity import logging
log = logging.get_logger(__name__)
All the while keeping your precious code completion working as expected thanks to a not grossly over-dynamic nature.
You're welcome for my existence on PyPi.
Hint: Try this out and stop accepting needless boilerplate in your code, stdlib or not:
import logging
import logging.config
import inspect
def _namespace_from_calling_context():
"""
Derive a namespace from the module containing the caller's caller.
:return str: the fully qualified python name of a module.
"""
return inspect.currentframe().f_back.f_back.f_globals['__name__']
def get_logger(name=None):
"""
Gets a logger instance with sensible defaults according to caller context.
:param str name: Logger name. Defaults to caller's `__name__`.
:return logging.Logger: Logger instance
"""
if not name:
name = _namespace_from_calling_context()
return logging.getLogger(name)
pip install pysanity
Tox is used to handle testing multiple python versions.
tox