Metadata-Version: 2.4
Name: mlcode
Version: 0.1.0
Summary: A collection of 10 educational Machine Learning experiments for learning and demonstration.
Home-page: https://github.com/himeshwar31/mlcode1
Author: Himeshwar Nagarajan
Author-email: himeshwarnagarjan@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scikit-learn
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 🤖 MLCode Library

A professional, modular Python library designed for educational machine learning demonstrations. This package contains **10 structured experiments** covering various core ML algorithms and Python concepts, complete with an interactive command-line interface to inspect source code and execute models dynamically.

---

## ✨ Features

- **🎓 Interactive Learning:** Instantly view the source code of any experiment with a single call (`ip.exp1()`).
- **🚀 Dynamic Execution:** Run any machine learning experiment and view its plots/outputs instantly (`ip.run1()`).
- **📂 Clean Module Layout:** Designed using standard Python packaging best practices with automatic dependency discovery.
- **⚡ Hot Reloading:** Easily install in editable mode for developers.

---

## 📦 Installation

### 1. Local Development (Editable Mode)
To install the package locally so that any updates to the experiment files are immediately available:

```bash
cd "c:\Users\Himeshwar\Desktop\mlcodes\mlcode"
pip install -e .
```

### 2. Standard Global Installation
To install the package permanently on your machine:

```bash
pip install .
```

---

## 🛠️ Usage

Open a Jupyter Notebook, a VS Code Interactive Window, or a standard Python terminal and run:

```python
import mlcode as ip

# 1. List all available experiments
ip.show()

# 2. View the source code of Experiment 1
ip.exp1()

# 3. Dynamically run Experiment 1 and show the plot
ip.run1()
```

---

## 📚 Educational Experiments Included

Here are the 10 experiments included in this library and what they demonstrate:

| Experiment | Focus Area / Algorithm | Description | Python Concept Shown |
| :---: | :--- | :--- | :--- |
| **`exp1`** | 📈 **Linear Regression** | Univariate salary prediction model. | Basic Arithmetic & Imports |
| **`exp2`** | 🛢️ **LSM Regression** | Fuel consumption least squares prediction model. | String Manipulation |
| **`exp3`** | 🤖 **Machine Learning** | Basic model training loops and data iteration. | Loops |
| **`exp4`** | ⚖️ **Conditionals** | Data thresholding and model routing logic. | If-Else Conditions |
| **`exp5`** | 🧱 **Modular ML** | Function-wrapped model training pipeline. | Functions |
| **`exp6`** | 🌳 **Decision Trees** | Classification and tree plotting on a custom dataset. | Lists |
| **`exp7`** | 🌀 **Dimensionality Reduction** | Principal Component Analysis (PCA) visualization. | Dictionaries |
| **`exp8`** | 🛡️ **Robust Pipelines** | Safe training wrapper with input error validation. | Error Handling |
| **`exp9`** | 🏷️ **KMeans Clustering** | Unsupervised K-Means clustering algorithm. | List Comprehensions |
| **`exp10`** | 🏗️ **Class-based ML** | Object-Oriented Random Forest / Classifier. | Basic Classes |

---

## 🚀 Publishing Globally

### 1. Build Package Distributions
Build the standard Wheel (`.whl`) and Source Archive (`.tar.gz`):
```bash
pip install build
python -m build
```

### 2. Upload to PyPI (Python Package Index)
Publish the compiled build artifacts so anyone in the world can run `pip install mlcode`:
```bash
pip install twine
python -m twine upload dist/*
```

*(Note: If the name `mlcode` is already taken on PyPI, rename the `name` field in `setup.py` to something unique like `mlcode-himeshwar` and rebuild!)*

---

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