{"id":29745612,"url":"https://github.com/satvikpraveen/seabornmasterpro","last_synced_at":"2026-04-12T10:34:22.442Z","repository":{"id":306414915,"uuid":"1026087838","full_name":"SatvikPraveen/SeabornMasterPro","owner":"SatvikPraveen","description":"🎨 SeabornMasterPro is a comprehensive, modular project to master Seaborn for data visualization. Includes themed utilities, advanced plotting notebooks, dashboards, time series, Streamlit app, and Docker support — perfect for learners, analysts, and open-source enthusiasts.","archived":false,"fork":false,"pushed_at":"2025-07-25T10:15:27.000Z","size":6301,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-25T16:37:23.182Z","etag":null,"topics":["categorical-plots","correlation-heatmap","custom-theme","data-visualization","docker","interactive-dashboard","jupyter-notebook","matplotlib","modular-code","multi-panel-layouts","open-source-project","pandas","plot-utils","project-structure","python","reproducible-research","seaborn","streamlit","time-series-visualization","utility-functions"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SatvikPraveen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-25T09:34:59.000Z","updated_at":"2025-07-25T10:15:31.000Z","dependencies_parsed_at":"2025-07-25T16:37:26.119Z","dependency_job_id":"e0b567fb-0e6d-4b3a-95cb-1b65316ca18e","html_url":"https://github.com/SatvikPraveen/SeabornMasterPro","commit_stats":null,"previous_names":["satvikpraveen/seabornmasterpro"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/SatvikPraveen/SeabornMasterPro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FSeabornMasterPro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FSeabornMasterPro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FSeabornMasterPro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FSeabornMasterPro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SatvikPraveen","download_url":"https://codeload.github.com/SatvikPraveen/SeabornMasterPro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatvikPraveen%2FSeabornMasterPro/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267128007,"owners_count":24040156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["categorical-plots","correlation-heatmap","custom-theme","data-visualization","docker","interactive-dashboard","jupyter-notebook","matplotlib","modular-code","multi-panel-layouts","open-source-project","pandas","plot-utils","project-structure","python","reproducible-research","seaborn","streamlit","time-series-visualization","utility-functions"],"created_at":"2025-07-26T06:16:16.747Z","updated_at":"2026-04-12T10:34:22.420Z","avatar_url":"https://github.com/SatvikPraveen.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎨 SeabornMasterPro\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![Python](https://img.shields.io/badge/Python-3.10%2B-darkgreen.svg)](https://www.python.org/)\n[![Jupyter Notebooks](https://img.shields.io/badge/Jupyter-Notebook-orange.svg)](https://jupyter.org/)\n[![Seaborn Mastery](https://img.shields.io/badge/Seaborn-100%25-brightgreen.svg)](https://seaborn.pydata.org/)\n[![Docker Ready](https://img.shields.io/badge/Docker-Ready-blueviolet.svg)](https://www.docker.com/)\n[![Streamlit App](https://img.shields.io/badge/Streamlit-Dashboard-red.svg)](https://streamlit.io/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-lightgrey.svg)](https://github.com/SatvikPraveen/SeabornMasterPro/pulls)\n[![Last Commit](https://img.shields.io/github/last-commit/SatvikPraveen/SeabornMasterPro.svg)](https://github.com/SatvikPraveen/SeabornMasterPro/commits)\n\n---\n\n## 📌 Overview\n\n**SeabornMasterPro** is an open-source, end-to-end visualization mastery project built to help you **learn, recall, and reuse** Seaborn effectively — from plotting basics to dashboard-level visual storytelling.\n\n🎯 Ideal for:\n\n- Learners who want structured notebooks and projects\n- Practitioners who want reusable utilities and themes\n- Professionals who need dashboards, cheatsheets, and reproducible setups\n\n---\n\n## 📽️ Project Preview\n\nHere’s a glimpse into the Seaborn visualizations and dashboards created in this project:\n\n### 🧭 Streamlit EDA Dashboard\n\n\u003e Powered by `streamlit_app.py`, this dashboard provides real-time interaction with synthetic datasets.\n\n![Streamlit Dashboard Preview](exports/04_dashboards/campaign_facetgrid_scatter.png)\n\n---\n\n### 📊 Real-World Visual Storytelling\n\n\u003e Plots generated using `notebooks/05_realworld_EDA.ipynb` and reusable functions from `plot_utils.py`.\n\n![E-Commerce EDA Preview](exports/05_eda/ecommerce_correlation_heatmap.png)\n\n---\n\n## 🧠 Learning Outcomes\n\nBy working through this project, you'll be able to:\n\n- 📊 Visualize structured data with Seaborn’s full plotting suite\n- 🧱 Build custom dashboards using Streamlit and save visual reports\n- ♻️ Reuse plot components using `plot_utils.py`- 🐍 Deploy production-ready scripts with proper error handling- 📦 Package everything in a container-ready environment\n\n---\n\n## 🧱 Project Structure\n\n```bash\nSeabornMasterPro/\n├── notebooks/               # Comprehensive coverage (10 notebooks)\n│   ├── 01_setup_and_basics.ipynb\n│   ├── 02_distributions_relationships.ipynb\n│   ├── 03_categorical_matrixplots.ipynb\n│   ├── 04_multi_custom_dashboards.ipynb\n│   ├── 05_realworld_EDA.ipynb\n│   ├── 06_timeseries_lineplots.ipynb\n│   ├── 07_figure_level_functions.ipynb\n│   ├── 08_advanced_categorical.ipynb\n│   ├── 09_styling_customization.ipynb\n│   └── 10_statistical_parameters.ipynb\n├── examples/                # Production-ready Python scripts (7 scripts)\n│   ├── basic_workflow.py\n│   ├── production_dashboard.py\n│   ├── custom_styling.py\n│   ├── statistical_viz.py\n│   ├── batch_processing.py\n│   ├── publication_figures.py\n│   ├── reusable_template.py\n│   └── README.md\n├── utils/                   # Enhanced utility functions\n│   ├── __init__.py\n│   └── plot_utils.py        # 12 functions: themes, export, palettes, grids, annotations\n├── scripts/                 # Dataset generators and helpers\n│   └── generate_datasets.py\n├── datasets/                # Synthetic datasets (auto-generated)\n│   ├── ecommerce_data.csv\n│   ├── employee_data.csv\n│   ├── marketing_campaign.csv\n│   ├── sales_data.csv\n│   ├── student_scores.csv\n│   └── web_traffic.csv\n├── exports/                 # Saved visuals for all 10 notebooks\n│   ├── 01_setup/ ... 06_timeseries/\n│   ├── 07_figure_level/\n│   ├── 08_categorical/\n│   ├── 09_styling/\n│   └── 10_statistical/\n├── docs/                    # Comprehensive documentation\n│   ├── best_practices.md\n│   ├── plot_comparison.md\n│   ├── troubleshooting.md\n│   └── feature_matrix.md\n├── tests/                   # Testing infrastructure\n│   ├── __init__.py\n│   └── test_plot_utils.py\n├── .github/                 # GitHub templates and workflows\n│   ├── workflows/\n│   │   └── test.yml\n│   ├── ISSUE_TEMPLATE/\n│   └── PULL_REQUEST_TEMPLATE.md\n├── cheatsheets/             # Markdown cheatsheets\n│   └── seaborn_cheatsheet.md\n├── streamlit_app.py         # Interactive dashboard (all 10 notebooks)\n├── setup.py                 # Package installation\n├── pytest.ini               # Test configuration\n├── requirements.txt         # Minimal dependencies\n├── requirements_dev.txt     # Full dev environment\n├── Dockerfile               # Container setup\n├── .dockerignore\n├── .gitignore\n├── README.md\n└── LICENSE\n```\n\n---\n\n## 🌟 Features\n\n- 📘 **10 comprehensive notebooks** covering all Seaborn functionality\n- � **7 production-ready Python scripts** with CLI, error handling, and logging\n- �📊 **100% Seaborn coverage**: All 30+ core functions including `relplot`, `displot`, `catplot`, `jointplot`, `lmplot`, `FacetGrid`, and more\n- 🎯 **Figure-level vs Axes-level** paradigm explained in depth\n- 📊 **Advanced categorical plots**: `barplot` with custom estimators, statistical comparisons\n- 🎨 **Styling mastery**: Color theory, palettes (sequential/diverging/qualitative), themes\n- 📐 **Statistical parameters**: Deep dive into `estimator` and `errorbar` options\n- ♻️ **Enhanced utilities**: 12 reusable functions in `plot_utils.py`\n- 📚 **Comprehensive docs**: Best practices, plot comparison guide, troubleshooting, feature matrix\n- 🧪 **Testing infrastructure**: pytest with CI/CD via GitHub Actions\n- 📁 Exports saved with `save_fig()` into logical folders\n- 🗂️ Cheatsheet in Markdown for quick revision\n- 🌐 Streamlit dashboard to explore all visualizations interactively\n- 🐳 Docker support for full reproducibility\n- 📦 **Pip-installable**: `pip install -e .`\n\n---\n\n## ✅ Mastery Checklist\n\n- [x] Setup environment and install dependencies\n- [x] Master Seaborn basics, distributions, relationships\n- [x] Learn categorical \u0026 matrix visualizations\n- [x] Build dashboards and multi-panel plots\n- [x] Analyze real-world synthetic datasets\n- [x] Master figure-level functions (relplot, displot, catplot, lmplot, jointplot)\n- [x] Understand axes-level vs figure-level paradigm\n- [x] Learn advanced categorical plots (barplot with custom estimators)\n- [x] Master styling and customization (themes, palettes, color theory)\n- [x] Understand statistical parameters (estimator, errorbar options)\n- [x] Use `.pipe()` and enhanced `plot_utils.py` for reusability\n- [x] Run comprehensive tests with pytest\n- [x] Explore all visualizations via Streamlit dashboard\n- [x] Run everything inside Docker for reproducibility\n\n---\n\n## 🔧 Setup Instructions\n\n### ▶️ Install Requirements\n\n```bash\npip install -r requirements.txt\n```\n\nOr using Conda:\n\n```bash\nconda create -n seabornpro python=3.10\nconda activate seabornpro\npip install -r requirements.txt\n```\n\n---\n\n## 🐳 Run in Docker (JupyterLab)\n\n```bash\ndocker build -t seaborn-masterpro .\ndocker run -p 8890:8888 -p 8501:8501 -v $(pwd):/app -d seaborn-masterpro\n```\n\nYou can now open JupyterLab in your browser at:\n🔗 [http://localhost:8890](http://localhost:8890)\n\n\u003e The container disables Jupyter token/password prompts for local ease.\n\n---\n\n## 📊 Launch Streamlit Dashboard\n\n```bash\nstreamlit run streamlit_app.py\n```\n\nThen visit:\n🔗 [http://localhost:8501](http://localhost:8501)\n\n---\n\n## 🐍 Run Production Scripts\n\n```bash\n# Navigate to examples directory\ncd examples\n\n# Run basic workflow\npython basic_workflow.py\n\n# Create production dashboard\npython production_dashboard.py --format pdf\n\n# Generate publication figures\npython publication_figures.py --size journal_double --dpi 300\n\n# Batch process all datasets\npython batch_processing.py --parallel\n\n# See all options for any script\npython reusable_template.py --help\n```\n\n📚 **See [examples/README.md](examples/README.md) for complete documentation on all 7 production scripts**\n\n---\n\n## 🔁 Extend This Repo\n\nWant to take this further?\n\n- [ ] Add Plotly/Altair interactive options\n- [ ] Create animated visualizations\n- [ ] Create `seaborn_themes.py` presets for custom themes\n- [ ] Add more interactive controls to Streamlit dashboard\n- [ ] Add benchmarking and performance comparisons\n- [ ] Create video tutorials for each notebook\n\n---\n\n## 🧠 Learn by Doing\n\nEach notebook is carefully structured with:\n\n- ✅ Concepts grouped by theme\n- ✅ Code + plots + comments inline\n- ✅ Modular reusability via `plot_utils.py`\n- ✅ Dataset links and exports\n- ✅ Time-based, categorical, and real-world examples\n\n---\n\n## 📌 Topics Covered\n\n### Core Notebooks\n- **01**: Setup and Seaborn basics\n- **02**: Distributions and pairwise relationships\n- **03**: Categorical plots and matrix visualizations\n- **04**: Multi-panel layouts and custom dashboards\n- **05**: Real-world EDA with Titanic \u0026 Marketing Campaign\n- **06**: Advanced time series (multi-series, confidence intervals, seasonality)\n\n### Advanced Notebooks\n- **07**: Figure-level functions (relplot, lmplot, jointplot, displot)\n- **08**: Advanced categorical plots (barplot with custom estimators)\n- **09**: Styling \u0026 customization (color theory, palettes, themes)\n- **10**: Statistical parameters (estimator, errorbar deep dive)\n\n### Documentation\n- Best practices for data visualization\n- Plot comparison and decision guide\n- Troubleshooting common issues\n- Complete feature matrix and coverage map\n\n---\n\n## 🎯 Who Is This For?\n\n| Level           | Use Case                        |\n| --------------- | ------------------------------- |\n| ✅ Beginner     | Learn Seaborn from scratch      |\n| ✅ Intermediate | Build reusable pipelines        |\n| ✅ Advanced     | Automate dashboards with Docker |\n\n---\n\n## 🔗 Related Projects\n\n- 🧠 [NumPyMasterPro](https://github.com/SatvikPraveen/NumPyMasterPro) — Deep dive into NumPy fundamentals\n- 🐼 [PandasPlayground](https://github.com/SatvikPraveen/PandasPlayground) — Data cleaning and EDA workflows\n\n---\n\n## 📄 License\n\nThis project is licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0). See the [LICENSE](./LICENSE) file for more details.\n\n---\n\n## 🙌 Acknowledgements\n\n- [Seaborn](https://seaborn.pydata.org/)\n- [Matplotlib](https://matplotlib.org/)\n- [Streamlit](https://streamlit.io/)\n- [Python](https://www.python.org/)\n\n---\n\n## ✨ Author\n\nMade with 💙 by [Satvik Praveen](https://github.com/SatvikPraveen)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatvikpraveen%2Fseabornmasterpro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsatvikpraveen%2Fseabornmasterpro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatvikpraveen%2Fseabornmasterpro/lists"}