Skip to main content

Simple, easy-to-use loading sequence/progress bar module.

Project description

PyLoadBar

Minimalist load sequence/progress bar module.


About

  • Useful for small intermittant pauses between console text returns, or code actions.

  • Customizable/optional loading and completion messages available to print to console (stdout).

    • Loading message defaults to "Loading...".
    • Completion message defaults to "Done!".
  • Includes an optional progress meter (simply change the enable_display: bool parameter to False if you wish to disable the progress meter), toggled on by default.


Installing PyLoadBar

Using pip

Easiest method. Highly recommended over manual installation.

  • Run the following to install:

    pip install PyLoadBar
    
  • You should now be able to import PyLoadBar directly to your application.


Manual Installation

Not recommended.

  1. Download source code .zip archive from the PyLoadBar GitHub releases page and extract contents to desired location.
  • OR:
  1. Clone repository with the git client of your preference with:

    • gh repo clone schlopp96/PyLoadBar
  2. Navigate to directory containing extracted contents, and open said folder within a terminal.

  3. Enter pip install -r requirements.txt to install all dependencies for this package.

  4. Finally, move the "PyLoadBar-vx.x.x" directory to your global Python 3rd-party package installation directory to be able to import PyLoadBar like any other module:

    • "~Python/Lib/site-packages/HERE"
  5. Done!


Usage

  • Within a .py project, simply import the PyLoadBar module to start using your custom loading sequence.

  • PyLoadBar is very simple to use.

    • For example, try running the following:
>>> from PyLoadBar import PyLoadBar

>>> bar = PyLoadBar() # Initialize a new `PyLoadBar` instance.

>>> def add50(x):
        bar.load(msg_loading='Adding 50 to x', msg_complete='Okay!', time=30, label='Solving', enable_display=True) # Call `load` method to start loading sequence.
        return x + 50

>>> print(add50(50))
  • This will return:
Adding 50 to x...

Solving: 100%|âˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆ| 5/5 [00:00<00:00,  8.94it/s].

Okay!

100
  • The loading and loading complete messages can be customized by passing custom strings to the msg_loading: str and msg_complete: str parameters respectively.

  • Note that the progress bar can be toggled using the enable_display: bool parameter.

  • The time taken to complete the loading sequence can be determined using the time: int parameter.

    • Each unit of time is equivalent to 1/10th of a second.
    • Every 10 units = 1 second.
      • e.g. load(time=5) (default) would take 0.5 seconds to fill the progress bar.
  • You may also label the progress bar with the label: str parameter (defaults to None).

  • Example:

    >>> from PyLoadBar import PyLoadBar
    
    >>> important_bar = PyLoadBar() # Initialize a new `PyLoadBar` instance.
    
    >>> important_bar.load('Important Stuff Happening', 'Day Saved!', 50, 'Saving Day') # Call `load` method to start loading sequence.
    
    Important Stuff Happening...
    
    Saving Day: 100%|âˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆâˆ| 50/50 [00:05<00:00,  9.19it/s]
    
    Day Saved!
    

Contributing to PyLoadBar

  • If you wish to help contribute to this project, please run the following in your virtual env to acquire the necessary dependencies and tools you need to develop and run tests:
pip install PyLoadBar[dev]

Contact

  • If you have any questions, comments, or concerns that cannot be addressed through the project's GitHub repository, please feel free to contact me through my email address:

    • schloppdaddy@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyLoadBar-0.0.8.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

PyLoadBar-0.0.8-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file PyLoadBar-0.0.8.tar.gz.

File metadata

  • Download URL: PyLoadBar-0.0.8.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.64.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.4

File hashes

Hashes for PyLoadBar-0.0.8.tar.gz
Algorithm Hash digest
SHA256 298855b4c2af5bee17d63daac2947a05f96e10cf81cd98f3dfecf3fdadccbee8
MD5 0e31e8206721886f8a851c2066de66c9
BLAKE2b-256 d5c5bca8a151459043c89165342d87ecd5c0a9aeae6358d70b9cbbbdbdc91a8e

See more details on using hashes here.

Provenance

File details

Details for the file PyLoadBar-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: PyLoadBar-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.64.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.4

File hashes

Hashes for PyLoadBar-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 839d927405b72d5bc1ef6596504e801ae08592a61d2d487481e63cfaf7f62c11
MD5 c152a255d994e82e21cf07742edab9ae
BLAKE2b-256 01424811a1b0404e251b00e2b392dca575757d9807bef33591df8f661d09255f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page