InfoGrab DocsInfoGrab Docs

새 Python 프로젝트 생성

새 Python 리포지터리를 생성할 때 코드를 표준화하기 위한 권장 라이브러리, 폴더 구조, 린터 구성 및 GitLab CI 예시를 설명합니다.

새 Python 리포지터리를 생성할 때, 코드를 표준화하는 데 도움이 되는 몇 가지 가이드라인이 있습니다. 권장 라이브러리 # 개발 및 테스트 # pytest : 테스트를 작성하고 실행하기 위한 기본 테스트 프레임워크. pytest-cov : pytest 용 테스트 커버리지 리포팅 플러그인. black : 일관된 코드 스타일을 보장하는 독단적인 코드 포매터. flake8 : 스타일 준수를 위한 린터. pylint : 오류 탐지 및 품질 강화를 위한 종합 린터. mypy : 정적 타입 검사기. isort : import 문을 정렬하는 유틸리티. 패키지 매니저 및 빌드 시스템 # poetry : 현대적인 패키징 및 의존성 관리 도구. 공통 유틸리티 # typer : CLI 애플리케이션 구축을 위한 라이브러리. python-dotenv : 환경 변수 관리 도구. pydantic : Python 타입 어노테이션을 사용한 데이터 유효성 검사 및 설정 관리. fastapi : API 구축을 위한 현대적이고 고성능의 웹 프레임워크. structlog : 구조화된 로깅 라이브러리. httpx : 비동기적이고 성능이 뛰어난 HTTP 클라이언트. rich : 리치 텍스트를 위한 터미널 포매팅 라이브러리. sqlmodel : 직관적이고 견고한 ORM. tqdm : CLI용 빠르고 확장 가능한 진행 바. 권장 폴더 구조 # 프로젝트 유형(예: API 서비스, CLI 애플리케이션 또는 라이브러리)에 따라 폴더 구조가 달라질 수 있습니다. 다음은 표준 CLI 애플리케이션을 위한 구조입니다. project_name/ ├── .gitlab/ # GitLab-specific configuration │ ├── issue_templates/ # Issue templates │ └── merge_request_templates/ # MR templates ├── .gitlab-ci.yml # CI/CD configuration ├── project_name/ # Main package directory │ ├── __init__.py # Package initialization │ ├── cli.py # Command-line interface entry points │ ├── config.py # Configuration handling │ └── core/ # Core functionality │ └── __init__.py ├── tests/ # Test directory │ ├── __init__.py │ ├── conftest.py # pytest fixtures and configuration │ └── test_*.py # Test modules ├── docs/ # Documentation ├── scripts/ # Utility scripts ├── README.md # Project overview ├── CONTRIBUTING.md # Contribution guidelines ├── LICENSE # License information ├── pyp