Code Monkey home page Code Monkey logo

pyprind's Introduction

PyPI version License Python 2.7 Python 3.4

PyPrind (Python Progress Indicator)

The PyPrind (Python Progress Indicator) module provides a progress bar and a percentage indicator object that let you track the progress of a loop structure or other iterative computation.
Typical applications include the processing of large data sets to provide an intuitive estimate at runtime about the progress of the computation.


Progress Bars and Percentage Indicators

Screenshot of PyPrind executed in an IPython notebook



Screenshot of PyPrind executed in an IPython notebook

Choose Your Favorite Bar Style

Screenshot of PyPrind executed in an IPython notebook

###View more examples in an IPython Demo Notebook






Installation

[back to top]

The most convenient way to install PyPrind is via tools like pip or easy_install:

  • pip install pyprind

  • easy_install pyprind

PyPrind comes without any dependencies except for the optional psutil to monitor CPU and memory usages. You can install psutil via pip install pyprind or install it automatically with PyPrind:
pip install pyprind -r requirements.txt

Alternatively, you can install PyPrind the classic way: Download the package from the Python Package Index https://pypi.python.org/pypi/PyPrind, unzip it, navigate into the unzipped directory, and use the command

python setup.py install




Documentation

[back to top]

PyPrind consists of two class objects that can visualize the progress of a computation on the output screen.
Progress bars are available via ProgBar, and percentage indicators can be used via a ProgPercent.

n = 10000000
bar = pyprind.ProgBar(n)   # 1) initialization with number of iterations
for i in range(n):
	# do some computation
	bar.update()           # 2) update the progress visualization

Alternatively, the progress can be tracked via the equivalent generator functions prog_bar and prog_percent:

for i in pyprind.prog_bar(range(n)):
	# do something
	pass

Complete Parameter List for ProgBar Objects

class ProgBar(Prog):
    """
    Initializes a progress bar object that allows visuzalization
    of an iterational computation in the standard output screen.

    Parameters
    ----------
    iterations : `int`
      Number of iterations for the iterative computation.

    track_time : `bool` (default = `True`)
      Prints elapsed time when loop has finished.

    width : `int` (default = 30)
      Sets the progress bar width in characters.

    stream : `int` (default = 2).
      Setting the output stream.
      Takes `1` for stdout, `2` for stderr, or a custom stream object

    title : `str` (default = `''`).
      Setting a title for the progress bar.

    monitor : `bool` (default = False)
      Monitors CPU and memory usage if `True` (requires `psutil` package).  

    """

Complete Parameter List for ProgPercent Objects

class ProgPercent(Prog):    
    """
    Initializes a progress bar object that allows visuzalization
    of an iterational computation in the standard output screen.

    Parameters
    ----------
    iterations : `int`
      Number of iterations for the iterative computation.

    track_time : `bool` (default = `True`)
      Prints elapsed time when loop has finished.

    stream : `int` (default = 2).
      Setting the output stream.
      Takes `1` for stdout, `2` for stderr, or a custom stream object

    title : `str` (default = `''`).
      Setting a title for the percentage indicator.

    monitor : `bool` (default = False)
      Monitors CPU and memory usage if `True` (requires `psutil` package).  

    """




Examples

[back to top]

Examples for using the progress bar and percentage indicator objects can be found in the IPython Demo Notebook.




Contact

[back to top]

If you have any questions or comments about PyPrind, please feel free to contact me via
eMail: [email protected]
or Twitter: @rasbt

The pyprind module is available on GitHub at https://github.com/rasbt/pyprind.

pyprind's People

Contributors

rasbt avatar div44 avatar taylan avatar ktolstikhin avatar maikelwever avatar bluewoodtree avatar eeeeeric avatar msabramo avatar hwmrocker avatar

Watchers

James Cloos avatar Brandon Moore 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.