Skip to main content

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

Project description

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.

Test Status Coverage Status Documentation Status

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysanity-0.0.1.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

pysanity-0.0.1-py2-none-any.whl (8.0 kB view details)

Uploaded Python 2

File details

Details for the file pysanity-0.0.1.tar.gz.

File metadata

  • Download URL: pysanity-0.0.1.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pysanity-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e9b413b805c6f18d97514f7b4016f3e9a812a4c3a4dacd1161c76877ff397985
MD5 577200c89ab160381870169010f83242
BLAKE2b-256 636907cce0e83ce5746a6e6613013fa781931c23f18af8dfebf20b80f2cad6c8

See more details on using hashes here.

File details

Details for the file pysanity-0.0.1-py2-none-any.whl.

File metadata

File hashes

Hashes for pysanity-0.0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 230750eb7d7320f6fea7760d02de22fe06f0e057b29f166fdc89cefc814df14e
MD5 fe255fc049c5b3bdf94773a7f5e4192d
BLAKE2b-256 2b575798de7fb3e005b2fa946c439e921f8cdf7c65e997be5d4b36c825a46562

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page