Metadata-Version: 2.4
Name: heroalgorithm
Version: 0.1.3
Summary: Instant AI/ML lab problem sheets, datasets, notebooks, and algorithms vault.
Author: HeroAlgorithm Maintainer
License-Expression: MIT
Project-URL: Homepage, https://github.com/AdityaxDeore/heroalgorithm
Project-URL: Repository, https://github.com/AdityaxDeore/heroalgorithm.git
Keywords: heroalgorithm,aiml,machine-learning,problem-sheets,datasets,jupyter-notebook,algorithms,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# ⚡ HeroAlgorithm

> **Instant AI/ML Lab Problem Sheets, Datasets, Notebooks & Algorithms Vault**  
> Download, extract, organize, and directly **import** all 33 AI & Machine Learning lab practical exam problem sheets, datasets, Jupyter Notebooks (`.ipynb`), and Python scripts cleanly onto your PC with a single command or Python import.

[![PyPI Version](https://img.shields.io/pypi/v/heroalgorithm.svg)](https://pypi.org/project/heroalgorithm/)
[![Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Zero Dependencies](https://img.shields.io/badge/dependencies-0%20runtime-brightgreen.svg)]()

---

## 🌟 The Magic Experience

### Option A: Install & Extract All 33 Problem Sheets to `C:\AIML_Assignments`

```powershell
pip install heroalgorithm; heroalgorithm
```

Or run `heroalgorithm` anytime in your terminal:

```powershell
heroalgorithm
```

Your `C:\AIML_Assignments` folder is cleanly populated with all 33 problem sheets in their original structure:

```text
C:\AIML_Assignments\
├── PS01_AStar_City_Route_Finding/
│   ├── dataset/
│   │   └── README.txt
│   ├── solution.ipynb
│   ├── solution.py
│   └── README.txt
├── PS02_Greedy_Best_First_Route_Finding/
│   ├── dataset/
│   ├── solution.ipynb
│   ├── solution.py
│   └── README.txt
├── PS03_AStar_Robot_Grid_Navigation/
├── ...
└── PS33_End_to_End_Machine_Learning_Pipeline/
    ├── dataset/
    ├── solution.ipynb
    ├── solution.py
    └── README.txt
```

---

### Option B: Direct Python Import (Import All or Specific PS)

All 33 assignments can be directly imported in Python scripts or Jupyter Notebooks!

#### 1. Import All Problem Sheets
```python
import heroalgorithm

# Access any sheet:
sheet1 = heroalgorithm.ps1
sheet18 = heroalgorithm.ps18

# Or lookup dynamically by PS number or keyword:
sheet = heroalgorithm.get(8)            # PS08_AStar_8_Puzzle
titanic = heroalgorithm.get("titanic")  # PS24_Titanic_Survival_Random_Forest
```

#### 2. Import Only a Specific Problem Sheet by PS Number
```python
# Import by PS number:
from heroalgorithm import ps1
from heroalgorithm import ps18
from heroalgorithm import ps33

# Or using uppercase / exact folder names:
from heroalgorithm import PS01
from heroalgorithm import PS18
from heroalgorithm import PS01_AStar_City_Route_Finding

# Submodule syntax also works:
import heroalgorithm.ps1
from heroalgorithm.ps1 import solution
```

#### 3. Inspect Code, Problem Statement & Paths in Python
```python
from heroalgorithm import ps1

# Read the solution source code directly:
print(ps1.code)

# Read the problem statement / README:
print(ps1.readme)

# Access file and folder paths:
print(ps1.path)           # Folder Path
print(ps1.solution_path)  # Path to solution.py
print(ps1.notebook_path)  # Path to solution.ipynb
print(ps1.dataset_dir)    # Path to dataset/ folder

# Run the solution script:
ps1.run()

# Extract just this single problem sheet to disk:
ps1.extract("D:/My_Lab")
```

---

## 🎯 Selective CLI Extraction by PS Number

Want only a specific problem sheet in your folder? Pass the PS number directly:

```powershell
# Extract only Problem Sheet 1:
heroalgorithm 1
# Or:
heroalgorithm ps1
heroalgorithm ps01

# Extract Problem Sheet 18 (Iris KNN Classification):
heroalgorithm 18

# Extract Problem Sheet 8 (8-Puzzle):
heroalgorithm 8
```

---

## 📚 List of All 33 Bundled Practical Exam Problem Sheets

| PS # | Problem Sheet Directory | Topic |
|---|---|---|
| **PS01** | `PS01_AStar_City_Route_Finding` | A* City Route Finding |
| **PS02** | `PS02_Greedy_Best_First_Route_Finding` | Greedy Best-First Route Finding |
| **PS03** | `PS03_AStar_Robot_Grid_Navigation` | A* Robot Grid Navigation |
| **PS04** | `PS04_CSP_N_Queens` | CSP N-Queens Solver |
| **PS05** | `PS05_CSP_Sudoku_Solver` | CSP Sudoku Solver |
| **PS06** | `PS06_CSP_Exam_Timetable_Scheduling` | CSP Exam Timetable Scheduling |
| **PS07** | `PS07_Minimax_Tic_Tac_Toe` | Minimax Tic-Tac-Toe |
| **PS08** | `PS08_AStar_8_Puzzle` | A* 8-Puzzle Solver |
| **PS09** | `PS09_Uber_Fare_Prediction_PCA_EDA` | Uber Fare Prediction PCA & EDA |
| **PS10** | `PS10_House_Price_Linear_Regression` | House Price Linear Regression |
| **PS11** | `PS11_Student_Performance_Regression` | Student Performance Regression |
| **PS12** | `PS12_Salary_Linear_Regression` | Salary Linear Regression |
| **PS13** | `PS13_Regression_Model_With_Without_PCA` | Regression With & Without PCA |
| **PS14** | `PS14_Loan_Approval_Decision_Tree` | Loan Approval Decision Tree |
| **PS15** | `PS15_Customer_Churn_Decision_Tree` | Customer Churn Decision Tree |
| **PS16** | `PS16_Disease_Classification_Decision_Tree` | Disease Classification Decision Tree |
| **PS17** | `PS17_Decision_Tree_Gini_Entropy_Tuning` | Decision Tree Gini/Entropy Tuning |
| **PS18** | `PS18_Iris_KNN_Classification` | Iris KNN Classification |
| **PS19** | `PS19_Student_Performance_KNN_Classification` | Student Performance KNN |
| **PS20** | `PS20_Diabetes_KNN_Classification` | Diabetes KNN Classification |
| **PS21** | `PS21_Spam_Detection_Naive_Bayes` | Spam Detection Naive Bayes |
| **PS22** | `PS22_Iris_Gaussian_Naive_Bayes_vs_Decision_Tree` | Gaussian Naive Bayes vs Decision Tree |
| **PS23** | `PS23_Random_Forest_vs_Decision_Tree` | Random Forest vs Decision Tree |
| **PS24** | `PS24_Titanic_Survival_Random_Forest` | Titanic Survival Random Forest |
| **PS25** | `PS25_Customer_Segmentation_KMeans` | Customer Segmentation KMeans |
| **PS26** | `PS26_Student_Grouping_KMeans` | Student Grouping KMeans |
| **PS27** | `PS27_Mall_Customer_KMeans_Clustering` | Mall Customer KMeans Clustering |
| **PS28** | `PS28_KMeans_Cluster_Count_Evaluation` | KMeans Cluster Count Evaluation |
| **PS29** | `PS29_Market_Basket_Apriori` | Market Basket Apriori Algorithm |
| **PS30** | `PS30_Bank_Churn_ANN` | Bank Churn Artificial Neural Network |
| **PS31** | `PS31_Student_Pass_Fail_ANN` | Student Pass/Fail ANN |
| **PS32** | `PS32_Compare_Decision_Tree_KNN_Naive_Bayes` | Model Comparison (DT vs KNN vs NB) |
| **PS33** | `PS33_End_to_End_Machine_Learning_Pipeline` | End-to-End ML Pipeline |

---

## 🛠️ CLI Commands & Options

```powershell
# Preview all available problem sheets:
heroalgorithm list

# Choose a custom output folder:
heroalgorithm -o "D:\MyCollege\AI_Lab"

# Run completely silently:
heroalgorithm -q

# Check active configuration:
heroalgorithm config
```

---

## 🚢 Publishing New Versions to PyPI

Run the included automated release script:

```powershell
.\publish.ps1
```

Or manually:

```powershell
python -m build
python -m twine upload dist/*
```

---

## 📄 License

This project is licensed under the [MIT License](LICENSE).
