Metadata-Version: 2.5
Name: tarive
Version: 0.1.0
Summary: Reusable Python toolbox: input helpers, report printers, and automatic getters/setters.
Project-URL: Homepage, https://github.com/Tar-ive/tarive
Project-URL: Repository, https://github.com/Tar-ive/tarive
Author-email: Saksham Tarive <adhsaksham27@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: getters,helpers,setters,toolbox
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# tarive

Personal Python toolbox. Install it, then use it from any project:

```bash
pip install tarive
```

```python
import tarive as tv
from tarive.toolbox import toolbox
```

`toolbox` holds every helper. `tv.toolbox` is the same object.

## Automatic getters and setters

```python
from tarive.toolbox import toolbox

@toolbox.auto_get_set
class Student:
    def __init__(self, name, age, gpa):
        self.__name = name
        self.__age = age
        self.__gpa = gpa

s = Student("Ana", 19, 3.8)
print(s.get_name())   # Ana
s.set_age(20)
```

If you write your own `get_x` / `set_x`, that version is kept and the rest are filled in.

## Input, totals, and reports

```python
from tarive.toolbox import toolbox

weeks = toolbox.get_integer_input("How many weeks? ", 1)
price = toolbox.get_float_input("Price: ", 0)
rate = toolbox.get_float_range_input("Tax rate (%): ", 0, 100)

total = toolbox.update_running_totals(0.0, 10.5)
lo, hi, first = toolbox.track_min_max(0, 0, 15.0, 1)
print(toolbox.print_money(1234.56))          # $1,234.56
toolbox.print_report_header("FINAL REPORT")
```

Also included:

- `get_choice_input`
- `categorize_and_count`
- `build_threshold_advice`
- `check_percentage_threshold`
- `print_separator`
- `print_profit_bar`
- `compute_week_metrics`

See `examples/bookstore_tracker.py` for the original weekly bookstore program rewritten against this library.
