1P by xguru 23시간전 | ★ favorite | 댓글과 토론
  • Python 생태계의 lint·포맷터·타입체커·커버리지 도구들이 사용하는 특수 주석(action comment)을 하나의 표준으로 통합하기 위해 제안된 라이브러리
  • # noqa, # fmt: off, # type: ignore처럼 사실상 관행이지만 표준은 없는 주석 문법의 혼란을 해결하는 데 목적
  • Python 문법의 부분집합을 사용하는 경량 주석 언어(metacode) 정의
    • key: action[arguments] 형태로 도구·동작·인자를 명확히 분리
  • 하나의 코드 라인에 여러 도구용 주석을 안전하게 공존시키는 구조 지원
    • # type: ignore # fmt: off 같은 조합 처리 가능
  • 주석 파싱을 위한 공식 파서(parse) 를 제공, 각 도구가 제각각 구현하던 문자열·정규식 파싱 로직 제거
  • 인자 타입으로 문자열, 숫자, bool, None, ellipsis 등을 지원하며, 필요 시 AST 기반 확장 파싱 가능
  • 특정 key만 선택적으로 파싱할 수 있어 도구별 주석 분리 처리에 적합
  • 주석을 자동으로 생성·삽입하는 insert API 제공
  • 문법 자체는 Python에 종속되지 않도록 EBNF 형태로 명세화되어 타 언어 구현도 가능