피드로 돌아가기
Stop shipping a 1990s C library to compute planets. Xalen is the pure-Rust, Apache-2.0 replacement for Swiss Ephemeris.
Dev.toDev.to
Backend

NASA DE440 수준 정밀도를 구현한 Pure-Rust 천체 계산 엔진 Xalen

Stop shipping a 1990s C library to compute planets. Xalen is the pure-Rust, Apache-2.0 replacement for Swiss Ephemeris.

Xalen Technologies2026년 6월 3일6advanced

Context

1990년대 C 기반의 Swiss Ephemeris 의존성으로 인한 런타임 바이너리 데이터 파일(.se1) 관리 부담 및 AGPL 라이선스 제약 발생. C Toolchain 기반의 복잡한 빌드 과정과 메모리 안전성 부재가 현대적 인프라 도입의 병목 지점으로 작용.

Technical Solution

  • Pure-Rust 기반 Clean-room 구현을 통한 C Toolchain 및 외부 바이너리 데이터 파일 의존성 완전 제거
  • Core Engine 내 unsafe 코드 배제를 통한 메모리 안전성 확보 및 Thread-safe 구조 설계
  • VSOP87, ELP-2000/82 등 표준 천체 이론을 직접 구현하여 분석적 계산 엔진(Analytical Engine) 구축
  • 고정밀도가 필요한 경우에만 선택적으로 로드하는 DE440 Kernel 옵션 제공을 통한 유연한 리소스 관리
  • pyswisseph API와의 호환 레이어 설계를 통한 기존 코드베이스의 Zero-effort Migration 지원
  • Rust Core 기반의 FFI, Node, WASM 바인딩 제공으로 단일 코드베이스 기반의 멀티 플랫폼 대응

1. 외부 바이너리 데이터 파일 의존성이 배포 파이프라인의 복잡도를 높이는지 검토

2. AGPL 등 Copyleft 라이선스 기반의 핵심 라이브러리를 Apache-

2.0 등 허용적 라이선스로 대체 가능한지 분석

3. 레거시 마이그레이션 시 기존 API 시그니처를 그대로 유지하는 Wrapper 레이어 설계 고려

4. 정밀도가 중요한 엔진 개발 시 Oracle(기준점)을 설정한 대규모 무작위 샘플링 검증 자동화 구축

원문 읽기