aiteamutils


Nameaiteamutils JSON
Version 0.2.169 PyPI version JSON
download
home_pageNone
SummaryAI Team Utilities
upload_time2025-02-03 03:28:07
maintainerNone
docs_urlNone
authorAI Team
requires_python>=3.8
licenseNone
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"
}
        
Elapsed time: 0.44432s