# Helper Library

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)  
[![PyPI](https://img.shields.io/pypi/v/pyhelper-tools-jbhm?style=for-the-badge&label=PyPI&color=blue)](https://pypi.org/project/pyhelper-tools-jbhm/)  

## 🌍 Available Languages

[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)  
[![es](https://img.shields.io/badge/lang-es-yellow.svg)](README.es.md)  
[![fr](https://img.shields.io/badge/lang-fr-blue.svg)](README.fr.md)  
[![de](https://img.shields.io/badge/lang-de-green.svg)](README.de.md)  
[![ru](https://img.shields.io/badge/lang-ru-purple.svg)](README.ru.md)  
[![tr](https://img.shields.io/badge/lang-tr-orange.svg)](README.tr.md)  
[![zh](https://img.shields.io/badge/lang-zh-black.svg)](README.zh.md)  
[![it](https://img.shields.io/badge/lang-it-lightgrey.svg)](README.it.md)  
[![pt](https://img.shields.io/badge/lang-pt-brightgreen.svg)](README.pt.md)  
[![sv](https://img.shields.io/badge/lang-sv-blue.svg)](README.sv.md)  
[![ja](https://img.shields.io/badge/lang-ja-red.svg)](README.ja.md)  
[![ar](https://img.shields.io/badge/lang-ar-brown.svg)](README.ar.md)  
[![af](https://img.shields.io/badge/lang-af-orange.svg)](README.af.md)  
[![sq](https://img.shields.io/badge/lang-sq-blue.svg)](README.sq.md)  
[![am](https://img.shields.io/badge/lang-am-green.svg)](README.am.md)  
[![hy](https://img.shields.io/badge/lang-hy-red.svg)](README.hy.md)  
[![as](https://img.shields.io/badge/lang-as-purple.svg)](README.as.md)  
[![ay](https://img.shields.io/badge/lang-ay-brown.svg)](README.ay.md)  
[![az](https://img.shields.io/badge/lang-az-lightblue.svg)](README.az.md)  
[![bm](https://img.shields.io/badge/lang-bm-darkgreen.svg)](README.bm.md)  
[![eu](https://img.shields.io/badge/lang-eu-pink.svg)](README.eu.md)  
[![be](https://img.shields.io/badge/lang-be-darkblue.svg)](README.be.md)  
[![bn](https://img.shields.io/badge/lang-bn-teal.svg)](README.bn.md)  
[![bho](https://img.shields.io/badge/lang-bho-orange.svg)](README.bho.md)  
[![bs](https://img.shields.io/badge/lang-bs-purple.svg)](README.bm.md)  
[![bg](https://img.shields.io/badge/lang-bg-green.svg)](README.bg.md)  
[![ca](https://img.shields.io/badge/lang-ca-yellow.svg)](README.ca.md)  
[![ceb](https://img.shields.io/badge/lang-ceb-blue.svg)](README.ceb.md)  
[![ny](https://img.shields.io/badge/lang-ny-red.svg)](README.ny.md)  
[![co](https://img.shields.io/badge/lang-co-green.svg)](README.co.md)  
[![hr](https://img.shields.io/badge/lang-hr-blue.svg)](README.hr.md)  
[![cs](https://img.shields.io/badge/lang-cs-red.svg)](README.cs.md)  
[![da](https://img.shields.io/badge/lang-da-purple.svg)](README.da.md)  
[![dv](https://img.shields.io/badge/lang-dv-orange.svg)](README.dv.md)  
[![doi](https://img.shields.io/badge/lang-doi-brown.svg)](README.doi.md)  
[![nl](https://img.shields.io/badge/lang-nl-orange.svg)](README.nl.md)  
[![eo](https://img.shields.io/badge/lang-eo-green.svg)](README.eo.md)  
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)  
[![ee](https://img.shields.io/badge/lang-ee-red.svg)](README.ee.md)  
[![tl](https://img.shields.io/badge/lang-tl-purple.svg)](README.tl.md)  
[![fi](https://img.shields.io/badge/lang-fi-blue.svg)](README.fi.md)  
[![fy](https://img.shields.io/badge/lang-fy-orange.svg)](README.fy.md)  
[![gl](https://img.shields.io/badge/lang-gl-green.svg)](README.gl.md)  
[![ka](https://img.shields.io/badge/lang-ka-red.svg)](README.ka.md)  
[![el](https://img.shields.io/badge/lang-el-blue.svg)](README.el.md)  
[![gn](https://img.shields.io/badge/lang-gn-purple.svg)](README.gn.md)  
[![gu](https://img.shields.io/badge/lang-gu-orange.svg)](README.gu.md)  
[![ht](https://img.shields.io/badge/lang-ht-green.svg)](README.ht.md)  
[![ha](https://img.shields.io/badge/lang-ha-blue.svg)](README.ha.md)  
[![haw](https://img.shields.io/badge/lang-haw-red.svg)](README.haw.md)  
[![iw](https://img.shields.io/badge/lang-iw-purple.svg)](README.iw.md)  
[![hi](https://img.shields.io/badge/lang-hi-orange.svg)](README.hi.md)  
[![hmn](https://img.shields.io/badge/lang-hmn-green.svg)](README.hmn.md)  
[![hu](https://img.shields.io/badge/lang-hu-blue.svg)](README.hu.md)  
[![is](https://img.shields.io/badge/lang-is-red.svg)](README.is.md)  
[![ig](https://img.shields.io/badge/lang-ig-purple.svg)](README.ig.md)  
[![ilo](https://img.shields.io/badge/lang-ilo-orange.svg)](README.ilo.md)  
[![id](https://img.shields.io/badge/lang-id-green.svg)](README.id.md)  
[![ga](https://img.shields.io/badge/lang-ga-blue.svg)](README.ga.md)  
[![jw](https://img.shields.io/badge/lang-jw-red.svg)](README.jw.md)  
[![kn](https://img.shields.io/badge/lang-kn-purple.svg)](README.kn.md)  
[![kk](https://img.shields.io/badge/lang-kk-orange.svg)](README.kk.md)

[![km](https://img.shields.io/badge/lang-km-green.svg)](README.km.md)  
[![rw](https://img.shields.io/badge/lang-rw-blue.svg)](README.rw.md)  
[![gom](https://img.shields.io/badge/lang-gom-red.svg)](README.gom.md)  
[![ko](https://img.shields.io/badge/lang-ko-purple.svg)](README.ko.md)  
[![kri](https://img.shields.io/badge/lang-kri-orange.svg)](README.kri.md)  
[![ku](https://img.shields.io/badge/lang-ku-green.svg)](README.ku.md)  
[![ckb](https://img.shields.io/badge/lang-ckb-blue.svg)](README.ckb.md)  
[![ky](https://img.shields.io/badge/lang-ky-red.svg)](README.ky.md)  
[![lo](https://img.shields.io/badge/lang-lo-purple.svg)](README.lo.md)  
[![la](https://img.shields.io/badge/lang-la-orange.svg)](README.la.md)  
[![lv](https://img.shields.io/badge/lang-lv-green.svg)](README.lv.md)  
[![ln](https://img.shields.io/badge/lang-ln-blue.svg)](README.ln.md)  
[![lt](https://img.shields.io/badge/lang-lt-red.svg)](README.lt.md)  
[![lg](https://img.shields.io/badge/lang-lg-purple.svg)](README.lg.md)  
[![lb](https://img.shields.io/badge/lang-lb-orange.svg)](README.lb.md)  
[![mk](https://img.shields.io/badge/lang-mk-green.svg)](README.mk.md)  
[![mai](https://img.shields.io/badge/lang-mai-blue.svg)](README.mai.md)  
[![mg](https://img.shields.io/badge/lang-mg-red.svg)](README.mg.md)  
[![ms](https://img.shields.io/badge/lang-ms-purple.svg)](README.ms.md)  
[![ml](https://img.shields.io/badge/lang-ml-orange.svg)](README.ml.md)  
[![mt](https://img.shields.io/badge/lang-mt-green.svg)](README.mt.md)  
[![mi](https://img.shields.io/badge/lang-mi-blue.svg)](README.mi.md)  
[![mr](https://img.shields.io/badge/lang-mr-red.svg)](README.mr.md)  
[![lus](https://img.shields.io/badge/lang-lus-purple.svg)](README.lus.md)  
[![mn](https://img.shields.io/badge/lang-mn-orange.svg)](README.mn.md)  
[![my](https://img.shields.io/badge/lang-my-green.svg)](README.my.md)  
[![ne](https://img.shields.io/badge/lang-ne-blue.svg)](README.ne.md)  
[![no](https://img.shields.io/badge/lang-no-red.svg)](README.no.md)  
[![or](https://img.shields.io/badge/lang-or-purple.svg)](README.or.md)  
[![om](https://img.shields.io/badge/lang-om-orange.svg)](README.om.md)  
[![ps](https://img.shields.io/badge/lang-ps-green.svg)](README.ps.md)  
[![fa](https://img.shields.io/badge/lang-fa-blue.svg)](README.fa.md)  
[![qu](https://img.shields.io/badge/lang-qu-red.svg)](README.qu.md)  
[![ro](https://img.shields.io/badge/lang-ro-purple.svg)](README.ro.md)  
[![sm](https://img.shields.io/badge/lang-sm-orange.svg)](README.sm.md)  
[![sa](https://img.shields.io/badge/lang-sa-green.svg)](README.sa.md)  
[![gd](https://img.shields.io/badge/lang-gd-blue.svg)](README.gd.md)  
[![nso](https://img.shields.io/badge/lang-nso-red.svg)](README.nso.md)  
[![st](https://img.shields.io/badge/lang-st-purple.svg)](README.st.md)  
[![sn](https://img.shields.io/badge/lang-sn-orange.svg)](README.sn.md)  
[![sd](https://img.shields.io/badge/lang-sd-green.svg)](README.sd.md)  
[![si](https://img.shields.io/badge/lang-si-blue.svg)](README.si.md)  
[![sk](https://img.shields.io/badge/lang-sk-red.svg)](README.sk.md)  
[![sl](https://img.shields.io/badge/lang-sl-purple.svg)](README.sl.md)  
[![so](https://img.shields.io/badge/lang-so-orange.svg)](README.so.md)  
[![su](https://img.shields.io/badge/lang-su-green.svg)](README.su.md)  
[![sw](https://img.shields.io/badge/lang-sw-blue.svg)](README.sw.md)  
[![tg](https://img.shields.io/badge/lang-tg-red.svg)](README.tg.md)  
[![ta](https://img.shields.io/badge/lang-ta-purple.svg)](README.ta.md)  
[![tt](https://img.shields.io/badge/lang-tt-orange.svg)](README.tt.md)  
[![te](https://img.shields.io/badge/lang-te-green.svg)](README.te.md)  
[![th](https://img.shields.io/badge/lang-th-blue.svg)](README.th.md)  
[![ti](https://img.shields.io/badge/lang-ti-red.svg)](README.ti.md)  
[![ts](https://img.shields.io/badge/lang-ts-purple.svg)](README.ts.md)  
[![tk](https://img.shields.io/badge/lang-tk-orange.svg)](README.tk.md)  
[![ak](https://img.shields.io/badge/lang-ak-green.svg)](README.ak.md)  
[![uk](https://img.shields.io/badge/lang-uk-blue.svg)](README.uk.md)  
[![ur](https://img.shields.io/badge/lang-ur-red.svg)](README.ur.md)  
[![ug](https://img.shields.io/badge/lang-ug-purple.svg)](README.ug.md)  
[![uz](https://img.shields.io/badge/lang-uz-orange.svg)](README.uz.md)  
[![vi](https://img.shields.io/badge/lang-vi-green.svg)](README.vi.md)  
[![cy](https://img.shields.io/badge/lang-cy-blue.svg)](README.cy.md)

[![xh](https://img.shields.io/badge/lang-xh-red.svg)](README.xh.md)  
[![yi](https://img.shields.io/badge/lang-yi-purple.svg)](README.yi.md)  
[![yo](https://img.shields.io/badge/lang-yo-orange.svg)](README.yo.md)  
[![zu](https://img.shields.io/badge/lang-zu-green.svg)](README.zu.md)

---

## 📖 Overview

**PyHelper** is a versatile Python toolkit designed to simplify **data analysis, visualization, statistical operations, and utility workflows**.  
It integrates seamlessly into academic, research, and professional projects, allowing you to focus on insights rather than boilerplate code.

Key advantages:
- 🧮 Built-in **statistics and math utilities**
- 📊 Easy-to-use **data visualization wrappers**
- 🗂 Handy **file handling and searching**
- 🔍 **Syntax validation** for Python files
- 🌍 **Multi-language support** with ready-to-use translations
- 🚀 Optimized for **fast prototyping** and **educational purposes**

---

## ✨ Features

### 📊 Data Visualization
- Horizontal & vertical bar charts (`hbar`, `vbar`)
- Pie charts (`pie`)
- Box plots (`boxplot`)
- Histograms (`histo`)
- Heatmaps (`heatmap`)
- Data tables (`table`)
- Advanced visualizations (scatter, violin, KDE, pairplot, etc.)

### 📈 Statistical Analysis
- Measures of central tendency:  
  `get_media`, `get_median`, `get_moda`
- Measures of dispersion:  
  `get_rank`, `get_var`, `get_desv`, `disp`
- Data normalization (`normalize`)
- Outlier detection (IQR & Z-score methods)
- Conditional data transformations (`conditional`)

### 🛠 Utilities
- File discovery and loading (`call`)
- Enhanced **Switch / AsyncSwitch** system
- Syntax checking & analysis (`PythonFileChecker`, `check_syntax`)
- Error reporting with context
- Integrated help system (`help`, previews, docs)

### 🌍 Multi-language Support
- Built-in translations for **12 languages**
- Extendable with `load_user_translations()`
- Dynamic selection with `set_language(lang_code)`
- Default fallback to English

---

## 🚀 Installation

Install from PyPI:

```bash
pip install pyhelper-tools-jbhm
```

---

## 🔧 Usage Examples

### Set language
```python
from helper import set_language

set_language("en")  # English
set_language("es")  # Spanish
set_language("fr")  # French
set_language("de")  # German
set_language("ru")  # Russian
set_language("tr")  # Turkish
set_language("zh")  # Chinese
set_language("it")  # Italian
set_language("pt")  # Portuguese
set_language("sv")  # Swedish
set_language("ja")  # Japanese
set_language("ar")  # Arabic
# ... support for 100+ languages
```

### Basic statistics
```python
import helper as hp

data = [1, 2, 2, 3, 4, 5]

print(hp.get_media(data))   # Mean
print(hp.get_median(data))  # Median
print(hp.get_moda(data))    # Mode
```

### Visualization
```python
import helper as hp
from helper.submodules import graph as gr

df = hp.pd.DataFrame({"values": [5, 3, 7, 2, 9]})
gr.histo(df, "values", bins=5, title="Sample Histogram")
```

### File handling
```python
from helper import call

data = call("my_data", type="csv")  # Finds and loads a CSV file automatically
```

### Custom translations
```python
from helper import load_user_translations

# Load custom translations from lang.json
load_user_translations("custom/lang.json")
```

---

## 📂 Project Structure

```
helper/
 ├── core.py              # Main functions
 ├── lang/                # Translation files (JSON)
 ├── submodules/
 │   ├── graph.py         # Visualization functions
 │   ├── statics.py       # Statistical functions
 │   ├── utils.py         # Utility helpers
 └── __init__.py
```

---

## 🤝 Contributing

Contributions are welcome!  
Please open issues, suggest improvements, or submit pull requests on the [GitHub repository](https://github.com/jbhmdev/pyhelper-tools).

---

## 📜 License

This project is licensed under the **MIT License**.  
See the [LICENSE](LICENSE) file for details.

---

⚡ Ready to supercharge your Python workflows with **PyHelper**? Start exploring today!