timer-cm
timer-cm copied to clipboard
Optional import stub
Hi, thanks for the convenient little library.
I wanted it to be optional so I wrote the following little import stub. Consider adding it to your README for the convenience of others.
Instead of:
from timer_cm import Timer
I stub out the API if the import fails with:
try:
from timer_cm import Timer
except ImportError as ex:
# You should pip3 install timer_cm
# see https://github.com/mherrmann/timer-cm/blob/master/timer_cm.py
# But we provide a dummy to reduce dependencies
class Timer:
def __init__(self, name, print_results=None):
pass
def __enter__(self):
return self
def __exit__(self, *_):
pass
def child(self, name):
return self
def print_results(self):
pass
that way with Timer('foo'): etc all work as expected and just do nothing.
Thanks! Why do you want it to be optional?
@ringerc nice idea to share your solution back to this project. I think since this is a common pattern and totally dependent on the user's project, it's not necessary to update the readme.
can also do:
from contextlib import contextmanager
@contextmanager
def Timer(*args, **kwargs):
yield None