X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=histogram.py;h=f85abea2c45f05ef65c70657bd1b2b6f53f04c04;hb=e8fbbb7306430478dec55d2c963eed116d8330cc;hp=993b5036d737cdcd705ef411e5cbcf70ba0da911;hpb=971d4ba141459f78d10d5770b9459d1ead7d49a0;p=python_utils.git diff --git a/histogram.py b/histogram.py index 993b503..f85abea 100644 --- a/histogram.py +++ b/histogram.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""A text-based simple histogram helper class.""" import math -from numbers import Number from typing import Dict, Generic, Iterable, List, Optional, Tuple, TypeVar T = TypeVar("T", int, float) @@ -10,6 +12,8 @@ Count = int class SimpleHistogram(Generic[T]): + """A simple histogram.""" + # Useful in defining wide open bottom/top bucket bounds: POSITIVE_INFINITY = math.inf NEGATIVE_INFINITY = -math.inf @@ -85,8 +89,8 @@ class SimpleHistogram(Generic[T]): return txt max_label_width: Optional[int] = None - lowest_start: int = None - highest_end: int = None + lowest_start: Optional[int] = None + highest_end: Optional[int] = None for bucket in sorted(self.buckets, key=lambda x: x[0]): start = bucket[0] if lowest_start is None: @@ -100,9 +104,9 @@ class SimpleHistogram(Generic[T]): max_label_width = label_width if start == last_bucket_start: break - assert max_label_width - assert lowest_start - assert highest_end + assert max_label_width is not None + assert lowest_start is not None + assert highest_end is not None sigma_label = f'[{label_formatter}..{label_formatter}): ' % ( lowest_start,