Name | aiteamutils JSON |
Version |
0.2.169
JSON |
| download |
home_page | None |
Summary | AI Team Utilities |
upload_time | 2025-02-03 03:28:07 |
maintainer | None |
docs_url | None |
author | AI Team |
requires_python | >=3.8 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# AI Team Utils
AI Team의 공통 유틸리티 패키지입니다.
## 설치 방법
```bash
pip install aiteamutils
```
## 사용 예시
```python
from aiteamutils.database import DatabaseService
# DB 서비스 초기화
db_service = DatabaseService("postgresql+asyncpg://user:pass@localhost/db")
# DB 세션 사용
async with db_service.get_db() as session:
# DB 작업 수행
pass
# 트랜잭션 사용
async with db_service.transaction():
# 트랜잭션 내 작업 수행
result = await db_service.create_entity(UserModel, {"name": "test"})
# 예외 처리
from aiteamutils.exceptions import CustomException, ErrorCode
try:
# 작업 수행
pass
except CustomException as e:
# 에러 처리
print(e.to_dict())
```
## 주요 기능
- 데이터베이스 유틸리티
- 세션 관리
- 트랜잭션 관리
- 기본 CRUD 작업
- 외래키 검증
- 유니크 필드 검증
- 인증/인가 유틸리티
- JWT 토큰 관리
- 비밀번호 해싱
- Rate Limiting
- 예외 처리
- 표준화된 에러 코드
- 에러 체인 추적
- 로깅 통합
- 공통 모델
- 기본 모델 클래스
- 타입 검증
- 유효성 검사
Raw data
{
"_id": null,
"home_page": null,
"name": "aiteamutils",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "AI Team",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c4/d4/79239166939ba0edd78e4ab1da6f76e478a7ee420e36cf084b8763950faf/aiteamutils-0.2.169.tar.gz",
"platform": null,
"description": "# AI Team Utils\n\nAI Team\uc758 \uacf5\ud1b5 \uc720\ud2f8\ub9ac\ud2f0 \ud328\ud0a4\uc9c0\uc785\ub2c8\ub2e4.\n\n## \uc124\uce58 \ubc29\ubc95\n\n```bash\npip install aiteamutils\n```\n\n## \uc0ac\uc6a9 \uc608\uc2dc\n\n```python\nfrom aiteamutils.database import DatabaseService\n\n# DB \uc11c\ube44\uc2a4 \ucd08\uae30\ud654\ndb_service = DatabaseService(\"postgresql+asyncpg://user:pass@localhost/db\")\n\n# DB \uc138\uc158 \uc0ac\uc6a9\nasync with db_service.get_db() as session:\n # DB \uc791\uc5c5 \uc218\ud589\n pass\n\n# \ud2b8\ub79c\uc7ad\uc158 \uc0ac\uc6a9\nasync with db_service.transaction():\n # \ud2b8\ub79c\uc7ad\uc158 \ub0b4 \uc791\uc5c5 \uc218\ud589\n result = await db_service.create_entity(UserModel, {\"name\": \"test\"})\n\n# \uc608\uc678 \ucc98\ub9ac\nfrom aiteamutils.exceptions import CustomException, ErrorCode\n\ntry:\n # \uc791\uc5c5 \uc218\ud589\n pass\nexcept CustomException as e:\n # \uc5d0\ub7ec \ucc98\ub9ac\n print(e.to_dict())\n```\n\n## \uc8fc\uc694 \uae30\ub2a5\n\n- \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud2f8\ub9ac\ud2f0\n - \uc138\uc158 \uad00\ub9ac\n - \ud2b8\ub79c\uc7ad\uc158 \uad00\ub9ac\n - \uae30\ubcf8 CRUD \uc791\uc5c5\n - \uc678\ub798\ud0a4 \uac80\uc99d\n - \uc720\ub2c8\ud06c \ud544\ub4dc \uac80\uc99d\n\n- \uc778\uc99d/\uc778\uac00 \uc720\ud2f8\ub9ac\ud2f0\n - JWT \ud1a0\ud070 \uad00\ub9ac\n - \ube44\ubc00\ubc88\ud638 \ud574\uc2f1\n - Rate Limiting\n\n- \uc608\uc678 \ucc98\ub9ac\n - \ud45c\uc900\ud654\ub41c \uc5d0\ub7ec \ucf54\ub4dc\n - \uc5d0\ub7ec \uccb4\uc778 \ucd94\uc801\n - \ub85c\uae45 \ud1b5\ud569\n\n- \uacf5\ud1b5 \ubaa8\ub378\n - \uae30\ubcf8 \ubaa8\ub378 \ud074\ub798\uc2a4\n - \ud0c0\uc785 \uac80\uc99d\n - \uc720\ud6a8\uc131 \uac80\uc0ac ",
"bugtrack_url": null,
"license": null,
"summary": "AI Team Utilities",
"version": "0.2.169",
"project_urls": {
"Homepage": "https://github.com/yourusername/aiteamutils",
"Issues": "https://github.com/yourusername/aiteamutils/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c79e3c2b234db96dee4c27232d3d5cb618b09c1b28d58f2070b58b3a52f13d9a",
"md5": "1e68bac26bd0c8efd2a83a432fb9629c",
"sha256": "6caf8498fb906bb34220702036182e3084bec04c16f5af0652458529e84c0616"
},
"downloads": -1,
"filename": "aiteamutils-0.2.169-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1e68bac26bd0c8efd2a83a432fb9629c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30900,
"upload_time": "2025-02-03T03:28:05",
"upload_time_iso_8601": "2025-02-03T03:28:05.528932Z",
"url": "https://files.pythonhosted.org/packages/c7/9e/3c2b234db96dee4c27232d3d5cb618b09c1b28d58f2070b58b3a52f13d9a/aiteamutils-0.2.169-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c4d479239166939ba0edd78e4ab1da6f76e478a7ee420e36cf084b8763950faf",
"md5": "607ed1f3e1cc5a4b46eac31876a25c19",
"sha256": "f99ea40e433c28ac6c822a03312935c93a02bb935ea1a14b3c5387277f94cfcb"
},
"downloads": -1,
"filename": "aiteamutils-0.2.169.tar.gz",
"has_sig": false,
"md5_digest": "607ed1f3e1cc5a4b46eac31876a25c19",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 25613,
"upload_time": "2025-02-03T03:28:07",
"upload_time_iso_8601": "2025-02-03T03:28:07.169563Z",
"url": "https://files.pythonhosted.org/packages/c4/d4/79239166939ba0edd78e4ab1da6f76e478a7ee420e36cf084b8763950faf/aiteamutils-0.2.169.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-03 03:28:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "aiteamutils",
"github_not_found": true,
"lcname": "aiteamutils"
}