hossam 0.3.15__tar.gz → 0.3.17__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. hossam-0.3.17/PKG-INFO +205 -0
  2. hossam-0.3.17/README.md +167 -0
  3. {hossam-0.3.15 → hossam-0.3.17}/hossam/__init__.py +15 -11
  4. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_plot.py +141 -14
  5. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_prep.py +316 -34
  6. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_stats.py +300 -12
  7. hossam-0.3.17/hossam/mcp/__init__.py +12 -0
  8. hossam-0.3.17/hossam/mcp/hs_classroom.py +22 -0
  9. hossam-0.3.17/hossam/mcp/hs_gis.py +30 -0
  10. hossam-0.3.17/hossam/mcp/hs_plot.py +53 -0
  11. hossam-0.3.17/hossam/mcp/hs_prep.py +61 -0
  12. hossam-0.3.17/hossam/mcp/hs_stats.py +25 -0
  13. hossam-0.3.17/hossam/mcp/hs_timeserise.py +22 -0
  14. hossam-0.3.17/hossam/mcp/hs_util.py +30 -0
  15. hossam-0.3.17/hossam/mcp/loader.py +29 -0
  16. hossam-0.3.17/hossam/mcp/server.py +675 -0
  17. hossam-0.3.17/hossam.egg-info/PKG-INFO +205 -0
  18. {hossam-0.3.15 → hossam-0.3.17}/hossam.egg-info/SOURCES.txt +12 -1
  19. hossam-0.3.17/hossam.egg-info/entry_points.txt +2 -0
  20. {hossam-0.3.15 → hossam-0.3.17}/pyproject.toml +4 -1
  21. hossam-0.3.15/PKG-INFO +0 -636
  22. hossam-0.3.15/README.md +0 -598
  23. hossam-0.3.15/hossam.egg-info/PKG-INFO +0 -636
  24. {hossam-0.3.15 → hossam-0.3.17}/LICENSE +0 -0
  25. {hossam-0.3.15 → hossam-0.3.17}/MANIFEST.in +0 -0
  26. {hossam-0.3.15 → hossam-0.3.17}/hossam/NotoSansKR-Regular.ttf +0 -0
  27. {hossam-0.3.15 → hossam-0.3.17}/hossam/data_loader.py +0 -0
  28. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_classroom.py +0 -0
  29. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_gis.py +0 -0
  30. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_timeserise.py +0 -0
  31. {hossam-0.3.15 → hossam-0.3.17}/hossam/hs_util.py +0 -0
  32. {hossam-0.3.15 → hossam-0.3.17}/hossam/leekh.png +0 -0
  33. {hossam-0.3.15 → hossam-0.3.17}/hossam.egg-info/dependency_links.txt +0 -0
  34. {hossam-0.3.15 → hossam-0.3.17}/hossam.egg-info/requires.txt +0 -0
  35. {hossam-0.3.15 → hossam-0.3.17}/hossam.egg-info/top_level.txt +0 -0
  36. {hossam-0.3.15 → hossam-0.3.17}/setup.cfg +0 -0
hossam-0.3.17/PKG-INFO ADDED
@@ -0,0 +1,205 @@
1
+ Metadata-Version: 2.4
2
+ Name: hossam
3
+ Version: 0.3.17
4
+ Summary: Hossam Data Helper
5
+ Author-email: Lee Kwang-Ho <leekh4232@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/leekh4232/hossam-py
8
+ Project-URL: Repository, https://github.com/leekh4232/hossam-py
9
+ Keywords: data,analysis,helper,hossam,tensorflow
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Topic :: Software Development :: Libraries
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Requires-Python: >=3.11
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: tqdm
19
+ Requires-Dist: tabulate
20
+ Requires-Dist: pandas
21
+ Requires-Dist: matplotlib
22
+ Requires-Dist: seaborn
23
+ Requires-Dist: requests
24
+ Requires-Dist: openpyxl
25
+ Requires-Dist: xlrd
26
+ Requires-Dist: statsmodels
27
+ Requires-Dist: scipy
28
+ Requires-Dist: scikit-learn
29
+ Requires-Dist: pingouin
30
+ Requires-Dist: statannotations
31
+ Requires-Dist: joblib
32
+ Requires-Dist: geopandas
33
+ Requires-Dist: kmodes
34
+ Requires-Dist: pmdarima
35
+ Requires-Dist: prophet
36
+ Requires-Dist: plotly
37
+ Dynamic: license-file
38
+
39
+ ---
40
+ title: 🎓 Hossam Data Helper
41
+ ---
42
+
43
+ # 🎓 Hossam Data Helper
44
+
45
+ [![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
46
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
47
+ [![Version](https://img.shields.io/badge/version-0.3.8-green.svg)](https://pypi.org/project/hossam/)
48
+ [![Documentation](https://img.shields.io/badge/docs-py.hossam.kr-blue.svg)](https://py.hossam.kr)
49
+
50
+ **Hossam**은 데이터 분석, 시각화, 통계 처리를 위한 종합 헬퍼 라이브러리입니다.
51
+
52
+ 아이티윌(ITWILL)에서 진행 중인 머신러닝 및 데이터 분석 수업을 위해 개발되었으며, 이광호 강사의 강의에서 활용됩니다.
53
+
54
+ ## ✨ 주요 특징
55
+
56
+ - 📊 **풍부한 시각화**: 25+ 시각화 함수 (Seaborn/Matplotlib 기반)
57
+ - 🎯 **통계 분석**: 회귀, 분류, 시계열 분석 도구
58
+ - 📦 **샘플 데이터**: 학습용 데이터셋 즉시 로드
59
+ - 🔧 **데이터 전처리**: 결측치 처리, 이상치 탐지, 스케일링
60
+ - 🤖 **MCP 서버**: VSCode/Copilot과 통합 가능한 Model Context Protocol 지원
61
+ - 📈 **교육용 최적화**: 데이터 분석 교육에 특화된 설계
62
+
63
+ ---
64
+
65
+ ## 📦 설치
66
+
67
+ ```bash
68
+ pip install hossam
69
+ ```
70
+
71
+ **요구사항**: Python 3.8 이상
72
+
73
+ ---
74
+
75
+ ## 🚀 빠른 시작
76
+
77
+ ### 샘플 데이터 로드
78
+
79
+ ```python
80
+ from hossam import load_data, load_info
81
+
82
+ # 사용 가능한 데이터셋 확인
83
+ datasets = load_info()
84
+
85
+ # 데이터 로드
86
+ df = load_data('AD_SALES')
87
+ ```
88
+
89
+ ### 간단한 시각화
90
+
91
+ ```python
92
+ from hossam import hs_plot
93
+ import pandas as pd
94
+ import numpy as np
95
+
96
+ df = pd.DataFrame({
97
+ 'x': np.random.randn(100),
98
+ 'y': np.random.randn(100),
99
+ 'category': np.random.choice(['A', 'B', 'C'], 100)
100
+ })
101
+
102
+ # 산점도
103
+ hs_plot.scatterplot(df=df, xname='x', yname='y', hue='category')
104
+
105
+ # 박스플롯
106
+ hs_plot.boxplot(df=df, xname='category', yname='x')
107
+ ```
108
+
109
+ ---
110
+
111
+ ## 🤖 MCP Server
112
+
113
+ Hossam은 **Model Context Protocol(MCP)** 기반 서버로도 작동하며, VSCode Copilot/Cline과 통합하여 데이터 분석 코드를 자동 생성할 수 있습니다.
114
+
115
+ ### 빠른 시작
116
+
117
+ ```bash
118
+ # 서버 시작
119
+ hossam-mcp
120
+ ```
121
+
122
+ ### VSCode + Copilot 연동
123
+
124
+ VSCode에서 Copilot과 함께 사용하려면 `.vscode/settings.json` 설정이 필요합니다.
125
+
126
+ **Copilot Chat에서 사용:**
127
+ ```
128
+ @hossam 이 DataFrame의 결측치를 분석하고 처리하는 코드 작성해줘
129
+ ```
130
+
131
+ **설정 가이드:**
132
+ - [`.vscode/settings.json` 완성형 샘플](https://py.hossam.kr/guides/vscode-settings-sample/) ⭐
133
+ - [VSCode + Copilot 연동 상세](https://py.hossam.kr/guides/vscode-copilot-integration/)
134
+ - [MCP 서버 사용법](https://py.hossam.kr/guides/mcp/)
135
+ - [Copilot Chat 프롬프트 예시](https://py.hossam.kr/guides/copilot-prompts/)
136
+
137
+ ---
138
+
139
+ ## 📚 전체 문서
140
+
141
+ **완전한 API 문서와 가이드는 [py.hossam.kr](https://py.hossam.kr)에서 확인하세요.**
142
+
143
+ ### 주요 모듈
144
+
145
+ - **hs_plot**: 25+ 시각화 함수 (선 그래프, 산점도, 히스토그램, 박스플롯, 히트맵 등)
146
+ - **hs_stats**: 회귀/분류 분석, 교차검증, 정규성 검정, 상관분석 등
147
+ - **hs_prep**: 결측치 처리, 이상치 탐지, 스케일링, 인코딩
148
+ - **hs_gis**: GIS 데이터 로드 및 시각화 (대한민국 지도 지원)
149
+ - **hs_classroom**: 학습용 이진분류, 다중분류, 회귀 데이터 생성
150
+ - **hs_util**: 예쁜 테이블 출력, 그리드 서치 등
151
+
152
+ 자세한 사용법은 [API 문서](https://py.hossam.kr/api/hossam/)를 참고하세요.
153
+
154
+ ---
155
+
156
+ ## 🎓 예제
157
+
158
+ ### 결측치 분석
159
+
160
+ ```python
161
+ from hossam import hs_prep
162
+
163
+ # 결측치 정보 확인
164
+ hs_prep.hs_missing_values(df)
165
+
166
+ # 결측치 시각화
167
+ hs_prep.hs_missing_values_barplot(df)
168
+ ```
169
+
170
+ ### 회귀 분석
171
+
172
+ ```python
173
+ from hossam import hs_stats
174
+
175
+ # 단순 선형 회귀
176
+ result = hs_stats.hs_simple_regression(df, xname='x', yname='y', plot=True)
177
+ ```
178
+
179
+ ### 상관분석 히트맵
180
+
181
+ ```python
182
+ from hossam import hs_plot
183
+
184
+ hs_plot.heatmap(df=df, annot=True, cmap='coolwarm')
185
+ ```
186
+
187
+ 더 많은 예제는 [문서 사이트](https://py.hossam.kr)를 참고하세요.
188
+
189
+ ---
190
+
191
+ ## 📄 라이선스
192
+
193
+ 이 프로젝트는 MIT 라이선스를 따릅니다. 자유롭게 사용, 수정, 배포할 수 있습니다.
194
+
195
+ ---
196
+
197
+ ## 🔗 링크
198
+
199
+ - **문서**: [py.hossam.kr](https://py.hossam.kr)
200
+ - **PyPI**: [pypi.org/project/hossam](https://pypi.org/project/hossam/)
201
+ - **강사**: 이광호 (ITWILL 머신러닝 및 데이터 분석)
202
+
203
+ ---
204
+
205
+ **Made with ❤️ for Data Science Education**
@@ -0,0 +1,167 @@
1
+ ---
2
+ title: 🎓 Hossam Data Helper
3
+ ---
4
+
5
+ # 🎓 Hossam Data Helper
6
+
7
+ [![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![Version](https://img.shields.io/badge/version-0.3.8-green.svg)](https://pypi.org/project/hossam/)
10
+ [![Documentation](https://img.shields.io/badge/docs-py.hossam.kr-blue.svg)](https://py.hossam.kr)
11
+
12
+ **Hossam**은 데이터 분석, 시각화, 통계 처리를 위한 종합 헬퍼 라이브러리입니다.
13
+
14
+ 아이티윌(ITWILL)에서 진행 중인 머신러닝 및 데이터 분석 수업을 위해 개발되었으며, 이광호 강사의 강의에서 활용됩니다.
15
+
16
+ ## ✨ 주요 특징
17
+
18
+ - 📊 **풍부한 시각화**: 25+ 시각화 함수 (Seaborn/Matplotlib 기반)
19
+ - 🎯 **통계 분석**: 회귀, 분류, 시계열 분석 도구
20
+ - 📦 **샘플 데이터**: 학습용 데이터셋 즉시 로드
21
+ - 🔧 **데이터 전처리**: 결측치 처리, 이상치 탐지, 스케일링
22
+ - 🤖 **MCP 서버**: VSCode/Copilot과 통합 가능한 Model Context Protocol 지원
23
+ - 📈 **교육용 최적화**: 데이터 분석 교육에 특화된 설계
24
+
25
+ ---
26
+
27
+ ## 📦 설치
28
+
29
+ ```bash
30
+ pip install hossam
31
+ ```
32
+
33
+ **요구사항**: Python 3.8 이상
34
+
35
+ ---
36
+
37
+ ## 🚀 빠른 시작
38
+
39
+ ### 샘플 데이터 로드
40
+
41
+ ```python
42
+ from hossam import load_data, load_info
43
+
44
+ # 사용 가능한 데이터셋 확인
45
+ datasets = load_info()
46
+
47
+ # 데이터 로드
48
+ df = load_data('AD_SALES')
49
+ ```
50
+
51
+ ### 간단한 시각화
52
+
53
+ ```python
54
+ from hossam import hs_plot
55
+ import pandas as pd
56
+ import numpy as np
57
+
58
+ df = pd.DataFrame({
59
+ 'x': np.random.randn(100),
60
+ 'y': np.random.randn(100),
61
+ 'category': np.random.choice(['A', 'B', 'C'], 100)
62
+ })
63
+
64
+ # 산점도
65
+ hs_plot.scatterplot(df=df, xname='x', yname='y', hue='category')
66
+
67
+ # 박스플롯
68
+ hs_plot.boxplot(df=df, xname='category', yname='x')
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 🤖 MCP Server
74
+
75
+ Hossam은 **Model Context Protocol(MCP)** 기반 서버로도 작동하며, VSCode Copilot/Cline과 통합하여 데이터 분석 코드를 자동 생성할 수 있습니다.
76
+
77
+ ### 빠른 시작
78
+
79
+ ```bash
80
+ # 서버 시작
81
+ hossam-mcp
82
+ ```
83
+
84
+ ### VSCode + Copilot 연동
85
+
86
+ VSCode에서 Copilot과 함께 사용하려면 `.vscode/settings.json` 설정이 필요합니다.
87
+
88
+ **Copilot Chat에서 사용:**
89
+ ```
90
+ @hossam 이 DataFrame의 결측치를 분석하고 처리하는 코드 작성해줘
91
+ ```
92
+
93
+ **설정 가이드:**
94
+ - [`.vscode/settings.json` 완성형 샘플](https://py.hossam.kr/guides/vscode-settings-sample/) ⭐
95
+ - [VSCode + Copilot 연동 상세](https://py.hossam.kr/guides/vscode-copilot-integration/)
96
+ - [MCP 서버 사용법](https://py.hossam.kr/guides/mcp/)
97
+ - [Copilot Chat 프롬프트 예시](https://py.hossam.kr/guides/copilot-prompts/)
98
+
99
+ ---
100
+
101
+ ## 📚 전체 문서
102
+
103
+ **완전한 API 문서와 가이드는 [py.hossam.kr](https://py.hossam.kr)에서 확인하세요.**
104
+
105
+ ### 주요 모듈
106
+
107
+ - **hs_plot**: 25+ 시각화 함수 (선 그래프, 산점도, 히스토그램, 박스플롯, 히트맵 등)
108
+ - **hs_stats**: 회귀/분류 분석, 교차검증, 정규성 검정, 상관분석 등
109
+ - **hs_prep**: 결측치 처리, 이상치 탐지, 스케일링, 인코딩
110
+ - **hs_gis**: GIS 데이터 로드 및 시각화 (대한민국 지도 지원)
111
+ - **hs_classroom**: 학습용 이진분류, 다중분류, 회귀 데이터 생성
112
+ - **hs_util**: 예쁜 테이블 출력, 그리드 서치 등
113
+
114
+ 자세한 사용법은 [API 문서](https://py.hossam.kr/api/hossam/)를 참고하세요.
115
+
116
+ ---
117
+
118
+ ## 🎓 예제
119
+
120
+ ### 결측치 분석
121
+
122
+ ```python
123
+ from hossam import hs_prep
124
+
125
+ # 결측치 정보 확인
126
+ hs_prep.hs_missing_values(df)
127
+
128
+ # 결측치 시각화
129
+ hs_prep.hs_missing_values_barplot(df)
130
+ ```
131
+
132
+ ### 회귀 분석
133
+
134
+ ```python
135
+ from hossam import hs_stats
136
+
137
+ # 단순 선형 회귀
138
+ result = hs_stats.hs_simple_regression(df, xname='x', yname='y', plot=True)
139
+ ```
140
+
141
+ ### 상관분석 히트맵
142
+
143
+ ```python
144
+ from hossam import hs_plot
145
+
146
+ hs_plot.heatmap(df=df, annot=True, cmap='coolwarm')
147
+ ```
148
+
149
+ 더 많은 예제는 [문서 사이트](https://py.hossam.kr)를 참고하세요.
150
+
151
+ ---
152
+
153
+ ## 📄 라이선스
154
+
155
+ 이 프로젝트는 MIT 라이선스를 따릅니다. 자유롭게 사용, 수정, 배포할 수 있습니다.
156
+
157
+ ---
158
+
159
+ ## 🔗 링크
160
+
161
+ - **문서**: [py.hossam.kr](https://py.hossam.kr)
162
+ - **PyPI**: [pypi.org/project/hossam](https://pypi.org/project/hossam/)
163
+ - **강사**: 이광호 (ITWILL 머신러닝 및 데이터 분석)
164
+
165
+ ---
166
+
167
+ **Made with ❤️ for Data Science Education**
@@ -5,6 +5,7 @@ from matplotlib import font_manager as fm
5
5
  from importlib.resources import files, as_file
6
6
  from importlib.metadata import version
7
7
  from types import SimpleNamespace
8
+ import sys
8
9
  import warnings
9
10
 
10
11
  try:
@@ -15,14 +16,14 @@ except Exception:
15
16
 
16
17
  hs_fig = SimpleNamespace(
17
18
  dpi=200,
18
- width=600,
19
- height=320,
20
- font_size=6,
19
+ width=800,
20
+ height=480,
21
+ font_size=9.5,
21
22
  font_weight="light",
22
- frame_width=0.4,
23
- line_width=1,
23
+ frame_width=0.5,
24
+ line_width=1.5,
24
25
  grid_alpha=0.3,
25
- grid_width=0.4,
26
+ grid_width=0.5,
26
27
  fill_alpha=0.3
27
28
  )
28
29
 
@@ -56,9 +57,10 @@ def _init_korean_font():
56
57
  "pdf.fonttype": 42,
57
58
  "ps.fonttype": 42,
58
59
  })
59
- print(
60
- "\n✅ 시각화를 위한 한글 글꼴(NotoSansKR-Regular)이 자동 적용되었습니다."
61
- )
60
+ if sys.stdout.isatty():
61
+ print(
62
+ "\n✅ 시각화를 위한 한글 글꼴(NotoSansKR-Regular)이 자동 적용되었습니다."
63
+ )
62
64
  return
63
65
  except Exception as e:
64
66
  warnings.warn(f"\n한글 폰트 초기화: 패키지 폰트 사용 실패 ({e}).")
@@ -76,8 +78,10 @@ def _init():
76
78
  f"🔖 Version: {__version__}",
77
79
  ]
78
80
 
79
- for msg in messages:
80
- print(f"{msg}")
81
+ # MCP/stdio 환경에서는 배너를 출력하지 않음 (stdout TTY일 때만 출력)
82
+ if sys.stdout.isatty():
83
+ for msg in messages:
84
+ print(f"{msg}")
81
85
 
82
86
  _init_korean_font()
83
87