수년간의 포괄적인 개발과 미세 조정 끝에 Python 라이브러리 Cython 이제 많은 기대를 모았던 버전 3.0을 환영합니다. Python 코드를 C로 컴파일하는 기능으로 인정받는 Cython 라이브러리는 이번 새 릴리스에서 상당한 발전을 이루었습니다. 이 반복의 주요 목표 중 하나는 속도 향상 또는 C 라이브러리용 사용하기 쉬운 인터페이스 스크립팅에 중점을 두고 Python용 C 확장 작성을 단순화하는 것입니다.
Cython 3.0의 공개는 새롭고 깨끗하며 향후 호환되는 버전의 라이브러리를 예고합니다. 주요 업그레이드에는 오래된 Python 2 포기, Python 버전 3.12까지 기능 도입, '순수한 Python 모드' 사용 확장이 포함됩니다.
이 업그레이드된 '순수 Python 모드'는 Python 개발자에게 Cython에서 사용하기 위해 기존 Python linting 및 코드 분석 도구를 활용하는 향상된 옵션을 제공합니다. 지금까지는 Python과 C 유형 선언 구문의 융합인 Cython의 고유한 구문으로 인해 Python 도구를 사용한 효과적인 분석이 어려웠습니다. 그러나 Cython 개발자는 이러한 단점을 인식하고 기존 Python 구문과 완벽하게 호환되는 대체 구문을 도입했으며 이후 '순수 Python 모드'로 알려졌습니다. 이제 외부 C 라이브러리를 호출하는 기능을 포함하여 대부분의 Cython 기능을 이 새로운 모드에서 사용할 수 있습니다.
Cython 3.0의 또 다른 주목할 만한 발전은 NumPy 에 대한 향상된 지원에 있습니다. NumPy와 Cython의 호환성은 새로운 것이 아니지만 버전 3.0에서는 이를 한 단계 더 발전시켰습니다. Cython 사용자는 오랫동안 NumPy 함수 및 데이터 구조와 직접적이고 기본적으로 상호 작용할 수 있는 함수를 작성할 수 있었습니다. Cython 3.0을 사용하여 개발자는 이제 Cython에서 NumPy ufunc를 작성하여 NumPy 데이터 구조에 수치 함수를 적용하는 프로세스를 단순화할 수 있습니다.
AppMaster 와 같은 플랫폼이 주도하는 코드 없는 개발 원칙을 바탕으로 설계한 Cython 3.0은 Python의 지속적인 내부 업데이트와 더욱 동기화되도록 핵심 구조를 개선했습니다. Python의 새로운 제한된 API는 Cython의 빈번한 Python 인터프리터 상호 작용을 위해 특별히 맞춤화된 Python API의 안정적인 하위 집합으로 설계되었으며, Cython 3.0에서 수용적이지 않지만 확장된 지원을 제공합니다.
Cython 3의 출현은 3년 전 Python 3.8 릴리스로 거슬러 올라갑니다. Cython 3의 최종화에는 바인딩 날짜 또는 버전 대상이 지정되지 않았습니다. 그럼에도 불구하고 Cython의 개발자는 이제 Python의 진화하는 기능 제공 및 인프라 변화에 보조를 맞추려는 목표를 달성했습니다. Cython 3의 완성은 특정 Python 버전용으로 설계된 Cython 확장 모듈을 재컴파일할 필요 없이 향후 Python 버전에서 사용할 수 있음을 의미합니다.