Trawling

개발·오픈소스 · 최신기사

개발 도구와 언어, 웹 기술과 오픈소스 프로젝트의 변화를 다룹니다.

pip 26.3, pylock.toml에서 선택 의존성과 개발 그룹 설치 지원

해설발행

PyPA가 공개한 pip 26.3은 pylock.toml에서 선택 의존성과 비기본 의존성 그룹을 골라 설치하는 기능을 추가했습니다. 여러 구성을 한 잠금 파일에 담으려면 생성 도구가 해당 항목을 기록해야 하며, pip의 pylock 설치 지원은 실험 단계입니다.

2026년 파이썬 타이핑 설문 결과

발행

1,794명이 참여한 2026년 Python Typing Survey에서 타입 힌트 사용률은 최근 3년간 비슷했지만, 타입 검사기 선택은 빠르게 달라졌습니다. 응답자 65.1%가 서드파티 라이브러리의 타입 정보 부족을 어려움으로 꼽았고, AI 도구와 타입 검사기를 함께 쓰는 사례도 늘었습니다.

파이썬 실험적 JIT, CPython에서 제거될 전망

발행

CPython 3.13에 들어간 실험적 JIT의 표준화 제안 PEP 836이 작성자들에 의해 철회됐습니다. Python 운영위원회는 지원 계획과 성능 기준, 호환성·보안 검토가 충분히 구체적이지 않다고 판단했고, JIT 코드는 CPython 주 저장소에서 제거될 전망입니다.

Type Server Protocol: Python 타입 분석 서버 프로토콜

발행

Microsoft가 Python 타입 분석 결과를 구조화된 데이터로 주고받는 JSON-RPC 프로토콜 TSP를 공개했습니다. LSP 연결과 워크스페이스 상태를 활용해 타입·import 정보를 질의하며, 스냅샷과 선택적 읽기 전용 연결로 결과의 유효성과 동시 요청을 관리합니다.

마이크로소프트, 메타와 협력해 VS Code Pylance에 Pyrefly 지원

발행

마이크로소프트가 Language Server Protocol(LSP)을 확장한 Type Server Protocol(TSP)을 공개하고, 메타의 Python 타입 검사기 Pyrefly를 VS Code의 Pylance에서 사용할 수 있게 했습니다. 기본 검사기는 Pyright로 유지되며, 사용자는 Pylance의 편집기 기능과 GitHub Copilot 통합을 그대로 두고 진단 엔진을 선택할 수 있습니다.

Node2Shell이 HTTP2Shell로 확산되다

발행

Brotli 디코더 취약점 CVE-2026-111497은 Node.js뿐 아니라 Python 패키지와 여러 HTTP 구성요소에도 영향을 줍니다. 취약 버전과 패치 방법, Brotli 처리를 잠시 끄는 우회책을 정리합니다.

uv와 ty를 통합하기

발행

Astral이 패키지·환경 관리 도구 uv와 타입 검사기 ty의 실험적 연동을 공개했습니다. PEP 723 스크립트마다 선언된 환경을 기준으로 검사하고, uv check 명령으로 프로젝트 환경 준비와 타입 검사를 한 번에 실행합니다.

개발 로그 #26 libp2p의 깊은 곳에서: DHT 접두사와 Yamux 리셋 수정

발행

Python libp2p에서 Kademlia DHT의 사용자 지정 프로토콜 접두사가 네트워크 통신에 반영되지 않는 버그와 Yamux의 원격 리셋이 정상적인 EOF로 보고되는 버그를 수정하는 PR을 열었습니다. 두 PR은 아직 검토를 기다리고 있으며, Python 3.14 빌드 문제와 Nim 기반 상호 운용성 CI 오류를 포함한 이슈도 등록했습니다.

Nordwand Mono, 코딩을 위한 모노스페이스 글꼴

발행

Nordwand Mono는 Univers의 인상과 JetBrains Mono의 비율을 참고해 Python으로 만든 코딩용 모노스페이스 글꼴입니다. 글리프와 높이 같은 지표를 직접 조정해 글꼴을 생성할 수 있으며, 최소한의 화살표 합자 두 가지를 제공합니다.

def를 async def로 바꿨더니 블로킹 호출 하나가 FastAPI 앱 전체를 멈췄습니다

발행

FastAPI에서 같은 동기식 HTTP 호출도 일반 def 엔드포인트에서는 스레드 풀로 넘어가지만 async def 안에서는 이벤트 루프를 막습니다. 글쓴이는 부하 실험으로 스레드 풀의 기본 한도 40과 CPU 작업에서 asyncio.to_thread가 제한적으로만 효과를 내는 이유를 측정하고, 프로세스 풀과 스택 추적 워치독을 비교합니다.

Python에서 초당 수십 GB의 JSON을 파싱하기

발행

Python 3.14의 GIL 없는 빌드와 simdjson 바인딩 fastsimdjson을 사용해 7.6GB의 GitHub 이벤트 JSON을 처리한 벤치마크입니다. 64개 스레드에서 초당 66GB를 기록했으며, 필요한 필드만 Python 객체로 만드는 지연 뷰가 성능에 큰 영향을 줍니다.

구글에서 9만 달러 규모 원격 코드 실행 취약점을 찾다

자료 요약발행

구글 개발자 문서 사이트의 OAuth 세션 쿠키에서 OAuth client secret과 Flask 서명 키가 함께 노출됐습니다. 공격자는 쿠키를 위조해 서버가 pickle 데이터를 역직렬화하게 만들었고, 여러 DevSite 사이트에서 원격 코드 실행을 입증했습니다.

CPython에 Rust를 도입하는 방안

발행

CPython에 Rust를 점진적으로 도입하는 계획이 Python Language Summit에서 논의됐습니다. 첫 적용 대상으로 zlib 모듈을 검토하며, Python 3.16에서는 선택 기능으로 제공하고 이후 플랫폼 지원과 성능, 개발자 수용도를 평가할 계획입니다.

중복처럼 보였던 테스트가 아홉 번째 버그를 잡았습니다

발행

유한한 오답 구현 목록에서 고유한 실패를 만들지 못한 테스트라도, 목록에 새로운 구현을 추가하면 유일한 검출 수단이 될 수 있습니다. 글은 mutation testing 점수와 테스트 제거 기준이 후보 카탈로그와 테스트 하네스에 의존한다는 점을 Python 실험으로 보여줍니다.

Termux와 Python으로 안드로이드 폰에서 AI 어시스턴트 만들기

발행

컴퓨터 없이 안드로이드 폰의 Termux 환경에서 Python 스크립트와 OpenAI API만으로 동작하는 터미널 AI 어시스턴트를 만드는 입문 튜토리얼입니다. 환경 설정부터 .env 기반 API 키 관리, Responses API 호출까지 전 과정을 다루며, gpt-5-mini가 추론만 반환하는 문제를 피하는 실용적인 팁도 담고 있습니다.