skip to navigation
skip to content

pysanity 0.0.1

Emulates sanity for other people's dirty ass non-pep compliant code via only the /dirtiest/ of means.

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.

And that means?

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.

Logging you say?

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)

Installation

pip install pysanity

Running tests

Tox is used to handle testing multiple python versions.

tox
 
File Type Py Version Uploaded on Size
pysanity-0.0.1-py2-none-any.whl (md5) Python Wheel 2.7 2017-07-13 7KB
pysanity-0.0.1.tar.gz (md5) Source 2017-07-13 17KB