Skip to content

[DX] Add Python linter, formatter, and type checker to ML Server #29

@fregataa

Description

@fregataa

Summary

ML Server(Python)에 코드 품질 도구 추가

Current State

  • Frontend: Biome 설정됨 (linter + formatter)
  • API Server (Go): go fmt, go vet 사용 가능
  • ML Server (Python): 설정 없음

Proposed Tools

Ruff (Linter + Formatter)

  • 빠른 속도 (Rust 기반)
  • ESLint + Black + isort 통합 대체
  • pyproject.toml로 설정

Pyright (Type Checker)

  • Microsoft 개발, VS Code Python 확장에서 사용
  • mypy보다 빠르고 정확한 타입 추론
  • strict 모드 지원

Tasks

  • Ruff 설치 및 pyproject.toml 설정
  • Pyright 설치 및 pyrightconfig.json 설정
  • 기존 코드 린팅/포매팅 적용
  • 타입 힌트 추가 및 타입 체크 통과
  • pre-commit hook 설정 (선택)
  • CI 파이프라인에 체크 추가 (선택)

Configuration Example

# pyproject.toml
[tool.ruff]
target-version = "py311"
line-length = 100

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM"]

[tool.ruff.format]
quote-style = "double"
// pyrightconfig.json
{
  "include": ["app"],
  "typeCheckingMode": "standard",
  "pythonVersion": "3.11"
}

Labels

  • enhancement
  • dx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions