AI 지식 / / 2025. 5. 31. 14:29

ty: 초고속 Python 타입 검사기 (ty - An extremely fast Python type checker)

출처: https://github.com/astral-sh/ty


프로젝트 소개

ty는 Rust로 개발된, 매우 빠른 Python 타입 검사기(type checker) 및 언어 서버(language server)입니다. Astral 팀이 Python 생태계의 생산성을 극대화하기 위해 만든 차세대 개발 도구로, 대규모 코드베이스에서도 빠른 타입 체크와 개발자 경험을 제공합니다.

⚠️ 현재 ty는 프리뷰(preview) 단계로, 프로덕션 환경에서 사용하기에는 아직 준비가 덜 되어 있습니다. 개발팀은 ty를 더욱 안정적이고 완전한 기능을 갖추도록 작업 중입니다. 그때까지는 버그, 누락된 기능, 치명적인 오류가 발생할 수 있습니다.


설치 방법 (Installation)

가장 빠르게 ty를 사용해보고 싶다면, 온라인 플레이그라운드를 이용하거나 아래와 같이 uvx 명령어로 실행할 수 있습니다.

uvx ty

다른 설치 방법이나 상세 안내는 공식 설치 문서를 참고하세요.


사용법 (Usage)

아무런 서브커맨드(subcommand) 없이 ty를 실행하면, 사용 가능한 명령어 목록이 표시됩니다. 자세한 명령어 옵션은 CLI 레퍼런스를 참고하세요.

타입 검사 실행

check 명령어를 사용하여 타입 검사를 실행할 수 있습니다.

uvx ty check
  • ty는 현재 작업 디렉터리 및 하위 디렉터리의 모든 Python 파일을 검사합니다.
  • 프로젝트 내에서 실행하면, 프로젝트 루트(예: pyproject.toml이 있는 디렉터리)부터 모든 Python 파일을 검사합니다.

특정 파일만 검사하려면 경로를 지정하세요:

uvx ty check example.py

가상환경 지원

타입 검사 시, ty는 활성화된 가상환경(VIRTUAL_ENV) 또는 프로젝트 루트/작업 디렉터리의 .venv를 자동으로 인식합니다. 가상환경이 아닌 경로의 패키지를 검사하려면 --python 옵션으로 타겟 경로를 지정해야 합니다. 자세한 내용은 모듈 디스커버리(module discovery) 문서를 참고하세요.


주요 특징 (Key Features)

  • 초고속 타입 검사: Rust 기반으로 구현되어 대규모 프로젝트에서도 빠른 속도를 자랑합니다.
  • 언어 서버 지원: LSP(Language Server Protocol)를 지원하여 다양한 에디터와 연동이 가능합니다.
  • 가상환경 자동 인식: Python 개발에서 흔히 사용하는 가상환경을 자동으로 감지합니다.
  • 간편한 CLI: 직관적인 명령어와 옵션으로 누구나 쉽게 사용할 수 있습니다.
  • 오픈소스: MIT 라이선스로 자유롭게 사용 및 기여가 가능합니다.

더 알아보기 (Learn More)

  • 공식 문서 및 예제: https://github.com/astral-sh/ty/tree/main/docs
  • 질문/버그 제보: GitHub 이슈 등록
  • 개발 참여: 현재 Ruff 저장소에서 개발이 진행 중이며, Rust 소스코드 변경 등은 Ruff 저장소에 PR을 보내야 합니다.

마치며

ty는 Python 개발자에게 새로운 타입 검사 경험을 제공합니다. Rust의 성능과 Python 생태계의 유연함을 결합한 이 도구는, 앞으로 Python 프로젝트의 품질과 생산성을 크게 높여줄 것으로 기대됩니다. 빠른 타입 체크, 쉬운 설치, 오픈소스의 자유로움을 모두 경험해보세요!


본 글은 astral-sh/ty 공식 GitHub 저장소docs 내용을 바탕으로 작성되었습니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유