Metadata-Version: 2.4
Name: notebookpkg
Version: 1.2.1
Summary: A package manager for Jupyter notebook templates
Author: Priyansu Pattanaik
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: click
Requires-Dist: pandas
Requires-Dist: nbformat
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# notebookpkg

**One command to get a ready-to-run Jupyter notebook — wired to your dataset.**

Built for CDAC ML students. Stop writing boilerplate. Just install a template, open Jupyter, and run all cells.

---

## Install

```bash
pip install notebookpkg
```

---

## Quick Start

```bash
# See all available templates
notebookpkg list

# Install a template for your dataset
notebookpkg install linear-regression --dataset Salary_Data.csv --target Salary

# Open the generated notebook in Jupyter
jupyter notebook linear-regression_notebook.ipynb
```

---

## Available Templates

| Template | What it does |
|---|---|
| `eda-basic` | head, shape, info, describe, nulls, dtypes, nunique |
| `eda-visual` | pairplot, heatmap, distributions |
| `eda-full` | full EDA + outliers (IQR), skewness, boxplots, value counts |
| `linear-regression` | fit, predict, visualize, coefficient, MSE, R² |
| `polynomial-regression` | PolynomialFeatures, smooth curve plot, MSE, R² |
| `logistic-regression` | StandardScaler, fit, accuracy, confusion matrix, report |
| `knn-classifier` | StandardScaler, KNN, accuracy, confusion matrix, report |
| `naive-bayes` | GaussianNB, StandardScaler, confusion matrix heatmap |
| `lasso-ridge` | LinearRegression + Lasso + Ridge, coefficient barh plots |
| `decision-tree` | criterion=entropy, max_depth=5, plot_tree, evaluation |
| `random-forest-regressor` | RFR, MSE, R², Actual vs Predicted scatter |
| `random-forest-classifier` | model1, accuracy, confusion matrix, feature importance |
| `svm-classifier` | Linear SVM → RBF SVM, AgeSalary feature engineering |
| `kmeans-clustering` | Elbow method, KMeans, silhouette score, cluster plot |
| `multi-model-compare` | LR + KNN + Naive Bayes on same dataset, comparison |

---

## Usage Examples

```bash
# EDA
notebookpkg install eda-basic --dataset data.csv
notebookpkg install eda-visual --dataset data.csv
notebookpkg install eda-full --dataset data.csv

# Regression
notebookpkg install linear-regression --dataset Salary_Data.csv --target Salary
notebookpkg install polynomial-regression --dataset hw.csv --target Price --degree 3
notebookpkg install lasso-ridge --dataset BostonHousing.csv --target medv

# Classification
notebookpkg install logistic-regression --dataset Day5.csv --target Purchased
notebookpkg install knn-classifier --dataset Day5.csv --target Purchased
notebookpkg install naive-bayes --dataset Day5.csv --target Purchased
notebookpkg install decision-tree --dataset SNP.csv --target Purchased
notebookpkg install svm-classifier --dataset SNP.csv --target Purchased
notebookpkg install multi-model-compare --dataset Day5.csv --target Purchased

# Ensemble
notebookpkg install random-forest-regressor --dataset housing.csv --target Price
notebookpkg install random-forest-classifier --dataset iris.csv --target species

# Clustering
notebookpkg install kmeans-clustering --dataset Mall_Customers.csv
```

---

## Options

| Flag | Description | Default |
|---|---|---|
| `--dataset` | Path to your CSV file | required |
| `--target` | Target column name | last column |
| `--output` | Output notebook filename | `<template>_notebook.ipynb` |
| `--degree` | Polynomial degree (polynomial-regression only) | `2` |

---

## How It Works

1. You run `notebookpkg install <template> --dataset yourdata.csv`
2. The tool reads your CSV and detects column types automatically
3. It injects your dataset path, target column, and column names into the template
4. A ready-to-run `.ipynb` file is created in your current folder
5. Open it in Jupyter and run all cells — everything is pre-wired

---

## Requirements

```
pandas
numpy
scikit-learn
matplotlib
seaborn
nbformat
click
```

---

## Author

**Priyansu Pattanaik**  
B.Tech (Electronics & Telecommunication) | PG Diploma in AI — CDAC Kharghar  
[priyansupattanaikwork@gmail.com](mailto:priyansupattanaikwork@gmail.com)

---

## License

MIT
