Giter VIP home page Giter VIP logo

consloadingbar's Introduction

Progress Indicators for Python

pypi

demo

Backwards Compatible Since 3.0.0

Note: Please report bugs, give feedback, and make suggestions on my github page

Import

Imported simply:

import consloadingbar, time # time import is not required, but will be used for eta calculation later

Built-In Demo

You can use demo.py, or call SimulateTasks() to see another bult-in demo class. You can read more about how this class works in the full docs here.

clb = consloadingbar.SimulateTasks()

Progress Indicators

There are 4 indicators to choose from:

  • progressBar
  • progressChar
  • spinner
  • counter

ProgressBar()

Global Params

Name Description Type Default
barLength Length of bar in characters int 20
useETACalculation Stall bar depending on current eta boolean False
taskCount Total amount of tasks displayed int None
mainBarChar Character of the filled-in bar string '█'
progressPointBarChar Last character of the filled-in bar string None
endPointChars Suffix and prefix of the bar list ['|', '|']
title Title to show when the bar is running string 'Running...'
emptyBarChar Character for the non-filled-in bar string ' '
maxValue Max value the bar reaches float 100
maxValueLabel Unit for the current value string '%'

Local Params

Name Description Type Default
percentage Current percentage complete int
time_ Current time passed since start, used for eta calculations float None
tasksDone How many tasks done to display int 0
lazyLoad If used, only updates when needed, no tasks or eta displayed int-bool None
returnString Return a string value of the bar instead of printing to the console boolean False

You can use the params from Bar() to customize the look of the bar (see demo) and the params from the method for iter-specific things like current percentage.

clb = consloadingbar.Bar(useColor=True, taskCount=10)

start = time.time()

for i in range(101):
    currentTime = time.time() - start
    # Do something. For demo purposes you can sleep the program for about 0.01 seconds.
    clb.progressBar(i, time_=currentTime, tasksDone=i//10)

This will display tasks and eta. You can also call the start() method for multiline titles:

clb.start()
Running...
        |                    |   0%  [tasks=0/10]

Or you can use the end() method to show a full bar. This example has useColor enabled.

clb.end()
Finished
        |████████████████████| 100%  [tasks=10/10]

ProgressChar()

Name Description Type Default
index Index of phases to print integer
phases List of characters that the index calls from list [' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█']
title Title to show while running string 'Loading'

This shows a character for progress. Like spinner but has a sense of completion.

clb = consloadingbar.Bar()

clb.progressChar(1) # Will run for 2 seconds
Loading ▁

Spinner()

Name Description Type Default
stop() Used if on a seperate thread to call on main to stop func-bool False
time_ Instead you can hardcode how long it should take float None
title Title to display while running string 'Loading'
phases A list of values to loop through to display list ['
returnString Used if you want to return the string value instead of print boolean False

As seen in the demo, you can do lots. Here are a couple examples that are shown in the demo:

clb = consloadingbar.Bar()

clb.spinner(time_=2)
clb.spinner(time_=4.7, phases='preset')

This last one uses a preset, and the preset takes about 4.7 seconds to complete once.

Counter()

Name Description Type Default
totalTime Total time for completion float
start Start number float
end End number float
title Title to display string 'Loading'

Here is how to count up and count down in 2 seconds each:

clb = consloadingbar.Bar()

clb.counter(2, start=0, end=100)
clb.counter(2, start=100, end=0)

This will count up to 100, then back down to 0


Installation

Install via pip using pip install ConsLoadingBar.

pip install ConsLoadingBar

To make sure you have the current version you can use this command instead:

pip install --upgrade ConsLoadingBar

You can also directly call the module from python:

python3 -m pip install ConsLoadingBar

License

ConsLoadingBar is licensed under the MIT License

consloadingbar's People

Contributors

ryanwilsond avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.