Helpful functions for python.
Project description
Collection of useful python functions/features.
Installation
pip install danpy
Installation from GitHub
git clone https://github.com/danhagen/danpy.git && cd danpy
pip install -r requirements.txt
pip install .
Statusbar for Python for/while
loops with danpy.sb
This helpful statusbar can be used with for/while
loops to keep track of how much time has elapsed as well as how much time remains. Simply place inside the loop (after initializing the statusbar -- dsb
) and update
with the current timestep (i). A title
can be added to the statusbar to keep track of individual function/loops and it is recommended that any function that runs a loop uses arbitrary_function_name.__name__
to automatically assign an appropriate title.
Initialize statusbar before running a for/while loop.
from danpy.sb import *
from time import sleep
statusbar = dsb()
number_of_loops = 10
for i in range(number_of_loops):
sleep(0.5)
statusbar.update(i,number_of_loops,title="Test Loop")
It is useful to either reset
the statusbar instance. However, loops run in succession will automatically reset if the loops are of the same size.
from danpy.sb import *
from time import sleep
statusbar = dsb()
number_of_inside_loops = 10
number_of_outside_loops = 3
for j in range(number_of_outside_loops):
for i in range(number_of_inside_loops):
sleep(0.5)
statusbar.update(i,number_of_inside_loops,title="Testing Loop-D-Loops")
number_of_additional_loops = 10
for i in range(number_of_additional_loops):
sleep(0.5)
statusbar.update(i,number_of_additional_loops,title="Test Another Loop")
Resetting Statusbar
from danpy.sb import *
from time import sleep
statusbar = dsb()
number_of_loops = 10
for i in range(number_of_loops):
sleep(0.5)
statusbar.update(i,number_of_loops,title="Testing One Loop")
statusbar.reset()
a_different_number_of_loops = 20
for i in range(a_different_number_of_loops):
sleep(0.5)
statusbar.update(i,a_different_number_of_loops,title="Test A Different Loop")
Using while
Loops
If using a while
loop, the statusbar will still update, but depending on the nature of the code in the loop, the extrapolation to determine time remaining may be off.
from danpy.sb import *
from time import sleep
statusbar = dsb()
count = 0
number_of_loops = 10
while count<number_of_loops:
sleep(0.5)
statusbar.update(count,number_of_loops,Title="Testing One Loop")
count+=1
Only compatible with while loops that utilize a count
metric where the loop continues while count<number_of_loops
. The "<" ensures that the statusbar terminates at 100%. If you use "<=" then the input to the statusbar will be statusbar.update(i,number_of_loops+1,**kwargs)
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file danpy-0.1.2.tar.gz
.
File metadata
- Download URL: danpy-0.1.2.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70a75019cd340ff31df8ff1eef06115f1936a7e8c9046f33d1a66f6acc4e0c15 |
|
MD5 | ba4665f62829ade11edd236e0377da60 |
|
BLAKE2b-256 | cf73f85968b9a78e93c8b32c29569da4262e10a2eed3ae1317c6cea3aa1d9661 |
File details
Details for the file danpy-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: danpy-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed45e4f779bb195fbe7b6ada34af748be06caad9203e694bd35fa3da3d2bdc38 |
|
MD5 | 55d255f475aea78104678f2adbccee62 |
|
BLAKE2b-256 | 0f480db224e0e9ce970356f0010cbb151af52a6cd18d9fd3c1399bbe5d8b5d2f |