youngjin-langchain-tools 0.1.1__tar.gz → 0.1.2__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.
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: youngjin-langchain-tools
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: LangGraph utilities for Streamlit - StreamlitLanggraphHandler and more
5
5
  Project-URL: Homepage, https://github.com/yourusername/youngjin-langchain-tools
6
6
  Project-URL: Documentation, https://github.com/yourusername/youngjin-langchain-tools#readme
7
7
  Project-URL: Repository, https://github.com/yourusername/youngjin-langchain-tools.git
8
8
  Project-URL: Issues, https://github.com/yourusername/youngjin-langchain-tools/issues
9
9
  Project-URL: Changelog, https://github.com/yourusername/youngjin-langchain-tools/releases
10
- Author-email: YoungJin <your-email@example.com>
11
- Maintainer-email: YoungJin <your-email@example.com>
10
+ Author-email: CoCoRoF <gkfua00@gmail.com>
11
+ Maintainer-email: CoCoRoF <gkfua00@gmail.com>
12
12
  License: Apache-2.0
13
13
  License-File: LICENSE
14
14
  Keywords: agents,ai,callback,handler,langchain,langgraph,llm,streamlit
@@ -16,12 +16,13 @@ Classifier: Development Status :: 3 - Alpha
16
16
  Classifier: Intended Audience :: Developers
17
17
  Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
19
21
  Classifier: Programming Language :: Python :: 3.12
20
22
  Classifier: Programming Language :: Python :: 3.13
21
- Classifier: Programming Language :: Python :: 3.14
22
23
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
23
24
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
- Requires-Python: >=3.12
25
+ Requires-Python: >=3.10
25
26
  Requires-Dist: langchain-core<1.2.7,>=1.0.0
26
27
  Requires-Dist: langchain<1.2.7,>=1.0.0
27
28
  Requires-Dist: pydantic>=2.0.0
@@ -4,16 +4,16 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "youngjin-langchain-tools"
7
- version = "0.1.1"
7
+ version = "0.1.2"
8
8
  description = "LangGraph utilities for Streamlit - StreamlitLanggraphHandler and more"
9
9
  readme = "README.md"
10
- requires-python = ">=3.12"
10
+ requires-python = ">=3.10"
11
11
  license = {text = "Apache-2.0"}
12
12
  authors = [
13
- {name = "YoungJin", email = "your-email@example.com"},
13
+ {name = "CoCoRoF", email = "gkfua00@gmail.com"},
14
14
  ]
15
15
  maintainers = [
16
- {name = "YoungJin", email = "your-email@example.com"},
16
+ {name = "CoCoRoF", email = "gkfua00@gmail.com"},
17
17
  ]
18
18
  keywords = [
19
19
  "langchain",
@@ -30,9 +30,10 @@ classifiers = [
30
30
  "Intended Audience :: Developers",
31
31
  "License :: OSI Approved :: Apache Software License",
32
32
  "Programming Language :: Python :: 3",
33
+ "Programming Language :: Python :: 3.10",
34
+ "Programming Language :: Python :: 3.11",
33
35
  "Programming Language :: Python :: 3.12",
34
36
  "Programming Language :: Python :: 3.13",
35
- "Programming Language :: Python :: 3.14",
36
37
  "Topic :: Software Development :: Libraries :: Python Modules",
37
38
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
38
39
  ]
@@ -82,13 +83,13 @@ exclude = [
82
83
 
83
84
  [tool.ruff]
84
85
  line-length = 88
85
- target-version = "py312"
86
+ target-version = "py310"
86
87
 
87
88
  [tool.ruff.lint]
88
89
  select = ["E", "F", "W", "I", "N", "UP", "B", "C4"]
89
90
 
90
91
  [tool.mypy]
91
- python_version = "3.12"
92
+ python_version = "3.10"
92
93
  warn_return_any = true
93
94
  warn_unused_configs = true
94
95
  disallow_untyped_defs = true
@@ -22,38 +22,33 @@ logger = logging.getLogger(__name__)
22
22
  # ============================================================
23
23
  ERROR_PATTERNS = {
24
24
  # OpenAI errors
25
- r"AuthenticationError.*API key": {
26
- "title": "🔑 API Key 오류",
27
- "message": "API 키가 설정되지 않았거나 유효하지 않습니다.",
25
+ r"AuthenticationError.*API key|openai.*api.*key|OPENAI_API_KEY": {
26
+ "title": "🔑 OpenAI API Key 오류",
27
+ "message": "OpenAI API 키가 설정되지 않았거나 유효하지 않습니다.",
28
28
  "solution": [
29
- "1. `.env` 파일에 `OPENAI_API_KEY=sk-...` 형태로 키를 설정하세요.",
30
- "2. 또는 코드 상단에 직접 API 키를 입력하세요.",
31
- "3. API 키는 https://platform.openai.com/api-keys 에서 발급받을 수 있습니다.",
29
+ "환경변수 `OPENAI_API_KEY`를 설정하거나 클라이언트 초기화 시 `api_key` 파라미터를 전달하세요.",
30
+ "API 발급: https://platform.openai.com/api-keys",
32
31
  ],
33
32
  },
34
33
  r"RateLimitError|rate_limit|429": {
35
34
  "title": "⏱️ Rate Limit 초과",
36
35
  "message": "API 요청 한도를 초과했습니다.",
37
36
  "solution": [
38
- "1. 잠시 후 다시 시도해주세요.",
39
- "2. API 사용량을 확인하세요: https://platform.openai.com/usage",
40
- "3. 필요시 요금제를 업그레이드하세요.",
37
+ "잠시 후 다시 시도하거나, API 사용량 및 요금제를 확인하세요.",
41
38
  ],
42
39
  },
43
40
  r"InsufficientQuotaError|insufficient_quota|billing": {
44
41
  "title": "💳 크레딧 부족",
45
42
  "message": "API 크레딧이 부족합니다.",
46
43
  "solution": [
47
- "1. 결제 정보를 확인하세요: https://platform.openai.com/account/billing",
48
- "2. 크레딧을 충전하세요.",
44
+ "API 제공자의 결제 페이지에서 크레딧을 충전하세요.",
49
45
  ],
50
46
  },
51
47
  r"InvalidRequestError|invalid_request": {
52
48
  "title": "❌ 잘못된 요청",
53
49
  "message": "API 요청 형식이 올바르지 않습니다.",
54
50
  "solution": [
55
- "1. 입력 데이터를 확인하세요.",
56
- "2. 모델명이 올바른지 확인하세요.",
51
+ "입력 데이터와 모델명이 올바른지 확인하세요.",
57
52
  ],
58
53
  },
59
54
  # Anthropic errors
@@ -61,8 +56,8 @@ ERROR_PATTERNS = {
61
56
  "title": "🔑 Anthropic API Key 오류",
62
57
  "message": "Anthropic API 키가 설정되지 않았거나 유효하지 않습니다.",
63
58
  "solution": [
64
- "1. `.env` 파일에 `ANTHROPIC_API_KEY=sk-ant-...` 형태로 키를 설정하세요.",
65
- "2. API 키는 https://console.anthropic.com/ 에서 발급받을 수 있습니다.",
59
+ "환경변수 `ANTHROPIC_API_KEY`를 설정하세요.",
60
+ "API 발급: https://console.anthropic.com/",
66
61
  ],
67
62
  },
68
63
  # Google errors
@@ -70,8 +65,8 @@ ERROR_PATTERNS = {
70
65
  "title": "🔑 Google API Key 오류",
71
66
  "message": "Google API 키가 설정되지 않았거나 유효하지 않습니다.",
72
67
  "solution": [
73
- "1. `.env` 파일에 `GOOGLE_API_KEY=...` 형태로 키를 설정하세요.",
74
- "2. API 키는 https://aistudio.google.com/apikey 에서 발급받을 수 있습니다.",
68
+ "환경변수 `GOOGLE_API_KEY`를 설정하세요.",
69
+ "API 발급: https://aistudio.google.com/apikey",
75
70
  ],
76
71
  },
77
72
  # Network errors
@@ -79,18 +74,14 @@ ERROR_PATTERNS = {
79
74
  "title": "🌐 네트워크 오류",
80
75
  "message": "API 서버에 연결할 수 없습니다.",
81
76
  "solution": [
82
- "1. 인터넷 연결을 확인하세요.",
83
- "2. 방화벽/프록시 설정을 확인하세요.",
84
- "3. API 서버 상태를 확인하세요.",
77
+ "인터넷 연결 및 방화벽/프록시 설정을 확인하세요.",
85
78
  ],
86
79
  },
87
80
  r"TimeoutError|timeout|timed out": {
88
81
  "title": "⏰ 시간 초과",
89
82
  "message": "API 요청이 시간 초과되었습니다.",
90
83
  "solution": [
91
- "1. 네트워크 연결을 확인하세요.",
92
- "2. 잠시 후 다시 시도해주세요.",
93
- "3. 요청 크기를 줄여보세요.",
84
+ "네트워크 연결을 확인하고 잠시 후 다시 시도하세요.",
94
85
  ],
95
86
  },
96
87
  # Model errors
@@ -98,9 +89,7 @@ ERROR_PATTERNS = {
98
89
  "title": "🤖 모델 오류",
99
90
  "message": "지정된 모델을 찾을 수 없습니다.",
100
91
  "solution": [
101
- "1. 모델명이 올바른지 확인하세요.",
102
- "2. 해당 모델에 대한 접근 권한이 있는지 확인하세요.",
103
- "3. 사용 가능한 모델 목록을 확인하세요.",
92
+ "모델명과 접근 권한을 확인하세요.",
104
93
  ],
105
94
  },
106
95
  }