DisplayFX 2.2.1
Display progress indicator on CRT screen.
Requires Python: >=3.10

# displayfx

| **Category** | **Status' and Links**                                                                                                                                                             |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| General      | [![][general_maintenance_y_img]][general_maintenance_y_lnk] [![][general_semver_pic]][general_semver_link] [![][general_license_img]][general_license_lnk]                        |
| CD/CI        | [![][cicd_codestyle_img]][cicd_codestyle_lnk] [![][codecov_img]][codecov_lnk]                                                                                                     |
| PyPI         | [![][pypi_release_img]][pypi_release_lnk] [![][pypi_py_versions_img]][pypi_py_versions_lnk] [![][pypi_format_img]][pypi_format_lnk] [![][pypi_downloads_img]][pypi_downloads_lnk] |
| Github       | [![][gh_issues_img]][gh_issues_lnk] [![][gh_language_img]][gh_language_lnk] [![][gh_last_commit_img]][gh_last_commit_lnk]                                                         |

# Overview

DisplayFX is a Python library that provides a simple and effective text-based progress indicator for console applications. It is particularly useful for long-running tasks where visual feedback on progress is needed.

### Key Features

- **Text-based Progress Bar**: Visualizes progress using characters in the terminal.
- **Percentage Markers**: Automatically places markers (e.g., 20%, 40%, etc.) along the bar.
- **Customizable**: Allows configuration of the progress bar length and the message displayed alongside it.
- **Lightweight**: Minimal dependencies, primarily relying on `beetools`.

## Installation

You can install DisplayFX via pip:

```bash
pip install displayfx
```

Or using poetry:

```bash
poetry add displayfx
```

## Usage

Here is a simple example of how to use DisplayFX in your project:

```python
import time
from displayfx import DisplayFx

# Define the maximum value (total steps)
max_val = 100

# Initialize DisplayFx
# p_msg: The message to display before the progress bar
# p_bar_len: The length of the progress bar in characters
progress_bar = DisplayFx(p_max_val=max_val, p_msg="Processing items: ", p_bar_len=50)

# Simulate a process
for i in range(max_val):
    # Perform your task here
    time.sleep(0.05)

    # Update the progress bar with the current index
    progress_bar.update(i)
```

## Requirements

- Python >= 3.10
- `beetools` (>=5.2.4)

[cicd_codestyle_img]: https://img.shields.io/badge/code%20style-black-000000.svg "Black"
[cicd_codestyle_lnk]: https://github.com/psf/black "Black"
[codecov_img]: https://img.shields.io/codecov/c/gh/BrightEdgeeServices/displayfx "CodeCov"
[codecov_lnk]: https://app.codecov.io/gh/BrightEdgeeServices/displayfx "CodeCov"
[general_license_img]: https://img.shields.io/pypi/l/displayfx "License"
[general_license_lnk]: https://github.com/BrightEdgeeServices/displayfx/blob/master/LICENSE "License"
[general_maintenance_y_img]: https://img.shields.io/badge/Maintenance%20Intended-%E2%9C%94-green.svg?style=flat-square "Maintenance - intended"
[general_maintenance_y_lnk]: http://unmaintained.tech/ "Maintenance - intended"
[general_semver_link]: https://semver.org/ "Sentic Versioning - 2.0.0"
[general_semver_pic]: https://img.shields.io/badge/Semantic%20Versioning-2.0.0-brightgreen.svg?style=flat-square "Sentic Versioning - 2.0.0"
[gh_issues_img]: https://img.shields.io/github/issues-raw/BrightEdgeeServices/displayfx "GitHub - Issue Counter"
[gh_issues_lnk]: https://github.com/BrightEdgeeServices/displayfx/issues "GitHub - Issue Counter"
[gh_language_img]: https://img.shields.io/github/languages/top/BrightEdgeeServices/displayfx "GitHub - Top Language"
[gh_language_lnk]: https://github.com/BrightEdgeeServices/displayfx "GitHub - Top Language"
[gh_last_commit_img]: https://img.shields.io/github/last-commit/BrightEdgeeServices/displayfx/master "GitHub - Last Commit"
[gh_last_commit_lnk]: https://github.com/BrightEdgeeServices/displayfx/commit/master "GitHub - Last Commit"
[pypi_downloads_img]: https://img.shields.io/pypi/dm/displayfx "Monthly downloads"
[pypi_downloads_lnk]: https://pypi.org/project/displayfx/ "Monthly downloads"
[pypi_format_img]: https://img.shields.io/pypi/wheel/displayfx "PyPI - Format"
[pypi_format_lnk]: https://pypi.org/project/displayfx/ "PyPI - Format"
[pypi_py_versions_img]: https://img.shields.io/pypi/pyversions/displayfx "PyPI - Supported Python Versions"
[pypi_py_versions_lnk]: https://pypi.org/project/displayfx/ "PyPI - Supported Python Versions"
[pypi_release_img]: https://img.shields.io/pypi/v/displayfx "Test status"
[pypi_release_lnk]: https://pypi.org/project/displayfx/ "Test status"