encommon 0.15.0__py3-none-any.whl → 0.17.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- encommon/config/config.py +13 -13
- encommon/config/logger.py +1 -1
- encommon/config/test/test_config.py +35 -2
- encommon/crypts/crypts.py +2 -2
- encommon/times/test/test_timer.py +5 -0
- encommon/times/test/test_timers.py +4 -0
- encommon/times/time.py +1 -3
- encommon/times/timer.py +14 -0
- encommon/times/timers.py +19 -2
- encommon/times/windows.py +2 -2
- encommon/types/classes.py +2 -2
- encommon/types/test/test_classes.py +2 -2
- encommon/utils/sample.py +2 -2
- encommon/utils/stdout.py +2 -3
- encommon/version.txt +1 -1
- {encommon-0.15.0.dist-info → encommon-0.17.0.dist-info}/METADATA +1 -1
- {encommon-0.15.0.dist-info → encommon-0.17.0.dist-info}/RECORD +20 -20
- {encommon-0.15.0.dist-info → encommon-0.17.0.dist-info}/WHEEL +1 -1
- {encommon-0.15.0.dist-info → encommon-0.17.0.dist-info}/LICENSE +0 -0
- {encommon-0.15.0.dist-info → encommon-0.17.0.dist-info}/top_level.txt +0 -0
    
        encommon/config/config.py
    CHANGED
    
    | @@ -174,19 +174,6 @@ class Config: | |
| 174 174 | 
             
                    return deepcopy(returned)
         | 
| 175 175 |  | 
| 176 176 |  | 
| 177 | 
            -
                @property
         | 
| 178 | 
            -
                def config(
         | 
| 179 | 
            -
                    self,
         | 
| 180 | 
            -
                ) -> DictStrAny:
         | 
| 181 | 
            -
                    """
         | 
| 182 | 
            -
                    Return the configuration dumped from the Pydantic model.
         | 
| 183 | 
            -
             | 
| 184 | 
            -
                    :returns: Configuration dumped from the Pydantic model.
         | 
| 185 | 
            -
                    """
         | 
| 186 | 
            -
             | 
| 187 | 
            -
                    return self.params.model_dump()
         | 
| 188 | 
            -
             | 
| 189 | 
            -
             | 
| 190 177 | 
             
                @property
         | 
| 191 178 | 
             
                def basic(
         | 
| 192 179 | 
             
                    self,
         | 
| @@ -278,6 +265,19 @@ class Config: | |
| 278 265 | 
             
                    return self.__params
         | 
| 279 266 |  | 
| 280 267 |  | 
| 268 | 
            +
                @property
         | 
| 269 | 
            +
                def config(
         | 
| 270 | 
            +
                    self,
         | 
| 271 | 
            +
                ) -> DictStrAny:
         | 
| 272 | 
            +
                    """
         | 
| 273 | 
            +
                    Return the configuration dumped from the Pydantic model.
         | 
| 274 | 
            +
             | 
| 275 | 
            +
                    :returns: Configuration dumped from the Pydantic model.
         | 
| 276 | 
            +
                    """
         | 
| 277 | 
            +
             | 
| 278 | 
            +
                    return self.params.endumped
         | 
| 279 | 
            +
             | 
| 280 | 
            +
             | 
| 281 281 | 
             
                @property
         | 
| 282 282 | 
             
                def logger(
         | 
| 283 283 | 
             
                    self,
         | 
    
        encommon/config/logger.py
    CHANGED
    
    | @@ -329,7 +329,7 @@ class Logger: | |
| 329 329 | 
             
                :param stdo_level: Minimum level for the message to pass.
         | 
| 330 330 | 
             
                :param file_level: Minimum level for the message to pass.
         | 
| 331 331 | 
             
                :param file_path: Enables writing to the filesystem path.
         | 
| 332 | 
            -
                :param params: Parameters  | 
| 332 | 
            +
                :param params: Parameters used to instantiate the class.
         | 
| 333 333 | 
             
                """
         | 
| 334 334 |  | 
| 335 335 | 
             
                __params: 'LoggerParams'
         | 
| @@ -68,8 +68,6 @@ def test_Config( | |
| 68 68 |  | 
| 69 69 | 
             
                assert len(config.sargs) == 1
         | 
| 70 70 |  | 
| 71 | 
            -
                assert len(config.config) == 3
         | 
| 72 | 
            -
             | 
| 73 71 | 
             
                assert len(config.basic) == 3
         | 
| 74 72 |  | 
| 75 73 | 
             
                assert len(config.merge) == 5
         | 
| @@ -78,6 +76,8 @@ def test_Config( | |
| 78 76 |  | 
| 79 77 | 
             
                assert config.params
         | 
| 80 78 |  | 
| 79 | 
            +
                assert len(config.config) == 3
         | 
| 80 | 
            +
             | 
| 81 81 | 
             
                assert config.logger
         | 
| 82 82 |  | 
| 83 83 | 
             
                assert config.crypts
         | 
| @@ -87,6 +87,39 @@ def test_Config( | |
| 87 87 | 
             
                    'pytemp': tmp_path,
         | 
| 88 88 | 
             
                    'PROJECT': PROJECT}
         | 
| 89 89 |  | 
| 90 | 
            +
             | 
| 91 | 
            +
                sample_path = (
         | 
| 92 | 
            +
                    SAMPLES / 'basic.json')
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                sample = load_sample(
         | 
| 95 | 
            +
                    path=sample_path,
         | 
| 96 | 
            +
                    update=ENPYRWS,
         | 
| 97 | 
            +
                    content=config.basic,
         | 
| 98 | 
            +
                    replace=replaces)
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                expect = prep_sample(
         | 
| 101 | 
            +
                    content=config.basic,
         | 
| 102 | 
            +
                    replace=replaces)
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                assert expect == sample
         | 
| 105 | 
            +
             | 
| 106 | 
            +
             | 
| 107 | 
            +
                sample_path = (
         | 
| 108 | 
            +
                    SAMPLES / 'merge.json')
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                sample = load_sample(
         | 
| 111 | 
            +
                    path=sample_path,
         | 
| 112 | 
            +
                    update=ENPYRWS,
         | 
| 113 | 
            +
                    content=config.merge,
         | 
| 114 | 
            +
                    replace=replaces)
         | 
| 115 | 
            +
             | 
| 116 | 
            +
                expect = prep_sample(
         | 
| 117 | 
            +
                    content=config.merge,
         | 
| 118 | 
            +
                    replace=replaces)
         | 
| 119 | 
            +
             | 
| 120 | 
            +
                assert expect == sample
         | 
| 121 | 
            +
             | 
| 122 | 
            +
             | 
| 90 123 | 
             
                sample_path = (
         | 
| 91 124 | 
             
                    SAMPLES / 'config.json')
         | 
| 92 125 |  | 
    
        encommon/crypts/crypts.py
    CHANGED
    
    | @@ -48,7 +48,7 @@ class Crypts: | |
| 48 48 | 
             
                >>> crypts.decrypt(encrypt)
         | 
| 49 49 | 
             
                'example'
         | 
| 50 50 |  | 
| 51 | 
            -
                :param params: Parameters  | 
| 51 | 
            +
                :param params: Parameters used to instantiate the class.
         | 
| 52 52 | 
             
                """
         | 
| 53 53 |  | 
| 54 54 | 
             
                __params: 'CryptsParams'
         | 
| @@ -154,7 +154,7 @@ class Crypts: | |
| 154 154 | 
             
                    Create a new phrase using the provided input parameters.
         | 
| 155 155 |  | 
| 156 156 | 
             
                    :param unique: Unique identifier of mapping passphrase.
         | 
| 157 | 
            -
                    :param params: Parameters  | 
| 157 | 
            +
                    :param params: Parameters used to instantiate the class.
         | 
| 158 158 | 
             
                    """
         | 
| 159 159 |  | 
| 160 160 | 
             
                    phrases = self.params.phrases
         | 
| @@ -68,6 +68,7 @@ def test_Timer( | |
| 68 68 | 
             
                assert timer.remains <= 1
         | 
| 69 69 |  | 
| 70 70 | 
             
                assert not timer.ready()
         | 
| 71 | 
            +
                assert timer.pause()
         | 
| 71 72 |  | 
| 72 73 |  | 
| 73 74 | 
             
                sleep(1)
         | 
| @@ -77,11 +78,15 @@ def test_Timer( | |
| 77 78 | 
             
                assert timer.remains == 0
         | 
| 78 79 |  | 
| 79 80 | 
             
                assert timer.ready()
         | 
| 81 | 
            +
                assert timer.pause()
         | 
| 80 82 |  | 
| 81 83 | 
             
                assert not timer.ready()
         | 
| 84 | 
            +
                assert timer.pause()
         | 
| 82 85 |  | 
| 83 86 | 
             
                timer.update('1980-01-01')
         | 
| 84 87 |  | 
| 85 88 | 
             
                assert timer.ready()
         | 
| 89 | 
            +
                assert timer.pause()
         | 
| 86 90 |  | 
| 87 91 | 
             
                assert not timer.ready()
         | 
| 92 | 
            +
                assert timer.pause()
         | 
| @@ -151,10 +151,12 @@ def test_Timers_cover( | |
| 151 151 |  | 
| 152 152 |  | 
| 153 153 | 
             
                assert timers.ready('two')
         | 
| 154 | 
            +
                assert timers.pause('two')
         | 
| 154 155 |  | 
| 155 156 | 
             
                timers.update('two', 'now')
         | 
| 156 157 |  | 
| 157 158 | 
             
                assert not timers.ready('two')
         | 
| 159 | 
            +
                assert timers.pause('two')
         | 
| 158 160 |  | 
| 159 161 |  | 
| 160 162 | 
             
                timers = Timers()
         | 
| @@ -165,10 +167,12 @@ def test_Timers_cover( | |
| 165 167 | 
             
                timers.create('fur', params)
         | 
| 166 168 |  | 
| 167 169 | 
             
                assert not timers.ready('fur')
         | 
| 170 | 
            +
                assert timers.pause('fur')
         | 
| 168 171 |  | 
| 169 172 | 
             
                sleep(1)
         | 
| 170 173 |  | 
| 171 174 | 
             
                assert timers.ready('fur')
         | 
| 175 | 
            +
                assert timers.pause('fur')
         | 
| 172 176 |  | 
| 173 177 | 
             
                timers.delete('fur')
         | 
| 174 178 |  | 
    
        encommon/times/time.py
    CHANGED
    
    
    
        encommon/times/timer.py
    CHANGED
    
    | @@ -131,6 +131,20 @@ class Timer: | |
| 131 131 | 
             
                    return True
         | 
| 132 132 |  | 
| 133 133 |  | 
| 134 | 
            +
                def pause(
         | 
| 135 | 
            +
                    self,
         | 
| 136 | 
            +
                    update: bool = True,
         | 
| 137 | 
            +
                ) -> bool:
         | 
| 138 | 
            +
                    """
         | 
| 139 | 
            +
                    Determine whether or not the appropriate time has passed.
         | 
| 140 | 
            +
             | 
| 141 | 
            +
                    :param update: Determines whether or not time is updated.
         | 
| 142 | 
            +
                    :returns: Boolean indicating whether enough time passed.
         | 
| 143 | 
            +
                    """
         | 
| 144 | 
            +
             | 
| 145 | 
            +
                    return not self.ready(update)
         | 
| 146 | 
            +
             | 
| 147 | 
            +
             | 
| 134 148 | 
             
                def update(
         | 
| 135 149 | 
             
                    self,
         | 
| 136 150 | 
             
                    value: Optional[PARSABLE] = None,
         | 
    
        encommon/times/timers.py
    CHANGED
    
    | @@ -97,7 +97,7 @@ class Timers: | |
| 97 97 | 
             
                >>> timers.ready('one')
         | 
| 98 98 | 
             
                True
         | 
| 99 99 |  | 
| 100 | 
            -
                :param params: Parameters  | 
| 100 | 
            +
                :param params: Parameters used to instantiate the class.
         | 
| 101 101 | 
             
                :param store: Optional database path for keeping state.
         | 
| 102 102 | 
             
                :param group: Optional override for default group name.
         | 
| 103 103 | 
             
                """
         | 
| @@ -365,6 +365,23 @@ class Timers: | |
| 365 365 | 
             
                    return ready
         | 
| 366 366 |  | 
| 367 367 |  | 
| 368 | 
            +
                def pause(
         | 
| 369 | 
            +
                    self,
         | 
| 370 | 
            +
                    unique: str,
         | 
| 371 | 
            +
                    update: bool = True,
         | 
| 372 | 
            +
                ) -> bool:
         | 
| 373 | 
            +
                    """
         | 
| 374 | 
            +
                    Determine whether or not the appropriate time has passed.
         | 
| 375 | 
            +
             | 
| 376 | 
            +
                    :param unique: Unique identifier for the related child.
         | 
| 377 | 
            +
                    :param update: Determines whether or not time is updated.
         | 
| 378 | 
            +
                    :returns: Boolean indicating whether enough time passed.
         | 
| 379 | 
            +
                    """
         | 
| 380 | 
            +
             | 
| 381 | 
            +
                    return not self.ready(
         | 
| 382 | 
            +
                        unique, update)
         | 
| 383 | 
            +
             | 
| 384 | 
            +
             | 
| 368 385 | 
             
                def create(
         | 
| 369 386 | 
             
                    self,
         | 
| 370 387 | 
             
                    unique: str,
         | 
| @@ -374,7 +391,7 @@ class Timers: | |
| 374 391 | 
             
                    Create a new timer using the provided input parameters.
         | 
| 375 392 |  | 
| 376 393 | 
             
                    :param unique: Unique identifier for the related child.
         | 
| 377 | 
            -
                    :param params: Parameters  | 
| 394 | 
            +
                    :param params: Parameters used to instantiate the class.
         | 
| 378 395 | 
             
                    :returns: Newly constructed instance of related class.
         | 
| 379 396 | 
             
                    """
         | 
| 380 397 |  | 
    
        encommon/times/windows.py
    CHANGED
    
    | @@ -97,7 +97,7 @@ class Windows: | |
| 97 97 | 
             
                >>> [windows.ready('one') for x in range(3)]
         | 
| 98 98 | 
             
                [True, True, False]
         | 
| 99 99 |  | 
| 100 | 
            -
                :param params: Parameters  | 
| 100 | 
            +
                :param params: Parameters used to instantiate the class.
         | 
| 101 101 | 
             
                :param start: Determine the start for scheduling window.
         | 
| 102 102 | 
             
                :param stop: Determine the ending for scheduling window.
         | 
| 103 103 | 
             
                :param store: Optional database path for keeping state.
         | 
| @@ -439,7 +439,7 @@ class Windows: | |
| 439 439 | 
             
                    Create a new window using the provided input parameters.
         | 
| 440 440 |  | 
| 441 441 | 
             
                    :param unique: Unique identifier for the related child.
         | 
| 442 | 
            -
                    :param params: Parameters  | 
| 442 | 
            +
                    :param params: Parameters used to instantiate the class.
         | 
| 443 443 | 
             
                    :returns: Newly constructed instance of related class.
         | 
| 444 444 | 
             
                    """
         | 
| 445 445 |  | 
    
        encommon/types/classes.py
    CHANGED
    
    | @@ -22,7 +22,7 @@ class BaseModel(Pydantic, extra='forbid'): | |
| 22 22 |  | 
| 23 23 |  | 
| 24 24 | 
             
                @property
         | 
| 25 | 
            -
                def  | 
| 25 | 
            +
                def endumped(
         | 
| 26 26 | 
             
                    self,
         | 
| 27 27 | 
             
                ) -> DictStrAny:
         | 
| 28 28 | 
             
                    """
         | 
| @@ -35,7 +35,7 @@ class BaseModel(Pydantic, extra='forbid'): | |
| 35 35 |  | 
| 36 36 |  | 
| 37 37 | 
             
                @property
         | 
| 38 | 
            -
                def  | 
| 38 | 
            +
                def enpruned(
         | 
| 39 39 | 
             
                    self,
         | 
| 40 40 | 
             
                ) -> DictStrAny:
         | 
| 41 41 | 
             
                    """
         | 
    
        encommon/utils/sample.py
    CHANGED
    
    | @@ -16,10 +16,10 @@ from typing import Any | |
| 16 16 | 
             
            from typing import Callable
         | 
| 17 17 | 
             
            from typing import Optional
         | 
| 18 18 |  | 
| 19 | 
            -
            from pydantic import BaseModel
         | 
| 20 19 |  | 
| 21 20 | 
             
            from .files import read_text
         | 
| 22 21 | 
             
            from .files import save_text
         | 
| 22 | 
            +
            from ..types import BaseModel
         | 
| 23 23 | 
             
            from ..types import DictStrAny
         | 
| 24 24 | 
             
            from ..types import rplstr
         | 
| 25 25 |  | 
| @@ -72,7 +72,7 @@ def prep_sample(  # noqa: CFQ004 | |
| 72 72 | 
             
                        return asdict(value)
         | 
| 73 73 |  | 
| 74 74 | 
             
                    if isinstance(value, BaseModel):
         | 
| 75 | 
            -
                        return value. | 
| 75 | 
            +
                        return value.endumped
         | 
| 76 76 |  | 
| 77 77 | 
             
                    return str(value)
         | 
| 78 78 |  | 
    
        encommon/utils/stdout.py
    CHANGED
    
    | @@ -19,11 +19,10 @@ from typing import Optional | |
| 19 19 | 
             
            from typing import TYPE_CHECKING
         | 
| 20 20 | 
             
            from typing import Union
         | 
| 21 21 |  | 
| 22 | 
            -
            from pydantic import BaseModel
         | 
| 23 | 
            -
             | 
| 24 22 | 
             
            from .common import JOINABLE
         | 
| 25 23 | 
             
            from ..times import Duration
         | 
| 26 24 | 
             
            from ..times import Time
         | 
| 25 | 
            +
            from ..types import BaseModel
         | 
| 27 26 | 
             
            from ..types import Empty
         | 
| 28 27 | 
             
            from ..types import clsname
         | 
| 29 28 | 
             
            from ..types.strings import COMMAD
         | 
| @@ -308,7 +307,7 @@ def array_ansi(  # noqa: CFQ001, CFQ004 | |
| 308 307 | 
             
                ) -> None:
         | 
| 309 308 |  | 
| 310 309 | 
             
                    if isinstance(source, BaseModel):
         | 
| 311 | 
            -
                        source = source. | 
| 310 | 
            +
                        source = source.endumped
         | 
| 312 311 |  | 
| 313 312 | 
             
                    if is_dataclass(source):
         | 
| 314 313 | 
             
                        source = asdict(source)
         | 
    
        encommon/version.txt
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0. | 
| 1 | 
            +
            0.17.0
         | 
| @@ -1,26 +1,26 @@ | |
| 1 1 | 
             
            encommon/__init__.py,sha256=YDGzuhpk5Gd1hq54LI0hw1NrrDvrJDrvH20TEy_0l5E,443
         | 
| 2 2 | 
             
            encommon/conftest.py,sha256=pDU0t5M2fMKPFZsbxJ1ty_dxW_BoiyEC7VoNSqNBVHc,1899
         | 
| 3 3 | 
             
            encommon/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 4 | 
            -
            encommon/version.txt,sha256 | 
| 4 | 
            +
            encommon/version.txt,sha256=AtOOmOiPSo3C6kDbt2kzhgEGb8lJILUogqFPIa2X9-4,7
         | 
| 5 5 | 
             
            encommon/colors/__init__.py,sha256=XRiGimMj8oo040NO5a5ZsbsIUxaGVW4tf4xWTPWgnZY,269
         | 
| 6 6 | 
             
            encommon/colors/color.py,sha256=EiUxNbVL1689Cqhw1LmO9ysmN3ulCVtGZGylyV8LuVA,10884
         | 
| 7 7 | 
             
            encommon/colors/test/__init__.py,sha256=PjrnBYT0efyvbaGeNx94dm3tP3EVHUHSVs-VGeLEv5g,218
         | 
| 8 8 | 
             
            encommon/colors/test/test_color.py,sha256=GKYzfnOlb2yKI0qmPDxumkeQNSXpvxTprUV9pAJPV94,4566
         | 
| 9 9 | 
             
            encommon/config/__init__.py,sha256=iZdbW7A4m7iN4xt5cEeQqo0Klqs-CaPLdD5ocLmUYi8,856
         | 
| 10 | 
            -
            encommon/config/config.py,sha256 | 
| 10 | 
            +
            encommon/config/config.py,sha256=-votrrG3pvU3oWrHoIMKu-pPZSC2MpdGz-1RSK6uXtk,6953
         | 
| 11 11 | 
             
            encommon/config/files.py,sha256=dSuShvIbQXFiNmpkwNVHCKDI-phBWC03OJVUfKJnfX0,2433
         | 
| 12 | 
            -
            encommon/config/logger.py,sha256= | 
| 12 | 
            +
            encommon/config/logger.py,sha256=1eAcJ2reIhk1SVhhcfPNiUGtRPj0N3h1e_YHX7w_IKg,14332
         | 
| 13 13 | 
             
            encommon/config/params.py,sha256=FtcWi3-CY6OHLN7o3S-iBktpS1yGt5wLVD0546XEKRY,2223
         | 
| 14 14 | 
             
            encommon/config/paths.py,sha256=6eLhqEXDyNQpwdL6QWNPf060uayuUzXyM6A3ikNC24Q,2585
         | 
| 15 15 | 
             
            encommon/config/utils.py,sha256=jZ9x6Nd7H4XZMSyAFr7mydgIu8P7xBzjHqKzMpmduw0,2127
         | 
| 16 16 | 
             
            encommon/config/test/__init__.py,sha256=Vs5Pca7QBgoyoSjk6DSpO0YFcqkUhap5-VLbaCn8MjA,304
         | 
| 17 | 
            -
            encommon/config/test/test_config.py,sha256= | 
| 17 | 
            +
            encommon/config/test/test_config.py,sha256=uhvkgdW_vRX4MeKlRb4u0lJnpF4sqrgKxUXU97i2LA0,2965
         | 
| 18 18 | 
             
            encommon/config/test/test_files.py,sha256=elw484lZ9pF9fhBhRWQ_xCVjFhQXd0E5BMNaB3cbMAs,2301
         | 
| 19 19 | 
             
            encommon/config/test/test_logger.py,sha256=jj-vX9v4cl0nAqb3lgDoDeDCQMzP63Ip-ek1eIh5bmc,5293
         | 
| 20 20 | 
             
            encommon/config/test/test_paths.py,sha256=f3slZZkJqnFJK4DAFbQSdnUymhap1GXc9eZmS--vNT4,2649
         | 
| 21 21 | 
             
            encommon/config/test/test_utils.py,sha256=RePpMD97HRCTkZ75ES8Eaf6_BOpcw_DknpgCFZGlQYg,1066
         | 
| 22 22 | 
             
            encommon/crypts/__init__.py,sha256=UsGEitz8rWa7DQF3iAxEbTUAbdiEnE87LSuRs4OBeAQ,371
         | 
| 23 | 
            -
            encommon/crypts/crypts.py,sha256= | 
| 23 | 
            +
            encommon/crypts/crypts.py,sha256=gsppdcUAdw7UBGIy28m3-JR7kFcu6wUqc2hyvQ1nqpY,4638
         | 
| 24 24 | 
             
            encommon/crypts/hashes.py,sha256=bpQf2-Ma5SdMaEWP2nL1_9rtEQmTE0XTdDvSD-fQ9Mk,3075
         | 
| 25 25 | 
             
            encommon/crypts/params.py,sha256=2uH_i1NBMlzhq7UtWgX2jsiUGNniOK69eTCeeiQFpdw,1417
         | 
| 26 26 | 
             
            encommon/crypts/test/__init__.py,sha256=PjrnBYT0efyvbaGeNx94dm3tP3EVHUHSVs-VGeLEv5g,218
         | 
| @@ -31,26 +31,26 @@ encommon/times/common.py,sha256=HWgWBbqDoyKHIqeg4bBAZZfRM3499X3WPu8dVCzt_5o,995 | |
| 31 31 | 
             
            encommon/times/duration.py,sha256=LTROiKcRXvPcs2Gz9KaB5Cmxo9NXd3TcMo5-jnTxPo0,10794
         | 
| 32 32 | 
             
            encommon/times/params.py,sha256=qg0mLkXVsl54m72kd9uXRvmYKqUR_Ag5PBfnTsrwQhE,4360
         | 
| 33 33 | 
             
            encommon/times/parse.py,sha256=_PF12z-UOa75SyeUpBXVn7Jjt-c-Pfnzt6pAs_PjXmQ,6496
         | 
| 34 | 
            -
            encommon/times/time.py,sha256= | 
| 35 | 
            -
            encommon/times/timer.py,sha256= | 
| 36 | 
            -
            encommon/times/timers.py,sha256= | 
| 34 | 
            +
            encommon/times/time.py,sha256=mdYl8vDJ0ZbaiH96A1cFHhOn7fExiRnudQJP1M4Xe2E,11746
         | 
| 35 | 
            +
            encommon/times/timer.py,sha256=xxS6KVXFuRLq-RkXWMR7MMX5x0HGrEhLlOhRCecuCZY,3225
         | 
| 36 | 
            +
            encommon/times/timers.py,sha256=ROJzIP0WnYBladc0hFMDOX2m_Hnd4F6rJD8PUxpq_tg,9779
         | 
| 37 37 | 
             
            encommon/times/unitime.py,sha256=pO2I6qaSxR4HN82QSQYX6fo27xTP-n6bW8TahOG8c2k,1179
         | 
| 38 38 | 
             
            encommon/times/utils.py,sha256=PJ5QsKb3_pYEnD3Sz81d8QDhYQtTIj4HJfMoC9gNwmo,3100
         | 
| 39 39 | 
             
            encommon/times/window.py,sha256=tnOPz57cwIXVnOEGh7WPvBPhdjenvw1bYxV4mz721n0,8490
         | 
| 40 | 
            -
            encommon/times/windows.py,sha256= | 
| 40 | 
            +
            encommon/times/windows.py,sha256=LAuM41ttsorhLpYYLgR_zzzkX-tMmpFzS6e_EdYUKoA,10825
         | 
| 41 41 | 
             
            encommon/times/test/__init__.py,sha256=PjrnBYT0efyvbaGeNx94dm3tP3EVHUHSVs-VGeLEv5g,218
         | 
| 42 42 | 
             
            encommon/times/test/test_duration.py,sha256=BZLTggT87HnQcQODHXM50nW8iE-ROZF3aSPfIFddkKQ,4202
         | 
| 43 43 | 
             
            encommon/times/test/test_params.py,sha256=kHvs-WvKfPQCdCDnPU9tAyMVXmzH3eUjwQN-QdWBeh4,1407
         | 
| 44 44 | 
             
            encommon/times/test/test_parse.py,sha256=3Dihhu8xKmgbcq_dqKcO-itAeGtqAJxjGFQ6dPsJ4XM,4210
         | 
| 45 45 | 
             
            encommon/times/test/test_time.py,sha256=CrmC9dY9ROqQqYV_cQHpBPfgsiZBhrppTVfPLbSINnQ,2235
         | 
| 46 | 
            -
            encommon/times/test/test_timer.py,sha256= | 
| 47 | 
            -
            encommon/times/test/test_timers.py,sha256= | 
| 46 | 
            +
            encommon/times/test/test_timer.py,sha256=_Sry94CaQicncjEhM8QniL5IGujMHprCLOy-3UzTqfY,1541
         | 
| 47 | 
            +
            encommon/times/test/test_timers.py,sha256=xHaZcopALER3dbz73OR1C1w2DIqpyEdSGJm_rGT9xt8,3870
         | 
| 48 48 | 
             
            encommon/times/test/test_unitime.py,sha256=5i4UjBCw8R9h-Lw963GfB_dHBMEQhjvv1k-t27Wyyls,510
         | 
| 49 49 | 
             
            encommon/times/test/test_utils.py,sha256=WkzHJY6zOt02Ujg5FItOo1nPtktz5ss8ODmG1tRQaaw,2056
         | 
| 50 50 | 
             
            encommon/times/test/test_window.py,sha256=gNJpWVrwQTnUFQ00OLzWUuvJjWUCoiCwydohr9mevT0,6116
         | 
| 51 51 | 
             
            encommon/times/test/test_windows.py,sha256=IaaxUXqf5n9IF9X0HkRqtCdyOdeCq5DYR1ySLORA9gE,4474
         | 
| 52 52 | 
             
            encommon/types/__init__.py,sha256=_DVoVFJWd-9aCpXtPEaB3CnZ-5gt-uYxMWzquXfXHpg,1047
         | 
| 53 | 
            -
            encommon/types/classes.py,sha256= | 
| 53 | 
            +
            encommon/types/classes.py,sha256=FYFTu8Uj-74JWudHOlhaOrsXXPxitorBfM9_QM3EGSU,1689
         | 
| 54 54 | 
             
            encommon/types/dicts.py,sha256=lC2FmPzMEj9L73jUjf3o6OVQ-LqK_3gp5nBwYibdGfo,2265
         | 
| 55 55 | 
             
            encommon/types/empty.py,sha256=n5y5maXkcM3xNYNYGK6iqvk98ivQSeguaedwc0HoMv4,2739
         | 
| 56 56 | 
             
            encommon/types/lists.py,sha256=4xn1RqS1VMsNnhR-2Xpv4ykB6d2RteFa5zdiWKzo55o,745
         | 
| @@ -58,7 +58,7 @@ encommon/types/notate.py,sha256=0JIzF5VDnQ6C4umZIpgxIvd91gFo3MXTZ7Kp54S538A,6454 | |
| 58 58 | 
             
            encommon/types/strings.py,sha256=LW2WZND64cKE1LhNip3vqsoP3elLsUP6cpS0dYnUKGE,2800
         | 
| 59 59 | 
             
            encommon/types/types.py,sha256=DbzdDLLclD1Gk8bmyhDUUWVDnJ5LdaolLV3JYKHFVgA,322
         | 
| 60 60 | 
             
            encommon/types/test/__init__.py,sha256=UIyNazTlIIdUzQS0brlD7hCPN_LYw_J6Ucxm8wh3cPU,789
         | 
| 61 | 
            -
            encommon/types/test/test_classes.py,sha256= | 
| 61 | 
            +
            encommon/types/test/test_classes.py,sha256=CjthMInwz5WB7aTc7-GpzgcYAvkF9dRmC6nXJVoE91k,1475
         | 
| 62 62 | 
             
            encommon/types/test/test_dicts.py,sha256=-RLkcyexCXGSyJyPx1e3QU8sNXEgtSvD9pZakdOwVvg,2702
         | 
| 63 63 | 
             
            encommon/types/test/test_empty.py,sha256=LVsZbKOg0deyKOtg_0Fhf0b_0c94LftwdDhijna-FbA,995
         | 
| 64 64 | 
             
            encommon/types/test/test_lists.py,sha256=RXvIQvr1nODutPBRx5hMsPRq_10AzBWF594KINoMgU8,437
         | 
| @@ -69,16 +69,16 @@ encommon/utils/common.py,sha256=-bjGJ2UJa-WTOsVYiuZcVj1gkyH5OlRdRkJtxPw8J6k,555 | |
| 69 69 | 
             
            encommon/utils/files.py,sha256=2uj10JfvKZHdLHNF992_LUvQ4rfMRCZGqJd7LrxKDnE,1458
         | 
| 70 70 | 
             
            encommon/utils/match.py,sha256=XvmmMKQ1q8_21zzPGuVvaZf6XwHXPZn4IWIYBEqVCQM,2471
         | 
| 71 71 | 
             
            encommon/utils/paths.py,sha256=u8-vTONG3QdnpkKfVpl19WssH95bCHg1gHlnRwzyAFM,3509
         | 
| 72 | 
            -
            encommon/utils/sample.py,sha256= | 
| 73 | 
            -
            encommon/utils/stdout.py,sha256= | 
| 72 | 
            +
            encommon/utils/sample.py,sha256=wcT_me9L-U6atd8kEew4q_4B-iIn8vV1LhEDoVr-cFw,4834
         | 
| 73 | 
            +
            encommon/utils/stdout.py,sha256=aYNX_Ey9sSwnsfAT8VmRs_Kz0sz9n6gtuR_9Recaa64,8569
         | 
| 74 74 | 
             
            encommon/utils/test/__init__.py,sha256=PjrnBYT0efyvbaGeNx94dm3tP3EVHUHSVs-VGeLEv5g,218
         | 
| 75 75 | 
             
            encommon/utils/test/test_files.py,sha256=-hdl4UOo-vH1H5gTL1r9Ib3P26DtWaD2YV32P08ykvc,679
         | 
| 76 76 | 
             
            encommon/utils/test/test_match.py,sha256=QagKpTFdRo23-Y55fSaJrSMpt5jIebScKbz0h8tivrI,1124
         | 
| 77 77 | 
             
            encommon/utils/test/test_paths.py,sha256=4AzIhQyYFEWhRWHgOZCCzomQ3Zs3EVwRnDQDa6Nq1Mc,1942
         | 
| 78 78 | 
             
            encommon/utils/test/test_sample.py,sha256=Qf-W0XbjTe5PfG87sdVizL2ymUPRTdX0qQtLGHaTgx8,3539
         | 
| 79 79 | 
             
            encommon/utils/test/test_stdout.py,sha256=fYiqEaUraD-3hFQYLxMPR4Ti_8CbTjEc8WvReXUA884,6139
         | 
| 80 | 
            -
            encommon-0. | 
| 81 | 
            -
            encommon-0. | 
| 82 | 
            -
            encommon-0. | 
| 83 | 
            -
            encommon-0. | 
| 84 | 
            -
            encommon-0. | 
| 80 | 
            +
            encommon-0.17.0.dist-info/LICENSE,sha256=otnXKCtMjPlbHs0wgZ_BWULrp3g_2dWQJ6icRk9nkgg,1071
         | 
| 81 | 
            +
            encommon-0.17.0.dist-info/METADATA,sha256=ieo8193Z8YtT8np40oSLNq-qST2PJzp5QMtxozJ9CIY,3362
         | 
| 82 | 
            +
            encommon-0.17.0.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
         | 
| 83 | 
            +
            encommon-0.17.0.dist-info/top_level.txt,sha256=bP8q7-5tLDNm-3XPlqn_bDENfYNug5801H_xfz3BEAM,9
         | 
| 84 | 
            +
            encommon-0.17.0.dist-info/RECORD,,
         | 
| 
            File without changes
         | 
| 
            File without changes
         |