Metadata-Version: 2.4
Name: sharkpy
Version: 1.0.0
Summary: A friendly machine learning framework with shark-themed feedback 🦈
Project-URL: Homepage, https://github.com/Ezzio11/sharkpy
Project-URL: Documentation, https://sharkpy.readthedocs.io/
Project-URL: Repository, https://github.com/Ezzio11/sharkpy.git
Project-URL: Issues, https://github.com/Ezzio11/sharkpy/issues
Project-URL: Changelog, https://github.com/Ezzio11/sharkpy/blob/main/CHANGELOG.md
Author-email: Ezz Eldin Ahmed <ezzeldinahmad96@gmail.com>
Maintainer-email: Ezz Eldin Ahmed <ezzeldinahmad96@gmail.com>
License-File: LICENSE
Keywords: automated ml,data science,education,machine learning,model comparison,reporting,visualization
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: docx2pdf>=0.1.8
Requires-Dist: joblib>=1.0.0
Requires-Dist: matplotlib>=3.4.0
Requires-Dist: numpy>=1.19.0
Requires-Dist: optuna>=2.8.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: python-docx>=0.8.11
Requires-Dist: scikit-learn>=0.24.0
Requires-Dist: seaborn>=0.11.0
Requires-Dist: shapash>=2.0.0
Requires-Dist: statsmodels>=0.12.0
Requires-Dist: xgboost>=1.4.0
Provides-Extra: dev
Requires-Dist: black>=21.5b2; extra == 'dev'
Requires-Dist: flake8>=3.9.0; extra == 'dev'
Requires-Dist: pytest-cov>=2.12.0; extra == 'dev'
Requires-Dist: pytest>=6.0.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx-rtd-theme>=0.5.0; extra == 'docs'
Requires-Dist: sphinx>=4.0.0; extra == 'docs'
Provides-Extra: full
Requires-Dist: catboost>=0.24.0; extra == 'full'
Requires-Dist: lightgbm>=3.2.0; extra == 'full'
Description-Content-Type: text/markdown

# 🦈 SharkPy

A friendly machine learning framework with shark-themed feedback! SharkPy simplifies the machine learning workflow while making it fun and educational.

## 🎯 Features

- **Model Battle Arena**: Compare multiple models automatically
- **Smart Reporting**: Generate reports in TXT, PDF, and DOCX formats
- **Interactive Visualization**: Beautiful plots with shark-themed styling
- **Model Explanations**: Clear explanations of model behavior
- **Automated Optimization**: Hyperparameter tuning with Optuna
- **Shapash Integration**: Interactive dashboards for model interpretation

## 🚀 Quick Start

### Installation

```bash
# Basic installation
pip install sharkpy

# Full installation (includes LightGBM and CatBoost)
pip install sharkpy[full]

# Development installation
pip install sharkpy[dev]
```

### Basic Usage

```python
from sharkpy import Shark
import pandas as pd

# Create a Shark instance
shark = Shark()

# Load your data
data = pd.read_csv('your_data.csv')

# Train a model
shark.learn(
    data=data,
    target='target_column',
    model_choice='random_forest'
)

# Make predictions
predictions = shark.predict(new_data)

# Generate reports
shark.report(export_path='report.pdf', format='pdf')
```

### Model Battle Example

```python
# Define models to compete
models = [
    'linear_regression',
    'random_forest',
    'xgboost',
    'lightgbm',
    'catboost'
]

# Let them battle!
battle_results = shark.battle(
    data=data,
    target='target_column',
    models=models,
    metric='r2'
)

# Get the champion
print(f"Winner: {battle_results['champion']}")
print(f"Score: {battle_results['score']:.4f}")
```

## 📊 Supported Models

- Linear Regression
- Logistic Regression
- Random Forest
- Support Vector Machines
- Ridge Regression
- Lasso Regression
- K-Nearest Neighbors
- XGBoost
- LightGBM (with full installation)
- CatBoost (with full installation)

## 📝 Reports

SharkPy can generate comprehensive reports in multiple formats:

```python
# Text report
shark.report(export_path='report.txt', format='txt')

# PDF report (requires MS Word or LibreOffice)
shark.report(export_path='report.pdf', format='pdf')

# Word document
shark.report(export_path='report.docx', format='docx')
```

## 📈 Visualizations

```python
# Prediction plot
shark.plot(kind="prediction")

# Feature importance
shark.plot(kind="feature_importance")

# Interactive Shapash dashboard
shark.explain_with_shapash()
```

## 🧠 Model Explanations

```python
# Get friendly explanations of your model
shark.explain()

# Create interactive Shapash dashboard
shark.explain_with_shapash(title_story="My Analysis")
```

## 💾 Save & Load Models

```python
# Save your model
shark.save_model(name="my_model")

# Load a saved model
shark.load_model("models/my_model.joblib")
```

## 🛠️ Development

```bash
# Install development dependencies
pip install sharkpy[dev]

# Run tests
pytest

# Format code
black sharkpy/
```

## 📚 Documentation

Full documentation is available at [sharkpy.readthedocs.io](https://sharkpy.readthedocs.io/)

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## 📄 License

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

## 🙏 Acknowledgments

- Built with scikit-learn, XGBoost, and other amazing open-source tools
- Inspired by making machine learning more accessible and fun

## 📧 Contact

- Author: Ezz Eldin Ahmed
- Email: ezzeldinahmad96@gmail.com
- GitHub: [Ezzio11](https://github.com/Ezzio11)

---
Made with 🦈 by SharkPy Team