1P by GN⁺ 18시간전 | ★ favorite | 댓글 1개
  • uv Repo에 PyPy가 활발히 개발되지 않고 있음을 문서에 명시하는 변경이 병합됨
  • 제안자는 numpy 프로젝트의 이슈를 근거로 PyPy가 단계적으로 제외되고 있다고 언급
  • 문서에는 “PyPy는 더 이상 활발히 개발되지 않으며 Python 3.11까지만 지원”이라는 경고 문구가 추가됨
  • 이후 커뮤니티에서는 PyPy 개발자들이 “유지보수는 계속되고 있으나 인력 부족으로 CPython 버전 추적이 어렵다”고 반박 의견을 제시
  • 프로젝트 측은 표현을 초기 “unmaintained”에서 “not actively developed”로 수정하며 상황을 보다 정확히 반영

Pull Request 개요

  • konstinuv 프로젝트 문서에 PyPy 관련 경고 문구를 추가하는 PR을 생성
    • 이유로 “PyPy가 더 이상 활발히 개발되지 않으며 numpy에서도 단계적으로 제외되고 있다”는 점을 명시
    • 공식 성명은 없지만, 관련 numpy 이슈가 PyPy 개발자에 의해 제기되었다고 설명
  • 문서(docs/concepts/python-versions.md)에 다음 내용이 추가됨
    • PyPy는 더 이상 활발히 개발되지 않으며 Python 3.11까지만 지원
  • PR은 4개의 커밋으로 구성되어 2026년 1월 22일 main 브랜치에 병합됨

커뮤니티 논의

  • 일부 기여자들은 경고 문구가 중복되어 보인다고 지적, 이후 한 번만 표시되도록 수정
  • 병합 후 PyPy 커뮤니티와 외부 개발자들이 GitHub 댓글을 통해 반응
    • stuaxo는 PyPy 개발자 발언을 인용하며 “PyPy는 유지보수 중이며, 단지 CPython보다 느릴 뿐”이라고 주장
    • Foxboron은 “병합 전에 PyPy 유지관리자에게 연락했는가”라고 질문
    • vitorsr는 PyPy 핵심 개발자 mattip의 “기여자나 재정 지원이 필요하다”는 발언을 인용
  • HaoZeke는 “논의 없이 병합된 점이 부적절하다”며 PR의 철회 요청

프로젝트 측 대응

  • charliermarsh는 PR 제목을 “unmaintained”에서 “not actively developed”로 변경했다고 설명
  • zanieb는 “numpy 이슈에서 PyPy 핵심 개발자가 직접 ‘활발히 개발되지 않는다’고 언급했다”며 악의적 의도는 없었다고 해명
  • mattip(PyPy 핵심 개발자)은 “현재 표현은 상황을 공정하게 반영한다”며 문구 유지에 동의
    • 단, PyPy가 Python 3.11.15로 업데이트될 경우 PR을 되돌릴 수 있다고 언급

병합 이후 영향

  • 이 변경은 uv 0.9.27 릴리스에 포함되어 문서 업데이트로 반영됨
  • Homebrew 및 여러 자동화 봇이 해당 PR을 참조하며 PyPy 관련 경고가 공식 문서에 포함됨
Hacker News 의견들
  • 나는 PyPy 코어 개발자임. 재정적이든 코드 기여든 도움을 주고 싶은 사람은 연락 방법을 참고해주면 좋겠음
    • 웹사이트에 기부 섹션이 눈에 띄게 있으면 좋겠음. Ladybird 브라우저처럼 단계별 후원 티어를 두는 것도 괜찮을 듯함. 나도 약간의 금액을 후원하려 했는데, 어디서 해야 할지 찾기 어려웠음
    • 방금 기부함. PyPy 팀 모두에게 감사함. 내 앱에서 PyPy를 자주 쓰는데, 계산량이 많은 작업에서 CPython보다 보통 5배 이상 빠름. CPython에서는 5분 걸리던 게 PyPy에서는 몇 초 만에 끝남
    • 또 하나 제안하고 싶은 게 있음. PyPy가 CPU-bound 작업에 빠르다는 건 알지만, I/O-bound 작업에서도 향상된 성능을 보여줄 수 있을 것 같음. HTTP 요청 처리량 같은 벤치마크 페이지를 만들어서 asyncio와 CPython을 비교하면 좋겠음. 웹에서 직접 PyPy 성능을 측정할 수 있는 자동화 도구도 있으면 흥미로울 것 같음
    • 사이트에 유지보수 중단이라는 문구가 크게 표시되어 있음
  • PyPy는 유지보수 중단된 프로젝트가 아님. 버그 수정과 JIT 개선은 계속되고 있음. 다만 남은 핵심 개발자들이 CPython의 빠른 변화 속도를 따라가기엔 역부족임. 새 버전 지원을 위해선 새로운 기여자가 필요함. 다행히 3.12 버전 작업은 새 기여자가 진행 중임
    • CPython은 이제 상업화된 프로젝트처럼 되어버림. 일부 개발자들이 다른 사람을 배척하고, 기업 자금으로 진행된 프로젝트들이 5년 후엔 사라지는 경우가 많음. 똑똑한 사람들은 다 떠났음. unicodeobject.c를 150번째로 다시 쓰는 건 그나마 낫지만, 나머지는 따라가기 힘듦
    • 문서에 병합된 문구가 PR 제목보다 간결함 — “더 이상 적극적으로 개발되지 않음”이라고 되어 있음
  • PyPy는 정말 놀라운 성취임. Microsoft의 Faster CPython 팀이 4년 동안 1.5배 향상에 그친 반면, PyPy는 수십 년째 5배 이상 빠름. 하지만 PyPy의 주된 목표가 연구 프로젝트(meta-tracing, STM 등)에 더 가깝고, CPython 팀이 다른 구현체에 무관심해서 주목을 덜 받는 듯함
    • Python 생태계의 성공은 SciPy, pandas, TensorFlow 같은 C 확장 라이브러리 덕분임. CPython은 C API를 제공해 이런 라이브러리들이 쉽게 속도를 높일 수 있었음. PyPy의 CFFI는 대형 프로젝트들이 채택하기엔 매력이 부족했고, HPy는 너무 늦게 나와 PyPy의 모멘텀이 이미 사라진 뒤였음
    • Faster Python 프로젝트는 더 발전할 수도 있었지만, Microsoft가 작년에 AI 붐을 좇느라 언어 관련 팀을 대거 해고하면서 중단됨
    • 우리는 핵심 시스템 구성요소에서 10년 넘게 PyPy를 프로덕션에 사용하고 있음
    • PyPy는 벤치마크에서는 훌륭하지만, 실제 대규모 개발에서는 호환성 문제가 너무 많음. 대부분의 사람들은 성능 테스트에서는 놀라지만, 실제 앱에서는 실패함. GC가 lazy 방식이라 파일 디스크립터 같은 자원이 제때 해제되지 않아 리소스 고갈이 쉽게 발생함. 이런 중요한 차이가 문서화되어 있지 않은 게 문제임
  • 이름이 헷갈리는 사람들을 위해 정리하자면, PyPI는 Python 패키지 인덱스이고, PyPy는 “빠르고 호환성 높은 Python 대체 구현체”임. 다만 현재 3.12 버전 릴리스는 개발자 부족으로 지연 중임 (관련 토론)
    • 설명 고마움. 특히 ‘uv’ 저장소 이슈에서 PyPi와 PyPy가 섞여서 헷갈렸음
    • Cython과 CPython의 관계가 떠오름
    • mypy는 “Python용 정적 타입 체커”임. PyPy의 RPython도 정적 타입을 다루기 때문에 예전엔 둘을 자주 혼동했음. 최근엔 mypyc도 알게 되어 머릿속에서 연결고리가 완성된 느낌임
    • 이름 짓는 센스가 정말 형편없음
  • “자원봉사 프로젝트로 더 이상 활발히 개발되지 않음”이 “유지보수 중단됨”으로 바뀐 게 흥미로움
    • 참고로 PyPy는 작년 10월 이후 매달 2~4회 커밋이 있고, 마지막 릴리스는 2025년 7월임 (커밋 기록, 태그 목록)
    • PyPy 기여자들에게 존경을 표하지만, “유지보수 중단”이라는 평가는 꽤 공정한 표현 같음
  • PyPy가 사라진다면 정말 아쉬운 일임. 그동안의 유용한 연구 성과들이 CPython으로 옮겨졌기를 바람
    • PyPy에서 시작된 순수 Python REPL이 CPython에서 다듬어졌고, HPy의 교훈도 서서히 CPython에 반영되고 있음. 또 PyPy 덕분에 CPython 표준 라이브러리의 미묘한 버그들이 많이 수정되었음
    • 하지만 접근 방식이 완전히 달라서 대부분의 기술은 CPython으로 직접 이식되지 않았을 것
  • PyPi로 읽고 순간 심장이 멎는 줄 알았음
  • 이제는 RustPython에 시간과 자금을 투자하는 게 더 나을지도 모르겠음 (공식 사이트, GitHub)
    • 하지만 RustPython은 CPython보다 느림, 굳이 쓸 이유가 있을까 싶음
  • 개발에는 결국 돈이 동력임. 왜 의존성 트리 전체의 개발자들에게 기부할 수 있는 시스템이 아직 없을까. 이런 문제가 쌓이다 보면 결국 유지보수가 어려워질 것 같음
  • PyPy 팀의 모든 노력에 감사함. 나도 도울 방법을 찾아볼 예정