Skip to content

Serialize elapsed time of functions, loops and code blocks

License

Notifications You must be signed in to change notification settings

kephircheek/python-timeti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

timeti

Serialize elapsed time of functions, loops and code blocks.

test PyPI version license: MIT code style: black

Experience

Install

pip install timeti

Usage

  • Profile function with decorator

    >>> @timeti.profiler
    ... def ultimative_question(*args, **kwargs):
    ...     sum(range(100_000))
    ... 
    >>> ultimative_question()
    Elapsed time of 'ultimative_question' function: 4 ms
  • Profile loop with wrap

    >>> for i in timeti.profiler(range(2)):
    ...     _ = sum(range(100_000))
    ... 
    Elapsed time of loop iteration 0: 4 ms
    Elapsed time of loop iteration 1: 3 ms
    Elapsed time of loop: 8 ms
  • Profile code blocks with context manager

    >>> with timeti.profiler():
    ...     _ = sum(range(100_000))
    ... 
    Elapsed time of block: 5 ms

Development

Install

pip install -e ".[dev]"

Run linters

  • Format Python code with black

    python -m black .
    
  • Check types with mypy

    python -m mypy .
    
  • Sort imports alphabetically with isort

    python -m isort .
    
  • Analyze Python docstring with pydocstyle

    python -m pydocstyle .
    

Run tests

  • Run tests

    python -m unittest discover -s tests  
    
  • Run doctests for clock face

    python -m doctest -v timeti/clockface.py  
    

About

Serialize elapsed time of functions, loops and code blocks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages