위키득계정 ↗
기술

Scikit-build-core

Scikit-build-core기술
분류
Python 빌드 백엔드
빌드 도구
CMake
주요 대상
네이티브 확장 모듈 등
설정 파일
pyproject.toml
Scikit-build-core는 CMake를 사용해 확장 모듈을 빌드하는 Python 빌드 백엔드다. Python 패키징 설정과 CMake의 빌드 구성을 연결하며 pyproject.toml에서 동작을 설정할 수 있다.

CMake와 Python 패키징 연결

C나 C++ 등의 코드로 만든 확장 모듈을 Python 패키지에 담으려면 컴파일 과정과 패키징 과정을 함께 구성해야 한다. Scikit-build-core는 CMake의 빌드 기능을 Python의 빌드 백엔드 인터페이스에 연결한다. 과학 계산의 요구에서 출발했지만 CMake를 사용하는 다른 패키지에도 적용할 수 있다.

기존 Scikit-build와의 차이

Setuptools 기반의 기존 Scikit-build를 처음부터 다시 구현한 도구다. 직접 백엔드로 사용할 때 Setuptools나 Distutils, Wheel 패키지에 의존하지 않는 구조이며 필요한 경우에만 CMake와 Ninja를 추가로 준비한다. 이름이 비슷하더라도 기존 구현의 구성 방식과 같다고 가정해서는 안 된다.

빌드 대상과 출력 조정

설정 파일과 빌드 프런트엔드의 설정 전달 기능, 환경 변수로 동작을 조정할 수 있다. 빌드 대상과 설치 구성 요소를 선택하거나 wheel의 추가 폴더에 내용을 쓰는 기능도 제공한다. 빌드가 완료된 뒤에는 확장 모듈과 필요한 데이터가 배포 파일의 올바른 위치에 들어갔는지 확인해야 한다.

관련 문서

Cibuildwheel / CMake / Ninja / Python Build / Setuptools