diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 09:49:07 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 09:49:07 +0000 |
| commit | e99ed0068365282154934cead924da697325fd99 (patch) | |
| tree | 22ccb13a4baf598effa5873d46a828393217d91c | |
| parent | 247f40a31be0d05245240d43bc67dedf21217322 (diff) | |
automatic import of python-ttictocopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-ttictoc.spec | 477 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 479 insertions, 0 deletions
@@ -0,0 +1 @@ +/ttictoc-0.5.6.tar.gz diff --git a/python-ttictoc.spec b/python-ttictoc.spec new file mode 100644 index 0000000..1389ba5 --- /dev/null +++ b/python-ttictoc.spec @@ -0,0 +1,477 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ttictoc +Version: 0.5.6 +Release: 1 +Summary: Time parts of your code easily. +License: MIT +URL: https://github.com/hector-sab/ttictoc +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/57/d6/491931c4a621bbbc7d3731669be92766c6d5da9219d982b09c495ac9e5f4/ttictoc-0.5.6.tar.gz +BuildArch: noarch + + +%description +# ttictoc +Time execution of blocks of code. + +## +Tested against python 3.6, python 3.7, and 3.8 + +## How to install +From pip +``` +pip install ttictoc +``` +or download this repo and do +``` +pip install . +``` + +## TicToc +The easiest way to time something is with `tic` and `toc` + +```python +import time +from ttictoc import tic,toc +tic() +time.sleep(1) +elapsed = toc() +print('Elapsed time:',elapsed) +``` + +You can execute multiple tocs in a matlab-like fashon +``` +import time +from ttictoc import tic,toc +tic() +for i in range(2): + tic() + time.sleep(1) + elapsed = toc() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',toc()) +``` + +## Timer Class +It works just like `tic`,`toc`. +```python +import time +from ttictoc import Timer + +# Simple +t = Timer() +t.start() +time.sleep(1) +elapsed = t.stop() +print('Elapsed time:',elapsed) + + +# Nested +t.start() +for i in range(2): + t.start() + time.sleep(1) + elapsed = t.stop() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',t.stop()) +``` + +## Context manager +You can also use it as context manager +```python +import time +from ttictoc import Timer + +# Default +with Timer(): + time.sleep(1) + +# With out verbose +with Timer(verbose=False) as T: + time.sleep(1) +print('Elapsed time:',T.elapsed) + +# With default verbose message +with Timer(verbose_msg=f'[User msg][{time.time()}] Elapsed time: {{}}'): + time.sleep(1) +``` + +## Deactivating matlab-like nesting +You can deactivate the matlab-like nesting. In this case calling start will update the global starting time for toc. However, you can have nested tics by giving a `key` to start and stop. +```python +import time +from ttictoc import Timer,tic2,toc2 + +tic2() +for i in range(2): + tic2() + time.sleep(1) + elapsed = toc2() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',toc2()) + +t = Timer(matlab_like=False) +t.start() +time.sleep(1) +t.start() # Restarts the starting point +time.sleep(1) +elapsed = t.stop() +print('Elapsed time:',elapsed) # ~1 second + +# Nested +t.start(key='Init') +for i in range(2): + t.start(key=i) + time.sleep(1) + elapsed = t.stop(key=i) + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',t.stop('Init')) + + +print('\n[OUT LOOP][Init] Elapsed time:',t.stop('Init')) +print('[OUT LOOP][0] Elapsed time:',t.stop(0)) +print('[OUT LOOP][1] Elapsed time:',t.stop(1)) +``` + +## Specify timing method +By default, `Timer` (and `tic`,`toc`) use `timeit.default_timer`. However, the timing function can be selected as follow. +```python +import time +from ttictoc import Timer +t = Timer(func_time=time.clock) +t.start() +time.sleep(5) +elapsed = t.stop() +print('Elapsed time:',elapsed) +``` + + + + +%package -n python3-ttictoc +Summary: Time parts of your code easily. +Provides: python-ttictoc +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ttictoc +# ttictoc +Time execution of blocks of code. + +## +Tested against python 3.6, python 3.7, and 3.8 + +## How to install +From pip +``` +pip install ttictoc +``` +or download this repo and do +``` +pip install . +``` + +## TicToc +The easiest way to time something is with `tic` and `toc` + +```python +import time +from ttictoc import tic,toc +tic() +time.sleep(1) +elapsed = toc() +print('Elapsed time:',elapsed) +``` + +You can execute multiple tocs in a matlab-like fashon +``` +import time +from ttictoc import tic,toc +tic() +for i in range(2): + tic() + time.sleep(1) + elapsed = toc() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',toc()) +``` + +## Timer Class +It works just like `tic`,`toc`. +```python +import time +from ttictoc import Timer + +# Simple +t = Timer() +t.start() +time.sleep(1) +elapsed = t.stop() +print('Elapsed time:',elapsed) + + +# Nested +t.start() +for i in range(2): + t.start() + time.sleep(1) + elapsed = t.stop() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',t.stop()) +``` + +## Context manager +You can also use it as context manager +```python +import time +from ttictoc import Timer + +# Default +with Timer(): + time.sleep(1) + +# With out verbose +with Timer(verbose=False) as T: + time.sleep(1) +print('Elapsed time:',T.elapsed) + +# With default verbose message +with Timer(verbose_msg=f'[User msg][{time.time()}] Elapsed time: {{}}'): + time.sleep(1) +``` + +## Deactivating matlab-like nesting +You can deactivate the matlab-like nesting. In this case calling start will update the global starting time for toc. However, you can have nested tics by giving a `key` to start and stop. +```python +import time +from ttictoc import Timer,tic2,toc2 + +tic2() +for i in range(2): + tic2() + time.sleep(1) + elapsed = toc2() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',toc2()) + +t = Timer(matlab_like=False) +t.start() +time.sleep(1) +t.start() # Restarts the starting point +time.sleep(1) +elapsed = t.stop() +print('Elapsed time:',elapsed) # ~1 second + +# Nested +t.start(key='Init') +for i in range(2): + t.start(key=i) + time.sleep(1) + elapsed = t.stop(key=i) + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',t.stop('Init')) + + +print('\n[OUT LOOP][Init] Elapsed time:',t.stop('Init')) +print('[OUT LOOP][0] Elapsed time:',t.stop(0)) +print('[OUT LOOP][1] Elapsed time:',t.stop(1)) +``` + +## Specify timing method +By default, `Timer` (and `tic`,`toc`) use `timeit.default_timer`. However, the timing function can be selected as follow. +```python +import time +from ttictoc import Timer +t = Timer(func_time=time.clock) +t.start() +time.sleep(5) +elapsed = t.stop() +print('Elapsed time:',elapsed) +``` + + + + +%package help +Summary: Development documents and examples for ttictoc +Provides: python3-ttictoc-doc +%description help +# ttictoc +Time execution of blocks of code. + +## +Tested against python 3.6, python 3.7, and 3.8 + +## How to install +From pip +``` +pip install ttictoc +``` +or download this repo and do +``` +pip install . +``` + +## TicToc +The easiest way to time something is with `tic` and `toc` + +```python +import time +from ttictoc import tic,toc +tic() +time.sleep(1) +elapsed = toc() +print('Elapsed time:',elapsed) +``` + +You can execute multiple tocs in a matlab-like fashon +``` +import time +from ttictoc import tic,toc +tic() +for i in range(2): + tic() + time.sleep(1) + elapsed = toc() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',toc()) +``` + +## Timer Class +It works just like `tic`,`toc`. +```python +import time +from ttictoc import Timer + +# Simple +t = Timer() +t.start() +time.sleep(1) +elapsed = t.stop() +print('Elapsed time:',elapsed) + + +# Nested +t.start() +for i in range(2): + t.start() + time.sleep(1) + elapsed = t.stop() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',t.stop()) +``` + +## Context manager +You can also use it as context manager +```python +import time +from ttictoc import Timer + +# Default +with Timer(): + time.sleep(1) + +# With out verbose +with Timer(verbose=False) as T: + time.sleep(1) +print('Elapsed time:',T.elapsed) + +# With default verbose message +with Timer(verbose_msg=f'[User msg][{time.time()}] Elapsed time: {{}}'): + time.sleep(1) +``` + +## Deactivating matlab-like nesting +You can deactivate the matlab-like nesting. In this case calling start will update the global starting time for toc. However, you can have nested tics by giving a `key` to start and stop. +```python +import time +from ttictoc import Timer,tic2,toc2 + +tic2() +for i in range(2): + tic2() + time.sleep(1) + elapsed = toc2() + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',toc2()) + +t = Timer(matlab_like=False) +t.start() +time.sleep(1) +t.start() # Restarts the starting point +time.sleep(1) +elapsed = t.stop() +print('Elapsed time:',elapsed) # ~1 second + +# Nested +t.start(key='Init') +for i in range(2): + t.start(key=i) + time.sleep(1) + elapsed = t.stop(key=i) + print('[IN LOOP] Elapsed time:',elapsed) +print('[OUT LOOP] Elapsed time:',t.stop('Init')) + + +print('\n[OUT LOOP][Init] Elapsed time:',t.stop('Init')) +print('[OUT LOOP][0] Elapsed time:',t.stop(0)) +print('[OUT LOOP][1] Elapsed time:',t.stop(1)) +``` + +## Specify timing method +By default, `Timer` (and `tic`,`toc`) use `timeit.default_timer`. However, the timing function can be selected as follow. +```python +import time +from ttictoc import Timer +t = Timer(func_time=time.clock) +t.start() +time.sleep(5) +elapsed = t.stop() +print('Elapsed time:',elapsed) +``` + + + + +%prep +%autosetup -n ttictoc-0.5.6 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-ttictoc -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.6-1 +- Package Spec generated @@ -0,0 +1 @@ +dd131b381cba6c2f89cbcc9526ac655d ttictoc-0.5.6.tar.gz |
